@charset "UTF-8";
/************** ************ **************/
/************** Variables CW **************/
/************** ************ **************/
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap");
/************** ****************** **************/
/**************  **************/
/************** ****************** **************/
/************** GLOBALE **************/
/************** LOGO / BRAND **************/
/************** ONLGET **************/
/************** MENU DEROULANT **************/
/************** TOGGLER **************/
/************** ****** **************/
/************** OPTION **************/
/************** ****** **************/
/************** ******* **************/
/************** COULEUR **************/
/************** ******* **************/
/************** *********** **************/
/************** TYPOGRAPHIE **************/
/************** *********** **************/
/************** ************ **************/
/************** Variables CW **************/
/************** ************ **************/
/*!
 * Bootstrap v4.6.0 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #818181;
  --gray-dark: #343434;
  --primary: #F58422;
  --secondary: #007FFF;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f9f9f9;
  --dark: #111;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

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

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

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

body {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  color: #343434;
  text-align: left;
  background-color: #fff; }

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

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

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

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

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

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

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

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

dt {
  font-weight: 700; }

dd {
  margin-bottom: .5rem;
  margin-left: 0; }

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

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

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #007FFF;
  text-decoration: none;
  background-color: transparent; }
  a:hover {
    color: #3399ff;
    text-decoration: none; }

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

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

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

figure {
  margin: 0 0 1rem; }

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

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

table {
  border-collapse: collapse; }

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

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

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

button {
  border-radius: 0; }

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

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

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

[role="button"] {
  cursor: pointer; }

select {
  word-wrap: normal; }

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

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

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

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

textarea {
  overflow: auto;
  resize: vertical; }

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

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

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

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

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

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

output {
  display: inline-block; }

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

template {
  display: none; }

[hidden] {
  display: none !important; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.6rem;
  font-weight: 500;
  line-height: 1.3; }

h1, .h1 {
  font-size: 2.2rem; }

h2, .h2 {
  font-size: 1.7rem; }

h3, .h3 {
  font-size: 1.25rem; }

h4, .h4 {
  font-size: 1.15rem; }

h5, .h5 {
  font-size: 1.1rem; }

h6, .h6 {
  font-size: 1rem; }

.lead {
  font-size: 1.25rem;
  font-weight: 300; }

.display-1 {
  font-size: 6rem;
  font-weight: 300;
  line-height: 1.3; }

.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.3; }

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.3; }

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.3; }

hr {
  margin-top: 1.8rem;
  margin-bottom: 1.8rem;
  border: 0;
  border-top: 1px solid #e9e9e9; }

small,
.small {
  font-size: 80%;
  font-weight: 400; }

mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3; }

.list-unstyled {
  padding-left: 0;
  list-style: none; }

.list-inline {
  padding-left: 0;
  list-style: none; }

.list-inline-item {
  display: inline-block; }
  .list-inline-item:not(:last-child) {
    margin-right: 0.5rem; }

.initialism {
  font-size: 90%;
  text-transform: uppercase; }

.blockquote {
  margin-bottom: 0.6rem;
  font-size: 1.25rem; }

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #818181; }
  .blockquote-footer::before {
    content: "\2014\00A0"; }

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

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dedede;
  border-radius: 0.313rem;
  max-width: 100%;
  height: auto; }

.figure {
  display: inline-block; }

.figure-img {
  margin-bottom: 0.3rem;
  line-height: 1; }

.figure-caption {
  font-size: 90%;
  color: #818181; }

code {
  font-size: 87.5%;
  color: #e83e8c;
  word-wrap: break-word; }
  a > code {
    color: inherit; }

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #181818;
  border-radius: 0.1565rem; }
  kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: 700; }

pre {
  display: block;
  font-size: 87.5%;
  color: #181818; }
  pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal; }

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll; }

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

@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 540px; } }

@media (min-width: 768px) {
  .container, .container-sm, .container-md {
    max-width: 720px; } }

@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 960px; } }

@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1140px; } }

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px; }

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

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .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, .col-sm,
.col-sm-auto, .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, .col-md,
.col-md-auto, .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, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  order: -1; }

.order-last {
  order: 13; }

.order-0 {
  order: 0; }

.order-1 {
  order: 1; }

.order-2 {
  order: 2; }

.order-3 {
  order: 3; }

.order-4 {
  order: 4; }

.order-5 {
  order: 5; }

.order-6 {
  order: 6; }

.order-7 {
  order: 7; }

.order-8 {
  order: 8; }

.order-9 {
  order: 9; }

.order-10 {
  order: 10; }

.order-11 {
  order: 11; }

.order-12 {
  order: 12; }

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .row-cols-sm-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .row-cols-sm-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-sm-first {
    order: -1; }
  .order-sm-last {
    order: 13; }
  .order-sm-0 {
    order: 0; }
  .order-sm-1 {
    order: 1; }
  .order-sm-2 {
    order: 2; }
  .order-sm-3 {
    order: 3; }
  .order-sm-4 {
    order: 4; }
  .order-sm-5 {
    order: 5; }
  .order-sm-6 {
    order: 6; }
  .order-sm-7 {
    order: 7; }
  .order-sm-8 {
    order: 8; }
  .order-sm-9 {
    order: 9; }
  .order-sm-10 {
    order: 10; }
  .order-sm-11 {
    order: 11; }
  .order-sm-12 {
    order: 12; }
  .offset-sm-0 {
    margin-left: 0; }
  .offset-sm-1 {
    margin-left: 8.33333%; }
  .offset-sm-2 {
    margin-left: 16.66667%; }
  .offset-sm-3 {
    margin-left: 25%; }
  .offset-sm-4 {
    margin-left: 33.33333%; }
  .offset-sm-5 {
    margin-left: 41.66667%; }
  .offset-sm-6 {
    margin-left: 50%; }
  .offset-sm-7 {
    margin-left: 58.33333%; }
  .offset-sm-8 {
    margin-left: 66.66667%; }
  .offset-sm-9 {
    margin-left: 75%; }
  .offset-sm-10 {
    margin-left: 83.33333%; }
  .offset-sm-11 {
    margin-left: 91.66667%; } }

@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .row-cols-md-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .row-cols-md-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-md-first {
    order: -1; }
  .order-md-last {
    order: 13; }
  .order-md-0 {
    order: 0; }
  .order-md-1 {
    order: 1; }
  .order-md-2 {
    order: 2; }
  .order-md-3 {
    order: 3; }
  .order-md-4 {
    order: 4; }
  .order-md-5 {
    order: 5; }
  .order-md-6 {
    order: 6; }
  .order-md-7 {
    order: 7; }
  .order-md-8 {
    order: 8; }
  .order-md-9 {
    order: 9; }
  .order-md-10 {
    order: 10; }
  .order-md-11 {
    order: 11; }
  .order-md-12 {
    order: 12; }
  .offset-md-0 {
    margin-left: 0; }
  .offset-md-1 {
    margin-left: 8.33333%; }
  .offset-md-2 {
    margin-left: 16.66667%; }
  .offset-md-3 {
    margin-left: 25%; }
  .offset-md-4 {
    margin-left: 33.33333%; }
  .offset-md-5 {
    margin-left: 41.66667%; }
  .offset-md-6 {
    margin-left: 50%; }
  .offset-md-7 {
    margin-left: 58.33333%; }
  .offset-md-8 {
    margin-left: 66.66667%; }
  .offset-md-9 {
    margin-left: 75%; }
  .offset-md-10 {
    margin-left: 83.33333%; }
  .offset-md-11 {
    margin-left: 91.66667%; } }

@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .row-cols-lg-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .row-cols-lg-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-lg-first {
    order: -1; }
  .order-lg-last {
    order: 13; }
  .order-lg-0 {
    order: 0; }
  .order-lg-1 {
    order: 1; }
  .order-lg-2 {
    order: 2; }
  .order-lg-3 {
    order: 3; }
  .order-lg-4 {
    order: 4; }
  .order-lg-5 {
    order: 5; }
  .order-lg-6 {
    order: 6; }
  .order-lg-7 {
    order: 7; }
  .order-lg-8 {
    order: 8; }
  .order-lg-9 {
    order: 9; }
  .order-lg-10 {
    order: 10; }
  .order-lg-11 {
    order: 11; }
  .order-lg-12 {
    order: 12; }
  .offset-lg-0 {
    margin-left: 0; }
  .offset-lg-1 {
    margin-left: 8.33333%; }
  .offset-lg-2 {
    margin-left: 16.66667%; }
  .offset-lg-3 {
    margin-left: 25%; }
  .offset-lg-4 {
    margin-left: 33.33333%; }
  .offset-lg-5 {
    margin-left: 41.66667%; }
  .offset-lg-6 {
    margin-left: 50%; }
  .offset-lg-7 {
    margin-left: 58.33333%; }
  .offset-lg-8 {
    margin-left: 66.66667%; }
  .offset-lg-9 {
    margin-left: 75%; }
  .offset-lg-10 {
    margin-left: 83.33333%; }
  .offset-lg-11 {
    margin-left: 91.66667%; } }

@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .row-cols-xl-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .row-cols-xl-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-xl-first {
    order: -1; }
  .order-xl-last {
    order: 13; }
  .order-xl-0 {
    order: 0; }
  .order-xl-1 {
    order: 1; }
  .order-xl-2 {
    order: 2; }
  .order-xl-3 {
    order: 3; }
  .order-xl-4 {
    order: 4; }
  .order-xl-5 {
    order: 5; }
  .order-xl-6 {
    order: 6; }
  .order-xl-7 {
    order: 7; }
  .order-xl-8 {
    order: 8; }
  .order-xl-9 {
    order: 9; }
  .order-xl-10 {
    order: 10; }
  .order-xl-11 {
    order: 11; }
  .order-xl-12 {
    order: 12; }
  .offset-xl-0 {
    margin-left: 0; }
  .offset-xl-1 {
    margin-left: 8.33333%; }
  .offset-xl-2 {
    margin-left: 16.66667%; }
  .offset-xl-3 {
    margin-left: 25%; }
  .offset-xl-4 {
    margin-left: 33.33333%; }
  .offset-xl-5 {
    margin-left: 41.66667%; }
  .offset-xl-6 {
    margin-left: 50%; }
  .offset-xl-7 {
    margin-left: 58.33333%; }
  .offset-xl-8 {
    margin-left: 66.66667%; }
  .offset-xl-9 {
    margin-left: 75%; }
  .offset-xl-10 {
    margin-left: 83.33333%; }
  .offset-xl-11 {
    margin-left: 91.66667%; } }

.table {
  width: 100%;
  margin-bottom: 0.6rem;
  color: #343434;
  background-color: #fcfcfc; }
  .table th,
  .table td {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #f2f2f2; }
  .table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #f2f2f2; }
  .table tbody + tbody {
    border-top: 2px solid #f2f2f2; }

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

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

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

.table-striped tbody tr:nth-of-type(odd) {
  background-color: #f2f2f2; }

.table-hover tbody tr:hover {
  color: #343434;
  background-color: #f2f2f2; }

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #fcddc1; }

.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #fabf8c; }

.table-hover .table-primary:hover {
  background-color: #fbd0a9; }
  .table-hover .table-primary:hover > td,
  .table-hover .table-primary:hover > th {
    background-color: #fbd0a9; }

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #b8dbff; }

.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #7abcff; }

.table-hover .table-secondary:hover {
  background-color: #9fceff; }
  .table-hover .table-secondary:hover > td,
  .table-hover .table-secondary:hover > th {
    background-color: #9fceff; }

.table-success,
.table-success > th,
.table-success > td {
  background-color: #c3e6cb; }

.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: #8fd19e; }

.table-hover .table-success:hover {
  background-color: #b1dfbb; }
  .table-hover .table-success:hover > td,
  .table-hover .table-success:hover > th {
    background-color: #b1dfbb; }

.table-info,
.table-info > th,
.table-info > td {
  background-color: #bee5eb; }

.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #86cfda; }

.table-hover .table-info:hover {
  background-color: #abdde5; }
  .table-hover .table-info:hover > td,
  .table-hover .table-info:hover > th {
    background-color: #abdde5; }

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #ffeeba; }

.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: #ffdf7e; }

.table-hover .table-warning:hover {
  background-color: #ffe8a1; }
  .table-hover .table-warning:hover > td,
  .table-hover .table-warning:hover > th {
    background-color: #ffe8a1; }

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #f5c6cb; }

.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: #ed969e; }

.table-hover .table-danger:hover {
  background-color: #f1b0b7; }
  .table-hover .table-danger:hover > td,
  .table-hover .table-danger:hover > th {
    background-color: #f1b0b7; }

.table-light,
.table-light > th,
.table-light > td {
  background-color: #fdfdfd; }

.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #fcfcfc; }

.table-hover .table-light:hover {
  background-color: #f0f0f0; }
  .table-hover .table-light:hover > td,
  .table-hover .table-light:hover > th {
    background-color: #f0f0f0; }

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #bcbcbc; }

.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #838383; }

.table-hover .table-dark:hover {
  background-color: #afafaf; }
  .table-hover .table-dark:hover > td,
  .table-hover .table-dark:hover > th {
    background-color: #afafaf; }

.table-active,
.table-active > th,
.table-active > td {
  background-color: #f2f2f2; }

.table-hover .table-active:hover {
  background-color: #e6e6e6; }
  .table-hover .table-active:hover > td,
  .table-hover .table-active:hover > th {
    background-color: #e6e6e6; }

.table .thead-dark th {
  color: #fff;
  background-color: #343434;
  border-color: #474747; }

.table .thead-light th {
  color: #494949;
  background-color: #f9f9f9;
  border-color: #f2f2f2; }

.table-dark {
  color: #fff;
  background-color: #343434; }
  .table-dark th,
  .table-dark td,
  .table-dark thead th {
    border-color: #474747; }
  .table-dark.table-bordered {
    border: 0; }
  .table-dark.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05); }
  .table-dark.table-hover tbody tr:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.075); }

@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-sm > .table-bordered {
      border: 0; } }

@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-md > .table-bordered {
      border: 0; } }

@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-lg > .table-bordered {
      border: 0; } }

@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-xl > .table-bordered {
      border: 0; } }

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }
  .table-responsive > .table-bordered {
    border: 0; }

.form-control {
  display: block;
  width: 100%;
  height: calc(1em + 2rem);
  padding: 0.5rem 1rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1;
  color: #2d2d2d;
  background-color: #f9f9f9;
  background-clip: padding-box;
  border: 0 solid #cecece;
  border-radius: 0.1565rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .form-control {
      transition: none; } }
  .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .form-control:focus {
    color: #2d2d2d;
    background-color: #f9f9f9;
    border-color: #fbc89c;
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(245, 132, 34, 0.25); }
  .form-control::placeholder {
    color: #adadad;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #e9e9e9;
    opacity: 1; }

input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control {
  appearance: none; }

select.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #2d2d2d; }

select.form-control:focus::-ms-value {
  color: #2d2d2d;
  background-color: #f9f9f9; }

.form-control-file,
.form-control-range {
  display: block;
  width: 100%; }

.col-form-label {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1; }

.col-form-label-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 1.25rem;
  line-height: 1.5; }

.col-form-label-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.5; }

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.5rem 0;
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1;
  color: #343434;
  background-color: transparent;
  border: solid transparent;
  border-width: 0 0; }
  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0; }

.form-control-sm {
  height: calc(1.5em + 1rem);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.1565rem; }

.form-control-lg {
  height: calc(1.5em + 2rem);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.1565rem; }

select.form-control[size], select.form-control[multiple] {
  height: auto; }

textarea.form-control {
  height: auto; }

.form-group {
  margin-bottom: 0.5rem; }

.form-text {
  display: block;
  margin-top: 0.25rem; }

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px; }
  .form-row > .col,
  .form-row > [class*="col-"] {
    padding-right: 5px;
    padding-left: 5px; }

.form-check {
  position: relative;
  display: block;
  padding-left: 1.3rem; }

.form-check-input {
  position: absolute;
  margin-top: 0.05rem;
  margin-left: -1.3rem; }
  .form-check-input[disabled] ~ .form-check-label,
  .form-check-input:disabled ~ .form-check-label {
    color: #818181; }

.form-check-label {
  margin-bottom: 0; }

.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem; }
  .form-check-inline .form-check-input {
    position: static;
    margin-top: 0;
    margin-right: 0.3125rem;
    margin-left: 0; }

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #28a745; }

.valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.313rem; }
  .form-row > .col > .valid-tooltip,
  .form-row > [class*="col-"] > .valid-tooltip {
    left: 5px; }

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #28a745;
  padding-right: calc(1em + 2rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.25em + 0.125rem) center;
  background-size: calc(0.5em + 0.5rem) calc(0.5em + 0.5rem); }
  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0rem rgba(40, 167, 69, 0.25); }

.was-validated select.form-control:valid, select.form-control.is-valid {
  padding-right: 4rem !important;
  background-position: right 2rem center; }

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1em + 2rem);
  background-position: top calc(0.25em + 0.125rem) right calc(0.25em + 0.125rem); }

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc(0.75em + 2.75rem) !important;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343434' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1rem center/8px 10px no-repeat, #f9f9f9 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 2rem/calc(0.5em + 0.5rem) calc(0.5em + 0.5rem) no-repeat; }
  .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0rem rgba(40, 167, 69, 0.25); }

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #28a745; }

.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745; }
  .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
    border-color: #28a745; }

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #34ce57;
  background-color: #34ce57; }

.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0rem rgba(40, 167, 69, 0.25); }

.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #28a745; }

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #28a745; }

.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #28a745;
  box-shadow: 0 0 0 0rem rgba(40, 167, 69, 0.25); }

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #dc3545; }

.invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.313rem; }
  .form-row > .col > .invalid-tooltip,
  .form-row > [class*="col-"] > .invalid-tooltip {
    left: 5px; }

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #dc3545;
  padding-right: calc(1em + 2rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.25em + 0.125rem) center;
  background-size: calc(0.5em + 0.5rem) calc(0.5em + 0.5rem); }
  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0rem rgba(220, 53, 69, 0.25); }

.was-validated select.form-control:invalid, select.form-control.is-invalid {
  padding-right: 4rem !important;
  background-position: right 2rem center; }

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1em + 2rem);
  background-position: top calc(0.25em + 0.125rem) right calc(0.25em + 0.125rem); }

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc(0.75em + 2.75rem) !important;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343434' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1rem center/8px 10px no-repeat, #f9f9f9 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 2rem/calc(0.5em + 0.5rem) calc(0.5em + 0.5rem) no-repeat; }
  .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0rem rgba(220, 53, 69, 0.25); }

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545; }

.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #dc3545; }
  .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
    border-color: #dc3545; }

.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #e4606d;
  background-color: #e4606d; }

.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0rem rgba(220, 53, 69, 0.25); }

.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #dc3545; }

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #dc3545; }

.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #dc3545;
  box-shadow: 0 0 0 0rem rgba(220, 53, 69, 0.25); }

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center; }
  .form-inline .form-check {
    width: 100%; }
  @media (min-width: 576px) {
    .form-inline label {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 0; }
    .form-inline .form-group {
      display: flex;
      flex: 0 0 auto;
      flex-flow: row wrap;
      align-items: center;
      margin-bottom: 0; }
    .form-inline .form-control {
      display: inline-block;
      width: auto;
      vertical-align: middle; }
    .form-inline .form-control-plaintext {
      display: inline-block; }
    .form-inline .input-group,
    .form-inline .custom-select {
      width: auto; }
    .form-inline .form-check {
      display: flex;
      align-items: center;
      justify-content: center;
      width: auto;
      padding-left: 0; }
    .form-inline .form-check-input {
      position: relative;
      flex-shrink: 0;
      margin-top: 0;
      margin-right: 0.25rem;
      margin-left: 0; }
    .form-inline .custom-control {
      align-items: center;
      justify-content: center; }
    .form-inline .custom-control-label {
      margin-bottom: 0; } }

.fade {
  transition: opacity 0.15s linear; }
  @media (prefers-reduced-motion: reduce) {
    .fade {
      transition: none; } }
  .fade:not(.show) {
    opacity: 0; }

.collapse:not(.show) {
  display: none; }

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease; }
  @media (prefers-reduced-motion: reduce) {
    .collapsing {
      transition: none; } }

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative; }

.dropdown-toggle {
  white-space: nowrap; }
  .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent; }
  .dropdown-toggle:empty::after {
    margin-left: 0; }

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #343434;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(173, 173, 173, 0.15);
  border-radius: 0.313rem; }

.dropdown-menu-left {
  right: auto;
  left: 0; }

.dropdown-menu-right {
  right: 0;
  left: auto; }

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0; }
  .dropdown-menu-sm-right {
    right: 0;
    left: auto; } }

@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0; }
  .dropdown-menu-md-right {
    right: 0;
    left: auto; } }

@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0; }
  .dropdown-menu-lg-right {
    right: 0;
    left: auto; } }

@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0; }
  .dropdown-menu-xl-right {
    right: 0;
    left: auto; } }

.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem; }

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent; }

.dropup .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem; }

.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid; }

.dropright .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropright .dropdown-toggle::after {
  vertical-align: 0; }

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem; }

.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: ""; }

.dropleft .dropdown-toggle::after {
  display: none; }

.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent; }

.dropleft .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropleft .dropdown-toggle::before {
  vertical-align: 0; }

.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
  right: auto;
  bottom: auto; }

.dropdown-divider {
  height: 0;
  margin: 0 0;
  overflow: hidden;
  border-top: 1px solid #e9e9e9; }

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.5rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #181818;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0; }
  .dropdown-item:first-child {
    border-top-left-radius: calc(0.313rem - 1px);
    border-top-right-radius: calc(0.313rem - 1px); }
  .dropdown-item:last-child {
    border-bottom-right-radius: calc(0.313rem - 1px);
    border-bottom-left-radius: calc(0.313rem - 1px); }
  .dropdown-item:hover, .dropdown-item:focus {
    color: #0b0b0b;
    text-decoration: none;
    background-color: #f9f9f9; }
  .dropdown-item.active, .dropdown-item:active {
    color: #181818;
    text-decoration: none;
    background-color: #e9e9e9; }
  .dropdown-item.disabled, .dropdown-item:disabled {
    color: #adadad;
    pointer-events: none;
    background-color: transparent; }

.dropdown-menu.show {
  display: block; }

.dropdown-header {
  display: block;
  padding: 0 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #818181;
  white-space: nowrap; }

.dropdown-item-text {
  display: block;
  padding: 0.5rem 1.5rem;
  color: #181818; }

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle; }
  .btn-group > .btn,
  .btn-group-vertical > .btn {
    position: relative;
    flex: 1 1 auto; }
    .btn-group > .btn:hover,
    .btn-group-vertical > .btn:hover {
      z-index: 1; }
    .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
    .btn-group-vertical > .btn:focus,
    .btn-group-vertical > .btn:active,
    .btn-group-vertical > .btn.active {
      z-index: 1; }

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
  .btn-toolbar .input-group {
    width: auto; }

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  margin-left: 0; }

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.dropdown-toggle-split {
  padding-right: 1.125rem;
  padding-left: 1.125rem; }
  .dropdown-toggle-split::after,
  .dropup .dropdown-toggle-split::after,
  .dropright .dropdown-toggle-split::after {
    margin-left: 0; }
  .dropleft .dropdown-toggle-split::before {
    margin-right: 0; }

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem; }

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem; }

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center; }
  .btn-group-vertical > .btn,
  .btn-group-vertical > .btn-group {
    width: 100%; }
  .btn-group-vertical > .btn:not(:first-child),
  .btn-group-vertical > .btn-group:not(:first-child) {
    margin-top: 0; }
  .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
  .btn-group-vertical > .btn-group:not(:last-child) > .btn {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }
  .btn-group-vertical > .btn:not(:first-child),
  .btn-group-vertical > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.btn-group-toggle > .btn,
.btn-group-toggle > .btn-group > .btn {
  margin-bottom: 0; }
  .btn-group-toggle > .btn input[type="radio"],
  .btn-group-toggle > .btn input[type="checkbox"],
  .btn-group-toggle > .btn-group > .btn input[type="radio"],
  .btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none; }

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%; }
  .input-group > .form-control,
  .input-group > .form-control-plaintext,
  .input-group > .custom-select,
  .input-group > .custom-file {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    margin-bottom: 0; }
    .input-group > .form-control + .form-control,
    .input-group > .form-control + .custom-select,
    .input-group > .form-control + .custom-file,
    .input-group > .form-control-plaintext + .form-control,
    .input-group > .form-control-plaintext + .custom-select,
    .input-group > .form-control-plaintext + .custom-file,
    .input-group > .custom-select + .form-control,
    .input-group > .custom-select + .custom-select,
    .input-group > .custom-select + .custom-file,
    .input-group > .custom-file + .form-control,
    .input-group > .custom-file + .custom-select,
    .input-group > .custom-file + .custom-file {
      margin-left: 0; }
  .input-group > .form-control:focus,
  .input-group > .custom-select:focus,
  .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
    z-index: 3; }
  .input-group > .custom-file .custom-file-input:focus {
    z-index: 4; }
  .input-group > .form-control:not(:first-child),
  .input-group > .custom-select:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .input-group > .custom-file {
    display: flex;
    align-items: center; }
    .input-group > .custom-file:not(:last-child) .custom-file-label,
    .input-group > .custom-file:not(:last-child) .custom-file-label::after {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
    .input-group > .custom-file:not(:first-child) .custom-file-label {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
  .input-group:not(.has-validation) > .form-control:not(:last-child),
  .input-group:not(.has-validation) > .custom-select:not(:last-child),
  .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label,
  .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .input-group.has-validation > .form-control:nth-last-child(n + 3),
  .input-group.has-validation > .custom-select:nth-last-child(n + 3),
  .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label,
  .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }

.input-group-prepend,
.input-group-append {
  display: flex; }
  .input-group-prepend .btn,
  .input-group-append .btn {
    position: relative;
    z-index: 2; }
    .input-group-prepend .btn:focus,
    .input-group-append .btn:focus {
      z-index: 3; }
  .input-group-prepend .btn + .btn,
  .input-group-prepend .btn + .input-group-text,
  .input-group-prepend .input-group-text + .input-group-text,
  .input-group-prepend .input-group-text + .btn,
  .input-group-append .btn + .btn,
  .input-group-append .btn + .input-group-text,
  .input-group-append .input-group-text + .input-group-text,
  .input-group-append .input-group-text + .btn {
    margin-left: 0; }

.input-group-prepend {
  margin-right: 0; }

.input-group-append {
  margin-left: 0; }

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  color: #2d2d2d;
  text-align: center;
  white-space: nowrap;
  background-color: #e9e9e9;
  border: 0 solid #cecece;
  border-radius: 0.1565rem; }
  .input-group-text input[type="radio"],
  .input-group-text input[type="checkbox"] {
    margin-top: 0; }

.input-group-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
  height: calc(1.5em + 2rem); }

.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.1565rem; }

.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
  height: calc(1.5em + 1rem); }

.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.1565rem; }

.input-group-lg > .custom-select,
.input-group-sm > .custom-select {
  padding-right: 2rem; }

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.custom-control {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 1.4rem;
  padding-left: 1.5rem;
  color-adjust: exact; }

.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem; }

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.2rem;
  opacity: 0; }
  .custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: #F58422;
    background-color: #F58422; }
  .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0rem rgba(245, 132, 34, 0.25); }
  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #fbc89c; }
  .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: #fde3cd;
    border-color: #fde3cd; }
  .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
    color: #818181; }
    .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
      background-color: #e9e9e9; }

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top; }
  .custom-control-label::before {
    position: absolute;
    top: 0.2rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    content: "";
    background-color: #f9f9f9;
    border: #adadad solid 0; }
  .custom-control-label::after {
    position: absolute;
    top: 0.2rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: 50% / 50% 50% no-repeat; }

.custom-checkbox .custom-control-label::before {
  border-radius: 0.313rem; }

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); }

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #F58422;
  background-color: #F58422; }

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); }

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(245, 132, 34, 0.5); }

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(245, 132, 34, 0.5); }

.custom-radio .custom-control-label::before {
  border-radius: 50%; }

.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }

.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(245, 132, 34, 0.5); }

.custom-switch {
  padding-left: 2.25rem; }
  .custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 1.75rem;
    pointer-events: all;
    border-radius: 0.5rem; }
  .custom-switch .custom-control-label::after {
    top: 0.2rem;
    left: -2.25rem;
    width: 1rem;
    height: 1rem;
    background-color: #adadad;
    border-radius: 0.5rem;
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .custom-switch .custom-control-label::after {
        transition: none; } }
  .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #f9f9f9;
    transform: translateX(0.75rem); }
  .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(245, 132, 34, 0.5); }

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1em + 2rem);
  padding: 0.5rem 2rem 0.5rem 1rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1;
  color: #2d2d2d;
  vertical-align: middle;
  background: #f9f9f9 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343434' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1rem center/8px 10px no-repeat;
  border: 0 solid #cecece;
  border-radius: 0.313rem;
  appearance: none; }
  .custom-select:focus {
    border-color: #fbc89c;
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(245, 132, 34, 0.25); }
    .custom-select:focus::-ms-value {
      color: #2d2d2d;
      background-color: #f9f9f9; }
  .custom-select[multiple], .custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 1rem;
    background-image: none; }
  .custom-select:disabled {
    color: #818181;
    background-color: #e9e9e9; }
  .custom-select::-ms-expand {
    display: none; }
  .custom-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #2d2d2d; }

.custom-select-sm {
  height: calc(1.5em + 1rem);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem; }

.custom-select-lg {
  height: calc(1.5em + 2rem);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem; }

.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(1em + 2rem);
  margin-bottom: 0; }

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1em + 2rem);
  margin: 0;
  overflow: hidden;
  opacity: 0; }
  .custom-file-input:focus ~ .custom-file-label {
    border-color: #fbc89c;
    box-shadow: 0 0 0 0rem rgba(245, 132, 34, 0.25); }
  .custom-file-input[disabled] ~ .custom-file-label,
  .custom-file-input:disabled ~ .custom-file-label {
    background-color: #e9e9e9; }
  .custom-file-input:lang(en) ~ .custom-file-label::after {
    content: "Browse"; }
  .custom-file-input ~ .custom-file-label[data-browse]::after {
    content: attr(data-browse); }

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1em + 2rem);
  padding: 0.5rem 1rem;
  overflow: hidden;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  line-height: 1;
  color: #2d2d2d;
  background-color: #f9f9f9;
  border: 0 solid #cecece;
  border-radius: 0.1565rem; }
  .custom-file-label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    height: calc(1em + 2rem);
    padding: 0.5rem 1rem;
    line-height: 1;
    color: #2d2d2d;
    content: "Browse";
    background-color: #e9e9e9;
    border-left: inherit;
    border-radius: 0 0.1565rem 0.1565rem 0; }

.custom-range {
  width: 100%;
  height: 1rem;
  padding: 0;
  background-color: transparent;
  appearance: none; }
  .custom-range:focus {
    outline: 0; }
    .custom-range:focus::-webkit-slider-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0rem rgba(245, 132, 34, 0.25); }
    .custom-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0rem rgba(245, 132, 34, 0.25); }
    .custom-range:focus::-ms-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0rem rgba(245, 132, 34, 0.25); }
  .custom-range::-moz-focus-outer {
    border: 0; }
  .custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #F58422;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-webkit-slider-thumb {
        transition: none; } }
    .custom-range::-webkit-slider-thumb:active {
      background-color: #fde3cd; }
  .custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dedede;
    border-color: transparent;
    border-radius: 1rem; }
  .custom-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #F58422;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-moz-range-thumb {
        transition: none; } }
    .custom-range::-moz-range-thumb:active {
      background-color: #fde3cd; }
  .custom-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dedede;
    border-color: transparent;
    border-radius: 1rem; }
  .custom-range::-ms-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: 0;
    margin-right: 0rem;
    margin-left: 0rem;
    background-color: #F58422;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-ms-thumb {
        transition: none; } }
    .custom-range::-ms-thumb:active {
      background-color: #fde3cd; }
  .custom-range::-ms-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: transparent;
    border-color: transparent;
    border-width: 0.5rem; }
  .custom-range::-ms-fill-lower {
    background-color: #dedede;
    border-radius: 1rem; }
  .custom-range::-ms-fill-upper {
    margin-right: 15px;
    background-color: #dedede;
    border-radius: 1rem; }
  .custom-range:disabled::-webkit-slider-thumb {
    background-color: #adadad; }
  .custom-range:disabled::-webkit-slider-runnable-track {
    cursor: default; }
  .custom-range:disabled::-moz-range-thumb {
    background-color: #adadad; }
  .custom-range:disabled::-moz-range-track {
    cursor: default; }
  .custom-range:disabled::-ms-thumb {
    background-color: #adadad; }

.custom-control-label::before,
.custom-file-label,
.custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .custom-control-label::before,
    .custom-file-label,
    .custom-select {
      transition: none; } }

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }

.nav-link {
  display: block;
  padding: 0.5rem 1rem; }
  .nav-link:hover, .nav-link:focus {
    text-decoration: none; }
  .nav-link.disabled {
    color: #818181;
    pointer-events: none;
    cursor: default; }

.nav-tabs {
  border-bottom: 1px solid #dedede; }
  .nav-tabs .nav-link {
    margin-bottom: -1px;
    border: 1px solid transparent;
    border-top-left-radius: 0.313rem;
    border-top-right-radius: 0.313rem; }
    .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
      border-color: #e9e9e9 #e9e9e9 #dedede; }
    .nav-tabs .nav-link.disabled {
      color: #818181;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active,
  .nav-tabs .nav-item.show .nav-link {
    color: #494949;
    background-color: #fff;
    border-color: #dedede #dedede #fff; }
  .nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.nav-pills .nav-link {
  border-radius: 0.313rem; }

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #F58422; }

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center; }

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center; }

.tab-content > .tab-pane {
  display: none; }

.tab-content > .active {
  display: block; }

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0 0; }
  .navbar .container,
  .navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between; }

.navbar-brand {
  display: inline-block;
  padding-top: 0.325rem;
  padding-bottom: 0.325rem;
  margin-right: 0;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap; }
  .navbar-brand:hover, .navbar-brand:focus {
    text-decoration: none; }

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }
  .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0; }
  .navbar-nav .dropdown-menu {
    position: static;
    float: none; }

.navbar-text {
  display: inline-block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center; }

.navbar-toggler {
  padding: 10px 15px;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.313rem; }
  .navbar-toggler:hover, .navbar-toggler:focus {
    text-decoration: none; }

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: 50% / 100% 100% no-repeat; }

.navbar-nav-scroll {
  max-height: 75vh;
  overflow-y: auto; }

@media (max-width: 575.98px) {
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start; }
    .navbar-expand-sm .navbar-nav {
      flex-direction: row; }
      .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: 10px;
        padding-left: 10px; }
    .navbar-expand-sm > .container,
    .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
      flex-wrap: nowrap; }
    .navbar-expand-sm .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-sm .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-sm .navbar-toggler {
      display: none; } }

@media (max-width: 767.98px) {
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start; }
    .navbar-expand-md .navbar-nav {
      flex-direction: row; }
      .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 10px;
        padding-left: 10px; }
    .navbar-expand-md > .container,
    .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
      flex-wrap: nowrap; }
    .navbar-expand-md .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-md .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-md .navbar-toggler {
      display: none; } }

@media (max-width: 991.98px) {
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start; }
    .navbar-expand-lg .navbar-nav {
      flex-direction: row; }
      .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 10px;
        padding-left: 10px; }
    .navbar-expand-lg > .container,
    .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
      flex-wrap: nowrap; }
    .navbar-expand-lg .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-lg .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-lg .navbar-toggler {
      display: none; } }

@media (max-width: 1199.98px) {
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start; }
    .navbar-expand-xl .navbar-nav {
      flex-direction: row; }
      .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: 10px;
        padding-left: 10px; }
    .navbar-expand-xl > .container,
    .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
      flex-wrap: nowrap; }
    .navbar-expand-xl .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-xl .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-xl .navbar-toggler {
      display: none; } }

.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start; }
  .navbar-expand > .container,
  .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
    padding-right: 0;
    padding-left: 0; }
  .navbar-expand .navbar-nav {
    flex-direction: row; }
    .navbar-expand .navbar-nav .dropdown-menu {
      position: absolute; }
    .navbar-expand .navbar-nav .nav-link {
      padding-right: 10px;
      padding-left: 10px; }
  .navbar-expand > .container,
  .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
    flex-wrap: nowrap; }
  .navbar-expand .navbar-nav-scroll {
    overflow: visible; }
  .navbar-expand .navbar-collapse {
    display: flex !important;
    flex-basis: auto; }
  .navbar-expand .navbar-toggler {
    display: none; }

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9); }
  .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
    color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5); }
  .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
    color: rgba(0, 0, 0, 0.7); }
  .navbar-light .navbar-nav .nav-link.disabled {
    color: rgba(0, 0, 0, 0.3); }

.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.1); }

.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.5); }
  .navbar-light .navbar-text a {
    color: rgba(0, 0, 0, 0.9); }
    .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
      color: rgba(0, 0, 0, 0.9); }

.navbar-dark .navbar-brand {
  color: #fff; }
  .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
    color: #fff; }

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5); }
  .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
    color: rgba(255, 255, 255, 0.75); }
  .navbar-dark .navbar-nav .nav-link.disabled {
    color: rgba(255, 255, 255, 0.25); }

.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff; }

.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1); }

.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5); }
  .navbar-dark .navbar-text a {
    color: #fff; }
    .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
      color: #fff; }

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid #e9e9e9;
  border-radius: 0.313rem; }
  .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .card > .list-group {
    border-top: inherit;
    border-bottom: inherit; }
    .card > .list-group:first-child {
      border-top-width: 0;
      border-top-left-radius: calc(0.313rem - 1px);
      border-top-right-radius: calc(0.313rem - 1px); }
    .card > .list-group:last-child {
      border-bottom-width: 0;
      border-bottom-right-radius: calc(0.313rem - 1px);
      border-bottom-left-radius: calc(0.313rem - 1px); }
  .card > .card-header + .list-group,
  .card > .list-group + .card-footer {
    border-top: 0; }

.card-body {
  flex: 1 1 auto;
  min-height: 1px;
  padding: 1.25rem; }

.card-title {
  margin-bottom: 0.75rem; }

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0; }

.card-text:last-child {
  margin-bottom: 0; }

.card-link:hover {
  text-decoration: none; }

.card-link + .card-link {
  margin-left: 1.25rem; }

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid #e9e9e9; }
  .card-header:first-child {
    border-radius: calc(0.313rem - 1px) calc(0.313rem - 1px) 0 0; }

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid #e9e9e9; }
  .card-footer:last-child {
    border-radius: 0 0 calc(0.313rem - 1px) calc(0.313rem - 1px); }

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0; }

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  border-radius: calc(0.313rem - 1px); }

.card-img,
.card-img-top,
.card-img-bottom {
  flex-shrink: 0;
  width: 100%; }

.card-img,
.card-img-top {
  border-top-left-radius: calc(0.313rem - 1px);
  border-top-right-radius: calc(0.313rem - 1px); }

.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(0.313rem - 1px);
  border-bottom-left-radius: calc(0.313rem - 1px); }

.card-deck .card {
  margin-bottom: 15px; }

@media (min-width: 576px) {
  .card-deck {
    display: flex;
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px; }
    .card-deck .card {
      flex: 1 0 0%;
      margin-right: 15px;
      margin-bottom: 0;
      margin-left: 15px; } }

.card-group > .card {
  margin-bottom: 15px; }

@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap; }
    .card-group > .card {
      flex: 1 0 0%;
      margin-bottom: 0; }
      .card-group > .card + .card {
        margin-left: 0;
        border-left: 0; }
      .card-group > .card:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-top,
        .card-group > .card:not(:last-child) .card-header {
          border-top-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-bottom,
        .card-group > .card:not(:last-child) .card-footer {
          border-bottom-right-radius: 0; }
      .card-group > .card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-top,
        .card-group > .card:not(:first-child) .card-header {
          border-top-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-bottom,
        .card-group > .card:not(:first-child) .card-footer {
          border-bottom-left-radius: 0; } }

.card-columns .card {
  margin-bottom: 0.75rem; }

@media (min-width: 576px) {
  .card-columns {
    column-count: 3;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1; }
    .card-columns .card {
      display: inline-block;
      width: 100%; } }

.accordion {
  overflow-anchor: none; }
  .accordion > .card {
    overflow: hidden; }
    .accordion > .card:not(:last-of-type) {
      border-bottom: 0;
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0; }
    .accordion > .card:not(:first-of-type) {
      border-top-left-radius: 0;
      border-top-right-radius: 0; }
    .accordion > .card > .card-header {
      border-radius: 0;
      margin-bottom: -1px; }

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0.75rem 3rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  list-style: none;
  background-color: #fcfcfc;
  border-radius: 0; }

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem; }
  .breadcrumb-item + .breadcrumb-item::before {
    float: left;
    padding-right: 0.5rem;
    color: #818181;
    content: "/"; }

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline; }

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none; }

.breadcrumb-item.active {
  color: #0066cc; }

.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.313rem; }

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: 0;
  line-height: 1.25;
  color: #cecece;
  background-color: transparent;
  border: 0 solid #dedede; }
  .page-link:hover {
    z-index: 2;
    color: #111;
    text-decoration: none;
    background-color: transparent;
    border-color: #dedede; }
  .page-link:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(245, 132, 34, 0.25); }

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.313rem;
  border-bottom-left-radius: 0.313rem; }

.page-item:last-child .page-link {
  border-top-right-radius: 0.313rem;
  border-bottom-right-radius: 0.313rem; }

.page-item.active .page-link {
  z-index: 3;
  color: #111;
  background-color: transparent;
  border-color: transparent; }

.page-item.disabled .page-link {
  color: #818181;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dedede; }

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5; }

.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.0939rem;
  border-bottom-left-radius: 0.0939rem; }

.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.0939rem;
  border-bottom-right-radius: 0.0939rem; }

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5; }

.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.1565rem;
  border-bottom-left-radius: 0.1565rem; }

.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.1565rem;
  border-bottom-right-radius: 0.1565rem; }

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.313rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .badge {
      transition: none; } }
  a.badge:hover, a.badge:focus {
    text-decoration: none; }
  .badge:empty {
    display: none; }

.btn .badge {
  position: relative;
  top: -1px; }

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem; }

.badge-primary {
  color: #181818;
  background-color: #F58422; }
  a.badge-primary:hover, a.badge-primary:focus {
    color: #181818;
    background-color: #da6b0a; }
  a.badge-primary:focus, a.badge-primary.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(245, 132, 34, 0.5); }

.badge-secondary {
  color: #fff;
  background-color: #007FFF; }
  a.badge-secondary:hover, a.badge-secondary:focus {
    color: #fff;
    background-color: #0066cc; }
  a.badge-secondary:focus, a.badge-secondary.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(0, 127, 255, 0.5); }

.badge-success {
  color: #fff;
  background-color: #28a745; }
  a.badge-success:hover, a.badge-success:focus {
    color: #fff;
    background-color: #1e7e34; }
  a.badge-success:focus, a.badge-success.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(40, 167, 69, 0.5); }

.badge-info {
  color: #fff;
  background-color: #17a2b8; }
  a.badge-info:hover, a.badge-info:focus {
    color: #fff;
    background-color: #117a8b; }
  a.badge-info:focus, a.badge-info.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(23, 162, 184, 0.5); }

.badge-warning {
  color: #181818;
  background-color: #ffc107; }
  a.badge-warning:hover, a.badge-warning:focus {
    color: #181818;
    background-color: #d39e00; }
  a.badge-warning:focus, a.badge-warning.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(255, 193, 7, 0.5); }

.badge-danger {
  color: #fff;
  background-color: #dc3545; }
  a.badge-danger:hover, a.badge-danger:focus {
    color: #fff;
    background-color: #bd2130; }
  a.badge-danger:focus, a.badge-danger.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(220, 53, 69, 0.5); }

.badge-light {
  color: #181818;
  background-color: #f9f9f9; }
  a.badge-light:hover, a.badge-light:focus {
    color: #181818;
    background-color: #e0e0e0; }
  a.badge-light:focus, a.badge-light.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(249, 249, 249, 0.5); }

.badge-dark {
  color: #fff;
  background-color: #111; }
  a.badge-dark:hover, a.badge-dark:focus {
    color: #fff;
    background-color: black; }
  a.badge-dark:focus, a.badge-dark.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(17, 17, 17, 0.5); }

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  color: #fff;
  background-color: #e9e9e9;
  border-radius: 0.0939rem; }
  @media (min-width: 576px) {
    .jumbotron {
      padding: 4rem 2rem; } }

.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  border-radius: 0; }

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

.alert-heading {
  color: inherit; }

.alert-link {
  font-weight: 700; }

.alert-dismissible {
  padding-right: 4rem; }
  .alert-dismissible .close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 0.75rem 1.25rem;
    color: inherit; }

.alert-primary {
  color: #7f4512;
  background-color: #fde6d3;
  border-color: #fcddc1; }
  .alert-primary hr {
    border-top-color: #fbd0a9; }
  .alert-primary .alert-link {
    color: #522d0c; }

.alert-secondary {
  color: #004285;
  background-color: #cce5ff;
  border-color: #b8dbff; }
  .alert-secondary hr {
    border-top-color: #9fceff; }
  .alert-secondary .alert-link {
    color: #002952; }

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb; }
  .alert-success hr {
    border-top-color: #b1dfbb; }
  .alert-success .alert-link {
    color: #0b2e13; }

.alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb; }
  .alert-info hr {
    border-top-color: #abdde5; }
  .alert-info .alert-link {
    color: #062c33; }

.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba; }
  .alert-warning hr {
    border-top-color: #ffe8a1; }
  .alert-warning .alert-link {
    color: #533f03; }

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb; }
  .alert-danger hr {
    border-top-color: #f1b0b7; }
  .alert-danger .alert-link {
    color: #491217; }

.alert-light {
  color: #818181;
  background-color: #fefefe;
  border-color: #fdfdfd; }
  .alert-light hr {
    border-top-color: #f0f0f0; }
  .alert-light .alert-link {
    color: #686868; }

.alert-dark {
  color: #090909;
  background-color: #cfcfcf;
  border-color: #bcbcbc; }
  .alert-dark hr {
    border-top-color: #afafaf; }
  .alert-dark .alert-link {
    color: black; }

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0; }
  to {
    background-position: 0 0; } }

.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  line-height: 0;
  font-size: 0.75rem;
  background-color: #e9e9e9;
  border-radius: 0.313rem; }

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #F58422;
  transition: width 0.6s ease; }
  @media (prefers-reduced-motion: reduce) {
    .progress-bar {
      transition: none; } }

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem; }

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes; }
  @media (prefers-reduced-motion: reduce) {
    .progress-bar-animated {
      animation: none; } }

.media {
  display: flex;
  align-items: flex-start; }

.media-body {
  flex: 1; }

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 0.313rem; }

.list-group-item-action {
  width: 100%;
  color: #494949;
  text-align: inherit; }
  .list-group-item-action:hover, .list-group-item-action:focus {
    z-index: 1;
    color: #494949;
    text-decoration: none;
    background-color: #f9f9f9; }
  .list-group-item-action:active {
    color: #343434;
    background-color: #e9e9e9; }

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125); }
  .list-group-item:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit; }
  .list-group-item:last-child {
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit; }
  .list-group-item.disabled, .list-group-item:disabled {
    color: #818181;
    pointer-events: none;
    background-color: #fff; }
  .list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #F58422;
    border-color: #F58422; }
  .list-group-item + .list-group-item {
    border-top-width: 0; }
    .list-group-item + .list-group-item.active {
      margin-top: -1px;
      border-top-width: 1px; }

.list-group-horizontal {
  flex-direction: row; }
  .list-group-horizontal > .list-group-item:first-child {
    border-bottom-left-radius: 0.313rem;
    border-top-right-radius: 0; }
  .list-group-horizontal > .list-group-item:last-child {
    border-top-right-radius: 0.313rem;
    border-bottom-left-radius: 0; }
  .list-group-horizontal > .list-group-item.active {
    margin-top: 0; }
  .list-group-horizontal > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0; }
    .list-group-horizontal > .list-group-item + .list-group-item.active {
      margin-left: -1px;
      border-left-width: 1px; }

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row; }
    .list-group-horizontal-sm > .list-group-item:first-child {
      border-bottom-left-radius: 0.313rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-sm > .list-group-item:last-child {
      border-top-right-radius: 0.313rem;
      border-bottom-left-radius: 0; }
    .list-group-horizontal-sm > .list-group-item.active {
      margin-top: 0; }
    .list-group-horizontal-sm > .list-group-item + .list-group-item {
      border-top-width: 1px;
      border-left-width: 0; }
      .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px; } }

@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row; }
    .list-group-horizontal-md > .list-group-item:first-child {
      border-bottom-left-radius: 0.313rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-md > .list-group-item:last-child {
      border-top-right-radius: 0.313rem;
      border-bottom-left-radius: 0; }
    .list-group-horizontal-md > .list-group-item.active {
      margin-top: 0; }
    .list-group-horizontal-md > .list-group-item + .list-group-item {
      border-top-width: 1px;
      border-left-width: 0; }
      .list-group-horizontal-md > .list-group-item + .list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px; } }

@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row; }
    .list-group-horizontal-lg > .list-group-item:first-child {
      border-bottom-left-radius: 0.313rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-lg > .list-group-item:last-child {
      border-top-right-radius: 0.313rem;
      border-bottom-left-radius: 0; }
    .list-group-horizontal-lg > .list-group-item.active {
      margin-top: 0; }
    .list-group-horizontal-lg > .list-group-item + .list-group-item {
      border-top-width: 1px;
      border-left-width: 0; }
      .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px; } }

@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row; }
    .list-group-horizontal-xl > .list-group-item:first-child {
      border-bottom-left-radius: 0.313rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-xl > .list-group-item:last-child {
      border-top-right-radius: 0.313rem;
      border-bottom-left-radius: 0; }
    .list-group-horizontal-xl > .list-group-item.active {
      margin-top: 0; }
    .list-group-horizontal-xl > .list-group-item + .list-group-item {
      border-top-width: 1px;
      border-left-width: 0; }
      .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px; } }

.list-group-flush {
  border-radius: 0; }
  .list-group-flush > .list-group-item {
    border-width: 0 0 1px; }
    .list-group-flush > .list-group-item:last-child {
      border-bottom-width: 0; }

.list-group-item-primary {
  color: #7f4512;
  background-color: #fcddc1; }
  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
    color: #7f4512;
    background-color: #fbd0a9; }
  .list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #7f4512;
    border-color: #7f4512; }

.list-group-item-secondary {
  color: #004285;
  background-color: #b8dbff; }
  .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
    color: #004285;
    background-color: #9fceff; }
  .list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #004285;
    border-color: #004285; }

.list-group-item-success {
  color: #155724;
  background-color: #c3e6cb; }
  .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
    color: #155724;
    background-color: #b1dfbb; }
  .list-group-item-success.list-group-item-action.active {
    color: #fff;
    background-color: #155724;
    border-color: #155724; }

.list-group-item-info {
  color: #0c5460;
  background-color: #bee5eb; }
  .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
    color: #0c5460;
    background-color: #abdde5; }
  .list-group-item-info.list-group-item-action.active {
    color: #fff;
    background-color: #0c5460;
    border-color: #0c5460; }

.list-group-item-warning {
  color: #856404;
  background-color: #ffeeba; }
  .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
    color: #856404;
    background-color: #ffe8a1; }
  .list-group-item-warning.list-group-item-action.active {
    color: #fff;
    background-color: #856404;
    border-color: #856404; }

.list-group-item-danger {
  color: #721c24;
  background-color: #f5c6cb; }
  .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
    color: #721c24;
    background-color: #f1b0b7; }
  .list-group-item-danger.list-group-item-action.active {
    color: #fff;
    background-color: #721c24;
    border-color: #721c24; }

.list-group-item-light {
  color: #818181;
  background-color: #fdfdfd; }
  .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
    color: #818181;
    background-color: #f0f0f0; }
  .list-group-item-light.list-group-item-action.active {
    color: #fff;
    background-color: #818181;
    border-color: #818181; }

.list-group-item-dark {
  color: #090909;
  background-color: #bcbcbc; }
  .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
    color: #090909;
    background-color: #afafaf; }
  .list-group-item-dark.list-group-item-action.active {
    color: #fff;
    background-color: #090909;
    border-color: #090909; }

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5; }
  .close:hover {
    color: #000;
    text-decoration: none; }
  .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
    opacity: .75; }

button.close {
  padding: 0;
  background-color: transparent;
  border: 0; }

a.close.disabled {
  pointer-events: none; }

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  border-radius: 0.25rem; }
  .toast:not(:last-child) {
    margin-bottom: 0.75rem; }
  .toast.showing {
    opacity: 1; }
  .toast.show {
    display: block;
    opacity: 1; }
  .toast.hide {
    display: none; }

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #818181;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px); }

.toast-body {
  padding: 0.75rem; }

.modal-open {
  overflow: hidden; }
  .modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto; }

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0; }

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none; }
  .modal.fade .modal-dialog {
    transition: transform 0.3s ease-out;
    transform: translate(0, -50px); }
    @media (prefers-reduced-motion: reduce) {
      .modal.fade .modal-dialog {
        transition: none; } }
  .modal.show .modal-dialog {
    transform: none; }
  .modal.modal-static .modal-dialog {
    transform: scale(1.02); }

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem); }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 1rem);
    overflow: hidden; }
  .modal-dialog-scrollable .modal-header,
  .modal-dialog-scrollable .modal-footer {
    flex-shrink: 0; }
  .modal-dialog-scrollable .modal-body {
    overflow-y: auto; }

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem); }
  .modal-dialog-centered::before {
    display: block;
    height: calc(100vh - 1rem);
    height: min-content;
    content: ""; }
  .modal-dialog-centered.modal-dialog-scrollable {
    flex-direction: column;
    justify-content: center;
    height: 100%; }
    .modal-dialog-centered.modal-dialog-scrollable .modal-content {
      max-height: none; }
    .modal-dialog-centered.modal-dialog-scrollable::before {
      content: none; }

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.0939rem;
  outline: 0; }

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000; }
  .modal-backdrop.fade {
    opacity: 0; }
  .modal-backdrop.show {
    opacity: 0.5; }

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #f2f2f2;
  border-top-left-radius: calc(0.0939rem - 1px);
  border-top-right-radius: calc(0.0939rem - 1px); }
  .modal-header .close {
    padding: 1rem 1rem;
    margin: -1rem -1rem -1rem auto; }

.modal-title {
  margin-bottom: 0;
  line-height: 1.4; }

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem; }

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #f2f2f2;
  border-bottom-right-radius: calc(0.0939rem - 1px);
  border-bottom-left-radius: calc(0.0939rem - 1px); }
  .modal-footer > * {
    margin: 0.25rem; }

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto; }
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem); }
    .modal-dialog-scrollable .modal-content {
      max-height: calc(100vh - 3.5rem); }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem); }
    .modal-dialog-centered::before {
      height: calc(100vh - 3.5rem);
      height: min-content; }
  .modal-sm {
    max-width: 300px; } }

@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 800px; } }

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px; } }

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0; }
  .tooltip.show {
    opacity: 0.9; }
  .tooltip .arrow {
    position: absolute;
    display: block;
    width: 0.8rem;
    height: 0.4rem; }
    .tooltip .arrow::before {
      position: absolute;
      content: "";
      border-color: transparent;
      border-style: solid; }

.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
  padding: 0.4rem 0; }
  .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
    bottom: 0; }
    .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
      top: 0;
      border-width: 0.4rem 0.4rem 0;
      border-top-color: #000; }

.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
  padding: 0 0.4rem; }
  .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {
    left: 0;
    width: 0.4rem;
    height: 0.8rem; }
    .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
      right: 0;
      border-width: 0.4rem 0.4rem 0.4rem 0;
      border-right-color: #000; }

.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
  padding: 0.4rem 0; }
  .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {
    top: 0; }
    .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
      bottom: 0;
      border-width: 0 0.4rem 0.4rem;
      border-bottom-color: #000; }

.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
  padding: 0 0.4rem; }
  .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
    right: 0;
    width: 0.4rem;
    height: 0.8rem; }
    .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
      left: 0;
      border-width: 0.4rem 0 0.4rem 0.4rem;
      border-left-color: #000; }

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.313rem; }

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.0939rem; }
  .popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.0939rem; }
    .popover .arrow::before, .popover .arrow::after {
      position: absolute;
      display: block;
      content: "";
      border-color: transparent;
      border-style: solid; }

.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
  margin-bottom: 0.5rem; }
  .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow {
    bottom: calc(-0.5rem - 1px); }
    .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {
      bottom: 0;
      border-width: 0.5rem 0.5rem 0;
      border-top-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after {
      bottom: 1px;
      border-width: 0.5rem 0.5rem 0;
      border-top-color: #fff; }

.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
  margin-left: 0.5rem; }
  .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow {
    left: calc(-0.5rem - 1px);
    width: 0.5rem;
    height: 1rem;
    margin: 0.0939rem 0; }
    .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {
      left: 0;
      border-width: 0.5rem 0.5rem 0.5rem 0;
      border-right-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after {
      left: 1px;
      border-width: 0.5rem 0.5rem 0.5rem 0;
      border-right-color: #fff; }

.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
  margin-top: 0.5rem; }
  .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow {
    top: calc(-0.5rem - 1px); }
    .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
      top: 0;
      border-width: 0 0.5rem 0.5rem 0.5rem;
      border-bottom-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
      top: 1px;
      border-width: 0 0.5rem 0.5rem 0.5rem;
      border-bottom-color: #fff; }
  .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 1rem;
    margin-left: -0.5rem;
    content: "";
    border-bottom: 1px solid #f7f7f7; }

.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
  margin-right: 0.5rem; }
  .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow {
    right: calc(-0.5rem - 1px);
    width: 0.5rem;
    height: 1rem;
    margin: 0.0939rem 0; }
    .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {
      right: 0;
      border-width: 0.5rem 0 0.5rem 0.5rem;
      border-left-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after {
      right: 1px;
      border-width: 0.5rem 0 0.5rem 0.5rem;
      border-left-color: #fff; }

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-top-left-radius: calc(0.0939rem - 1px);
  border-top-right-radius: calc(0.0939rem - 1px); }
  .popover-header:empty {
    display: none; }

.popover-body {
  padding: 0.5rem 0.75rem;
  color: #343434; }

.carousel {
  position: relative; }

.carousel.pointer-event {
  touch-action: pan-y; }

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .carousel-inner::after {
    display: block;
    clear: both;
    content: ""; }

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-item {
      transition: none; } }

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block; }

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  transform: translateX(100%); }

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  transform: translateX(-100%); }

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none; }

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1; }

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-fade .active.carousel-item-left,
    .carousel-fade .active.carousel-item-right {
      transition: none; } }

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-control-prev,
    .carousel-control-next {
      transition: none; } }
  .carousel-control-prev:hover, .carousel-control-prev:focus,
  .carousel-control-next:hover,
  .carousel-control-next:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9; }

.carousel-control-prev {
  left: 0; }

.carousel-control-next {
  right: 0; }

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: 50% / 100% 100% no-repeat; }

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); }

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); }

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none; }
  .carousel-indicators li {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    transition: opacity 0.6s ease; }
    @media (prefers-reduced-motion: reduce) {
      .carousel-indicators li {
        transition: none; } }
  .carousel-indicators .active {
    opacity: 1; }

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center; }

@keyframes spinner-border {
  to {
    transform: rotate(360deg); } }

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: .75s linear infinite spinner-border; }

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em; }

@keyframes spinner-grow {
  0% {
    transform: scale(0); }
  50% {
    opacity: 1;
    transform: none; } }

.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: .75s linear infinite spinner-grow; }

.spinner-grow-sm {
  width: 1rem;
  height: 1rem; }

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    animation-duration: 1.5s; } }

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

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

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

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

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

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

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

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #da6b0a !important; }

.bg-secondary {
  background-color: #007FFF !important; }

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #0066cc !important; }

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

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1e7e34 !important; }

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

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #117a8b !important; }

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

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #d39e00 !important; }

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

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #bd2130 !important; }

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

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #e0e0e0 !important; }

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

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: black !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.border-secondary {
  border-color: #007FFF !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important; }
  .d-sm-inline {
    display: inline !important; }
  .d-sm-inline-block {
    display: inline-block !important; }
  .d-sm-block {
    display: block !important; }
  .d-sm-table {
    display: table !important; }
  .d-sm-table-row {
    display: table-row !important; }
  .d-sm-table-cell {
    display: table-cell !important; }
  .d-sm-flex {
    display: flex !important; }
  .d-sm-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 768px) {
  .d-md-none {
    display: none !important; }
  .d-md-inline {
    display: inline !important; }
  .d-md-inline-block {
    display: inline-block !important; }
  .d-md-block {
    display: block !important; }
  .d-md-table {
    display: table !important; }
  .d-md-table-row {
    display: table-row !important; }
  .d-md-table-cell {
    display: table-cell !important; }
  .d-md-flex {
    display: flex !important; }
  .d-md-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important; }
  .d-lg-inline {
    display: inline !important; }
  .d-lg-inline-block {
    display: inline-block !important; }
  .d-lg-block {
    display: block !important; }
  .d-lg-table {
    display: table !important; }
  .d-lg-table-row {
    display: table-row !important; }
  .d-lg-table-cell {
    display: table-cell !important; }
  .d-lg-flex {
    display: flex !important; }
  .d-lg-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important; }
  .d-xl-inline {
    display: inline !important; }
  .d-xl-inline-block {
    display: inline-block !important; }
  .d-xl-block {
    display: block !important; }
  .d-xl-table {
    display: table !important; }
  .d-xl-table-row {
    display: table-row !important; }
  .d-xl-table-cell {
    display: table-cell !important; }
  .d-xl-flex {
    display: flex !important; }
  .d-xl-inline-flex {
    display: inline-flex !important; } }

@media print {
  .d-print-none {
    display: none !important; }
  .d-print-inline {
    display: inline !important; }
  .d-print-inline-block {
    display: inline-block !important; }
  .d-print-block {
    display: block !important; }
  .d-print-table {
    display: table !important; }
  .d-print-table-row {
    display: table-row !important; }
  .d-print-table-cell {
    display: table-cell !important; }
  .d-print-flex {
    display: flex !important; }
  .d-print-inline-flex {
    display: inline-flex !important; } }

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden; }
  .embed-responsive::before {
    display: block;
    content: ""; }
  .embed-responsive .embed-responsive-item,
  .embed-responsive iframe,
  .embed-responsive embed,
  .embed-responsive object,
  .embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important; }
  .float-sm-right {
    float: right !important; }
  .float-sm-none {
    float: none !important; } }

@media (min-width: 768px) {
  .float-md-left {
    float: left !important; }
  .float-md-right {
    float: right !important; }
  .float-md-none {
    float: none !important; } }

@media (min-width: 992px) {
  .float-lg-left {
    float: left !important; }
  .float-lg-right {
    float: right !important; }
  .float-lg-none {
    float: none !important; } }

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important; }
  .float-xl-right {
    float: right !important; }
  .float-xl-none {
    float: none !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.shadow-lg {
  box-shadow: 0 0.8rem 1.4rem rgba(0, 0, 0, 0.08) !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important; }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important; }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important; }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important; }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important; }
  .m-sm-1 {
    margin: 0.15rem !important; }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.15rem !important; }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.15rem !important; }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.15rem !important; }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.15rem !important; }
  .m-sm-2 {
    margin: 0.3rem !important; }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.3rem !important; }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.3rem !important; }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.3rem !important; }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.3rem !important; }
  .m-sm-3 {
    margin: 0.6rem !important; }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 0.6rem !important; }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 0.6rem !important; }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 0.6rem !important; }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 0.6rem !important; }
  .m-sm-4 {
    margin: 1rem !important; }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1rem !important; }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1rem !important; }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1rem !important; }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1rem !important; }
  .m-sm-5 {
    margin: 2.4rem !important; }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 2.4rem !important; }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 2.4rem !important; }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 2.4rem !important; }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 2.4rem !important; }
  .m-sm-6 {
    margin: 3.6rem !important; }
  .mt-sm-6,
  .my-sm-6 {
    margin-top: 3.6rem !important; }
  .mr-sm-6,
  .mx-sm-6 {
    margin-right: 3.6rem !important; }
  .mb-sm-6,
  .my-sm-6 {
    margin-bottom: 3.6rem !important; }
  .ml-sm-6,
  .mx-sm-6 {
    margin-left: 3.6rem !important; }
  .m-sm-7 {
    margin: 7.2rem !important; }
  .mt-sm-7,
  .my-sm-7 {
    margin-top: 7.2rem !important; }
  .mr-sm-7,
  .mx-sm-7 {
    margin-right: 7.2rem !important; }
  .mb-sm-7,
  .my-sm-7 {
    margin-bottom: 7.2rem !important; }
  .ml-sm-7,
  .mx-sm-7 {
    margin-left: 7.2rem !important; }
  .p-sm-0 {
    padding: 0 !important; }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important; }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important; }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important; }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important; }
  .p-sm-1 {
    padding: 0.15rem !important; }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.15rem !important; }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.15rem !important; }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.15rem !important; }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.15rem !important; }
  .p-sm-2 {
    padding: 0.3rem !important; }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.3rem !important; }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.3rem !important; }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.3rem !important; }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.3rem !important; }
  .p-sm-3 {
    padding: 0.6rem !important; }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 0.6rem !important; }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 0.6rem !important; }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 0.6rem !important; }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 0.6rem !important; }
  .p-sm-4 {
    padding: 1rem !important; }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1rem !important; }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1rem !important; }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1rem !important; }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1rem !important; }
  .p-sm-5 {
    padding: 2.4rem !important; }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 2.4rem !important; }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 2.4rem !important; }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 2.4rem !important; }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 2.4rem !important; }
  .p-sm-6 {
    padding: 3.6rem !important; }
  .pt-sm-6,
  .py-sm-6 {
    padding-top: 3.6rem !important; }
  .pr-sm-6,
  .px-sm-6 {
    padding-right: 3.6rem !important; }
  .pb-sm-6,
  .py-sm-6 {
    padding-bottom: 3.6rem !important; }
  .pl-sm-6,
  .px-sm-6 {
    padding-left: 3.6rem !important; }
  .p-sm-7 {
    padding: 7.2rem !important; }
  .pt-sm-7,
  .py-sm-7 {
    padding-top: 7.2rem !important; }
  .pr-sm-7,
  .px-sm-7 {
    padding-right: 7.2rem !important; }
  .pb-sm-7,
  .py-sm-7 {
    padding-bottom: 7.2rem !important; }
  .pl-sm-7,
  .px-sm-7 {
    padding-left: 7.2rem !important; }
  .m-sm-n1 {
    margin: -0.15rem !important; }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.15rem !important; }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.15rem !important; }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.15rem !important; }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.15rem !important; }
  .m-sm-n2 {
    margin: -0.3rem !important; }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.3rem !important; }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.3rem !important; }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.3rem !important; }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.3rem !important; }
  .m-sm-n3 {
    margin: -0.6rem !important; }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -0.6rem !important; }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -0.6rem !important; }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -0.6rem !important; }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -0.6rem !important; }
  .m-sm-n4 {
    margin: -1rem !important; }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1rem !important; }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1rem !important; }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1rem !important; }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1rem !important; }
  .m-sm-n5 {
    margin: -2.4rem !important; }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -2.4rem !important; }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -2.4rem !important; }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -2.4rem !important; }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -2.4rem !important; }
  .m-sm-n6 {
    margin: -3.6rem !important; }
  .mt-sm-n6,
  .my-sm-n6 {
    margin-top: -3.6rem !important; }
  .mr-sm-n6,
  .mx-sm-n6 {
    margin-right: -3.6rem !important; }
  .mb-sm-n6,
  .my-sm-n6 {
    margin-bottom: -3.6rem !important; }
  .ml-sm-n6,
  .mx-sm-n6 {
    margin-left: -3.6rem !important; }
  .m-sm-n7 {
    margin: -7.2rem !important; }
  .mt-sm-n7,
  .my-sm-n7 {
    margin-top: -7.2rem !important; }
  .mr-sm-n7,
  .mx-sm-n7 {
    margin-right: -7.2rem !important; }
  .mb-sm-n7,
  .my-sm-n7 {
    margin-bottom: -7.2rem !important; }
  .ml-sm-n7,
  .mx-sm-n7 {
    margin-left: -7.2rem !important; }
  .m-sm-auto {
    margin: auto !important; }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important; }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important; }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important; }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important; } }

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important; }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important; }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important; }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important; }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important; }
  .m-md-1 {
    margin: 0.15rem !important; }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.15rem !important; }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.15rem !important; }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.15rem !important; }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.15rem !important; }
  .m-md-2 {
    margin: 0.3rem !important; }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.3rem !important; }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.3rem !important; }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.3rem !important; }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.3rem !important; }
  .m-md-3 {
    margin: 0.6rem !important; }
  .mt-md-3,
  .my-md-3 {
    margin-top: 0.6rem !important; }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 0.6rem !important; }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 0.6rem !important; }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 0.6rem !important; }
  .m-md-4 {
    margin: 1rem !important; }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1rem !important; }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1rem !important; }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1rem !important; }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1rem !important; }
  .m-md-5 {
    margin: 2.4rem !important; }
  .mt-md-5,
  .my-md-5 {
    margin-top: 2.4rem !important; }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 2.4rem !important; }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 2.4rem !important; }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 2.4rem !important; }
  .m-md-6 {
    margin: 3.6rem !important; }
  .mt-md-6,
  .my-md-6 {
    margin-top: 3.6rem !important; }
  .mr-md-6,
  .mx-md-6 {
    margin-right: 3.6rem !important; }
  .mb-md-6,
  .my-md-6 {
    margin-bottom: 3.6rem !important; }
  .ml-md-6,
  .mx-md-6 {
    margin-left: 3.6rem !important; }
  .m-md-7 {
    margin: 7.2rem !important; }
  .mt-md-7,
  .my-md-7 {
    margin-top: 7.2rem !important; }
  .mr-md-7,
  .mx-md-7 {
    margin-right: 7.2rem !important; }
  .mb-md-7,
  .my-md-7 {
    margin-bottom: 7.2rem !important; }
  .ml-md-7,
  .mx-md-7 {
    margin-left: 7.2rem !important; }
  .p-md-0 {
    padding: 0 !important; }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important; }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important; }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important; }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important; }
  .p-md-1 {
    padding: 0.15rem !important; }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.15rem !important; }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.15rem !important; }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.15rem !important; }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.15rem !important; }
  .p-md-2 {
    padding: 0.3rem !important; }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.3rem !important; }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.3rem !important; }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.3rem !important; }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.3rem !important; }
  .p-md-3 {
    padding: 0.6rem !important; }
  .pt-md-3,
  .py-md-3 {
    padding-top: 0.6rem !important; }
  .pr-md-3,
  .px-md-3 {
    padding-right: 0.6rem !important; }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 0.6rem !important; }
  .pl-md-3,
  .px-md-3 {
    padding-left: 0.6rem !important; }
  .p-md-4 {
    padding: 1rem !important; }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1rem !important; }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1rem !important; }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1rem !important; }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1rem !important; }
  .p-md-5 {
    padding: 2.4rem !important; }
  .pt-md-5,
  .py-md-5 {
    padding-top: 2.4rem !important; }
  .pr-md-5,
  .px-md-5 {
    padding-right: 2.4rem !important; }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 2.4rem !important; }
  .pl-md-5,
  .px-md-5 {
    padding-left: 2.4rem !important; }
  .p-md-6 {
    padding: 3.6rem !important; }
  .pt-md-6,
  .py-md-6 {
    padding-top: 3.6rem !important; }
  .pr-md-6,
  .px-md-6 {
    padding-right: 3.6rem !important; }
  .pb-md-6,
  .py-md-6 {
    padding-bottom: 3.6rem !important; }
  .pl-md-6,
  .px-md-6 {
    padding-left: 3.6rem !important; }
  .p-md-7 {
    padding: 7.2rem !important; }
  .pt-md-7,
  .py-md-7 {
    padding-top: 7.2rem !important; }
  .pr-md-7,
  .px-md-7 {
    padding-right: 7.2rem !important; }
  .pb-md-7,
  .py-md-7 {
    padding-bottom: 7.2rem !important; }
  .pl-md-7,
  .px-md-7 {
    padding-left: 7.2rem !important; }
  .m-md-n1 {
    margin: -0.15rem !important; }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.15rem !important; }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.15rem !important; }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.15rem !important; }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.15rem !important; }
  .m-md-n2 {
    margin: -0.3rem !important; }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.3rem !important; }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.3rem !important; }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.3rem !important; }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.3rem !important; }
  .m-md-n3 {
    margin: -0.6rem !important; }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -0.6rem !important; }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -0.6rem !important; }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -0.6rem !important; }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -0.6rem !important; }
  .m-md-n4 {
    margin: -1rem !important; }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1rem !important; }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1rem !important; }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1rem !important; }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1rem !important; }
  .m-md-n5 {
    margin: -2.4rem !important; }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -2.4rem !important; }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -2.4rem !important; }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -2.4rem !important; }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -2.4rem !important; }
  .m-md-n6 {
    margin: -3.6rem !important; }
  .mt-md-n6,
  .my-md-n6 {
    margin-top: -3.6rem !important; }
  .mr-md-n6,
  .mx-md-n6 {
    margin-right: -3.6rem !important; }
  .mb-md-n6,
  .my-md-n6 {
    margin-bottom: -3.6rem !important; }
  .ml-md-n6,
  .mx-md-n6 {
    margin-left: -3.6rem !important; }
  .m-md-n7 {
    margin: -7.2rem !important; }
  .mt-md-n7,
  .my-md-n7 {
    margin-top: -7.2rem !important; }
  .mr-md-n7,
  .mx-md-n7 {
    margin-right: -7.2rem !important; }
  .mb-md-n7,
  .my-md-n7 {
    margin-bottom: -7.2rem !important; }
  .ml-md-n7,
  .mx-md-n7 {
    margin-left: -7.2rem !important; }
  .m-md-auto {
    margin: auto !important; }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important; }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important; }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important; }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important; } }

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important; }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important; }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important; }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important; }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important; }
  .m-lg-1 {
    margin: 0.15rem !important; }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.15rem !important; }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.15rem !important; }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.15rem !important; }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.15rem !important; }
  .m-lg-2 {
    margin: 0.3rem !important; }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.3rem !important; }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.3rem !important; }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.3rem !important; }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.3rem !important; }
  .m-lg-3 {
    margin: 0.6rem !important; }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 0.6rem !important; }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 0.6rem !important; }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 0.6rem !important; }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 0.6rem !important; }
  .m-lg-4 {
    margin: 1rem !important; }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1rem !important; }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1rem !important; }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1rem !important; }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1rem !important; }
  .m-lg-5 {
    margin: 2.4rem !important; }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 2.4rem !important; }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 2.4rem !important; }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 2.4rem !important; }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 2.4rem !important; }
  .m-lg-6 {
    margin: 3.6rem !important; }
  .mt-lg-6,
  .my-lg-6 {
    margin-top: 3.6rem !important; }
  .mr-lg-6,
  .mx-lg-6 {
    margin-right: 3.6rem !important; }
  .mb-lg-6,
  .my-lg-6 {
    margin-bottom: 3.6rem !important; }
  .ml-lg-6,
  .mx-lg-6 {
    margin-left: 3.6rem !important; }
  .m-lg-7 {
    margin: 7.2rem !important; }
  .mt-lg-7,
  .my-lg-7 {
    margin-top: 7.2rem !important; }
  .mr-lg-7,
  .mx-lg-7 {
    margin-right: 7.2rem !important; }
  .mb-lg-7,
  .my-lg-7 {
    margin-bottom: 7.2rem !important; }
  .ml-lg-7,
  .mx-lg-7 {
    margin-left: 7.2rem !important; }
  .p-lg-0 {
    padding: 0 !important; }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important; }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important; }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important; }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important; }
  .p-lg-1 {
    padding: 0.15rem !important; }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.15rem !important; }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.15rem !important; }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.15rem !important; }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.15rem !important; }
  .p-lg-2 {
    padding: 0.3rem !important; }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.3rem !important; }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.3rem !important; }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.3rem !important; }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.3rem !important; }
  .p-lg-3 {
    padding: 0.6rem !important; }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 0.6rem !important; }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 0.6rem !important; }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 0.6rem !important; }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 0.6rem !important; }
  .p-lg-4 {
    padding: 1rem !important; }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1rem !important; }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1rem !important; }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1rem !important; }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1rem !important; }
  .p-lg-5 {
    padding: 2.4rem !important; }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 2.4rem !important; }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 2.4rem !important; }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 2.4rem !important; }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 2.4rem !important; }
  .p-lg-6 {
    padding: 3.6rem !important; }
  .pt-lg-6,
  .py-lg-6 {
    padding-top: 3.6rem !important; }
  .pr-lg-6,
  .px-lg-6 {
    padding-right: 3.6rem !important; }
  .pb-lg-6,
  .py-lg-6 {
    padding-bottom: 3.6rem !important; }
  .pl-lg-6,
  .px-lg-6 {
    padding-left: 3.6rem !important; }
  .p-lg-7 {
    padding: 7.2rem !important; }
  .pt-lg-7,
  .py-lg-7 {
    padding-top: 7.2rem !important; }
  .pr-lg-7,
  .px-lg-7 {
    padding-right: 7.2rem !important; }
  .pb-lg-7,
  .py-lg-7 {
    padding-bottom: 7.2rem !important; }
  .pl-lg-7,
  .px-lg-7 {
    padding-left: 7.2rem !important; }
  .m-lg-n1 {
    margin: -0.15rem !important; }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.15rem !important; }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.15rem !important; }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.15rem !important; }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.15rem !important; }
  .m-lg-n2 {
    margin: -0.3rem !important; }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.3rem !important; }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.3rem !important; }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.3rem !important; }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.3rem !important; }
  .m-lg-n3 {
    margin: -0.6rem !important; }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -0.6rem !important; }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -0.6rem !important; }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -0.6rem !important; }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -0.6rem !important; }
  .m-lg-n4 {
    margin: -1rem !important; }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1rem !important; }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1rem !important; }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1rem !important; }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1rem !important; }
  .m-lg-n5 {
    margin: -2.4rem !important; }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -2.4rem !important; }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -2.4rem !important; }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -2.4rem !important; }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -2.4rem !important; }
  .m-lg-n6 {
    margin: -3.6rem !important; }
  .mt-lg-n6,
  .my-lg-n6 {
    margin-top: -3.6rem !important; }
  .mr-lg-n6,
  .mx-lg-n6 {
    margin-right: -3.6rem !important; }
  .mb-lg-n6,
  .my-lg-n6 {
    margin-bottom: -3.6rem !important; }
  .ml-lg-n6,
  .mx-lg-n6 {
    margin-left: -3.6rem !important; }
  .m-lg-n7 {
    margin: -7.2rem !important; }
  .mt-lg-n7,
  .my-lg-n7 {
    margin-top: -7.2rem !important; }
  .mr-lg-n7,
  .mx-lg-n7 {
    margin-right: -7.2rem !important; }
  .mb-lg-n7,
  .my-lg-n7 {
    margin-bottom: -7.2rem !important; }
  .ml-lg-n7,
  .mx-lg-n7 {
    margin-left: -7.2rem !important; }
  .m-lg-auto {
    margin: auto !important; }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important; }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important; }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important; }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important; } }

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important; }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important; }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important; }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important; }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important; }
  .m-xl-1 {
    margin: 0.15rem !important; }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.15rem !important; }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.15rem !important; }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.15rem !important; }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.15rem !important; }
  .m-xl-2 {
    margin: 0.3rem !important; }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.3rem !important; }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.3rem !important; }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.3rem !important; }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.3rem !important; }
  .m-xl-3 {
    margin: 0.6rem !important; }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 0.6rem !important; }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 0.6rem !important; }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 0.6rem !important; }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 0.6rem !important; }
  .m-xl-4 {
    margin: 1rem !important; }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1rem !important; }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1rem !important; }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1rem !important; }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1rem !important; }
  .m-xl-5 {
    margin: 2.4rem !important; }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 2.4rem !important; }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 2.4rem !important; }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 2.4rem !important; }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 2.4rem !important; }
  .m-xl-6 {
    margin: 3.6rem !important; }
  .mt-xl-6,
  .my-xl-6 {
    margin-top: 3.6rem !important; }
  .mr-xl-6,
  .mx-xl-6 {
    margin-right: 3.6rem !important; }
  .mb-xl-6,
  .my-xl-6 {
    margin-bottom: 3.6rem !important; }
  .ml-xl-6,
  .mx-xl-6 {
    margin-left: 3.6rem !important; }
  .m-xl-7 {
    margin: 7.2rem !important; }
  .mt-xl-7,
  .my-xl-7 {
    margin-top: 7.2rem !important; }
  .mr-xl-7,
  .mx-xl-7 {
    margin-right: 7.2rem !important; }
  .mb-xl-7,
  .my-xl-7 {
    margin-bottom: 7.2rem !important; }
  .ml-xl-7,
  .mx-xl-7 {
    margin-left: 7.2rem !important; }
  .p-xl-0 {
    padding: 0 !important; }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important; }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important; }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important; }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important; }
  .p-xl-1 {
    padding: 0.15rem !important; }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.15rem !important; }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.15rem !important; }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.15rem !important; }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.15rem !important; }
  .p-xl-2 {
    padding: 0.3rem !important; }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.3rem !important; }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.3rem !important; }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.3rem !important; }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.3rem !important; }
  .p-xl-3 {
    padding: 0.6rem !important; }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 0.6rem !important; }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 0.6rem !important; }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 0.6rem !important; }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 0.6rem !important; }
  .p-xl-4 {
    padding: 1rem !important; }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1rem !important; }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1rem !important; }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1rem !important; }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1rem !important; }
  .p-xl-5 {
    padding: 2.4rem !important; }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 2.4rem !important; }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 2.4rem !important; }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 2.4rem !important; }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 2.4rem !important; }
  .p-xl-6 {
    padding: 3.6rem !important; }
  .pt-xl-6,
  .py-xl-6 {
    padding-top: 3.6rem !important; }
  .pr-xl-6,
  .px-xl-6 {
    padding-right: 3.6rem !important; }
  .pb-xl-6,
  .py-xl-6 {
    padding-bottom: 3.6rem !important; }
  .pl-xl-6,
  .px-xl-6 {
    padding-left: 3.6rem !important; }
  .p-xl-7 {
    padding: 7.2rem !important; }
  .pt-xl-7,
  .py-xl-7 {
    padding-top: 7.2rem !important; }
  .pr-xl-7,
  .px-xl-7 {
    padding-right: 7.2rem !important; }
  .pb-xl-7,
  .py-xl-7 {
    padding-bottom: 7.2rem !important; }
  .pl-xl-7,
  .px-xl-7 {
    padding-left: 7.2rem !important; }
  .m-xl-n1 {
    margin: -0.15rem !important; }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.15rem !important; }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.15rem !important; }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.15rem !important; }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.15rem !important; }
  .m-xl-n2 {
    margin: -0.3rem !important; }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.3rem !important; }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.3rem !important; }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.3rem !important; }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.3rem !important; }
  .m-xl-n3 {
    margin: -0.6rem !important; }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -0.6rem !important; }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -0.6rem !important; }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -0.6rem !important; }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -0.6rem !important; }
  .m-xl-n4 {
    margin: -1rem !important; }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1rem !important; }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1rem !important; }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1rem !important; }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1rem !important; }
  .m-xl-n5 {
    margin: -2.4rem !important; }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -2.4rem !important; }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -2.4rem !important; }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -2.4rem !important; }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -2.4rem !important; }
  .m-xl-n6 {
    margin: -3.6rem !important; }
  .mt-xl-n6,
  .my-xl-n6 {
    margin-top: -3.6rem !important; }
  .mr-xl-n6,
  .mx-xl-n6 {
    margin-right: -3.6rem !important; }
  .mb-xl-n6,
  .my-xl-n6 {
    margin-bottom: -3.6rem !important; }
  .ml-xl-n6,
  .mx-xl-n6 {
    margin-left: -3.6rem !important; }
  .m-xl-n7 {
    margin: -7.2rem !important; }
  .mt-xl-n7,
  .my-xl-n7 {
    margin-top: -7.2rem !important; }
  .mr-xl-n7,
  .mx-xl-n7 {
    margin-right: -7.2rem !important; }
  .mb-xl-n7,
  .my-xl-n7 {
    margin-bottom: -7.2rem !important; }
  .ml-xl-n7,
  .mx-xl-n7 {
    margin-left: -7.2rem !important; }
  .m-xl-auto {
    margin: auto !important; }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important; }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important; }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important; }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important; } }

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0); }

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important; }
  .text-sm-right {
    text-align: right !important; }
  .text-sm-center {
    text-align: center !important; } }

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important; }
  .text-md-right {
    text-align: right !important; }
  .text-md-center {
    text-align: center !important; } }

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important; }
  .text-lg-right {
    text-align: right !important; }
  .text-lg-center {
    text-align: center !important; } }

@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important; }
  .text-xl-right {
    text-align: right !important; }
  .text-xl-center {
    text-align: center !important; } }

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

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

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

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

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

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

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

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

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

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

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

a.text-primary:hover, a.text-primary:focus {
  color: #c25f09 !important; }

.text-secondary {
  color: #007FFF !important; }

a.text-secondary:hover, a.text-secondary:focus {
  color: #0059b3 !important; }

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

a.text-success:hover, a.text-success:focus {
  color: #19692c !important; }

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

a.text-info:hover, a.text-info:focus {
  color: #0f6674 !important; }

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

a.text-warning:hover, a.text-warning:focus {
  color: #ba8b00 !important; }

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

a.text-danger:hover, a.text-danger:focus {
  color: #a71d2a !important; }

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

a.text-light:hover, a.text-light:focus {
  color: lightgray !important; }

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

a.text-dark:hover, a.text-dark:focus {
  color: black !important; }

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

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

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

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

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

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

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

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

.visible {
  visibility: visible !important; }

.invisible {
  visibility: hidden !important; }

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important; }
  a:not(.btn) {
    text-decoration: underline; }
  abbr[title]::after {
    content: " (" attr(title) ")"; }
  pre {
    white-space: pre-wrap !important; }
  pre,
  blockquote {
    border: 1px solid #adadad;
    page-break-inside: avoid; }
  tr,
  img {
    page-break-inside: avoid; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  @page {
    size: a3; }
  body {
    min-width: 992px !important; }
  .container {
    min-width: 992px !important; }
  .navbar {
    display: none; }
  .badge {
    border: 1px solid #000; }
  .table {
    border-collapse: collapse !important; }
    .table td,
    .table th {
      background-color: #fff !important; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #dedede !important; }
  .table-dark {
    color: inherit; }
    .table-dark th,
    .table-dark td,
    .table-dark thead th,
    .table-dark tbody + tbody {
      border-color: #f2f2f2; }
  .table .thead-dark th {
    color: inherit;
    border-color: #f2f2f2; } }

div.cw-grid-two {
  grid-gap: 20px;
  grid-template-columns: auto auto auto auto auto;
  display: grid;
  overflow: auto; }

/************** ***************** **************/
/************** BOUTONS AVEC FOND **************/
/************** ***************** **************/
@media screen and (min-width: 0) {
  .btn-xs-100 {
    width: 100px !important; }
  .btn-xs-120 {
    width: 120px !important; }
  .btn-xs-140 {
    width: 140px !important; }
  .btn-xs-160 {
    width: 160px !important; }
  .btn-xs-180 {
    width: 180px !important; }
  .btn-xs-200 {
    width: 200px !important; }
  .btn-xs-220 {
    width: 220px !important; }
  .btn-xs-240 {
    width: 240px !important; }
  .btn-xs-260 {
    width: 260px !important; }
  .btn-xs-280 {
    width: 280px !important; }
  .btn-xs-300 {
    width: 300px !important; }
  .btn-xs-320 {
    width: 320px !important; }
  .btn-xs-340 {
    width: 340px !important; }
  .btn-xs-360 {
    width: 360px !important; }
  .btn-xs-380 {
    width: 380px !important; }
  .btn-xs-400 {
    width: 400px !important; } }

@media screen and (min-width: 576px) {
  .btn-sm-100 {
    width: 100px !important; }
  .btn-sm-120 {
    width: 120px !important; }
  .btn-sm-140 {
    width: 140px !important; }
  .btn-sm-160 {
    width: 160px !important; }
  .btn-sm-180 {
    width: 180px !important; }
  .btn-sm-200 {
    width: 200px !important; }
  .btn-sm-220 {
    width: 220px !important; }
  .btn-sm-240 {
    width: 240px !important; }
  .btn-sm-260 {
    width: 260px !important; }
  .btn-sm-280 {
    width: 280px !important; }
  .btn-sm-300 {
    width: 300px !important; }
  .btn-sm-320 {
    width: 320px !important; }
  .btn-sm-340 {
    width: 340px !important; }
  .btn-sm-360 {
    width: 360px !important; }
  .btn-sm-380 {
    width: 380px !important; }
  .btn-sm-400 {
    width: 400px !important; } }

@media screen and (min-width: 768px) {
  .btn-md-100 {
    width: 100px !important; }
  .btn-md-120 {
    width: 120px !important; }
  .btn-md-140 {
    width: 140px !important; }
  .btn-md-160 {
    width: 160px !important; }
  .btn-md-180 {
    width: 180px !important; }
  .btn-md-200 {
    width: 200px !important; }
  .btn-md-220 {
    width: 220px !important; }
  .btn-md-240 {
    width: 240px !important; }
  .btn-md-260 {
    width: 260px !important; }
  .btn-md-280 {
    width: 280px !important; }
  .btn-md-300 {
    width: 300px !important; }
  .btn-md-320 {
    width: 320px !important; }
  .btn-md-340 {
    width: 340px !important; }
  .btn-md-360 {
    width: 360px !important; }
  .btn-md-380 {
    width: 380px !important; }
  .btn-md-400 {
    width: 400px !important; } }

@media screen and (min-width: 992px) {
  .btn-lg-100 {
    width: 100px !important; }
  .btn-lg-120 {
    width: 120px !important; }
  .btn-lg-140 {
    width: 140px !important; }
  .btn-lg-160 {
    width: 160px !important; }
  .btn-lg-180 {
    width: 180px !important; }
  .btn-lg-200 {
    width: 200px !important; }
  .btn-lg-220 {
    width: 220px !important; }
  .btn-lg-240 {
    width: 240px !important; }
  .btn-lg-260 {
    width: 260px !important; }
  .btn-lg-280 {
    width: 280px !important; }
  .btn-lg-300 {
    width: 300px !important; }
  .btn-lg-320 {
    width: 320px !important; }
  .btn-lg-340 {
    width: 340px !important; }
  .btn-lg-360 {
    width: 360px !important; }
  .btn-lg-380 {
    width: 380px !important; }
  .btn-lg-400 {
    width: 400px !important; } }

@media screen and (min-width: 1200px) {
  .btn-xl-100 {
    width: 100px !important; }
  .btn-xl-120 {
    width: 120px !important; }
  .btn-xl-140 {
    width: 140px !important; }
  .btn-xl-160 {
    width: 160px !important; }
  .btn-xl-180 {
    width: 180px !important; }
  .btn-xl-200 {
    width: 200px !important; }
  .btn-xl-220 {
    width: 220px !important; }
  .btn-xl-240 {
    width: 240px !important; }
  .btn-xl-260 {
    width: 260px !important; }
  .btn-xl-280 {
    width: 280px !important; }
  .btn-xl-300 {
    width: 300px !important; }
  .btn-xl-320 {
    width: 320px !important; }
  .btn-xl-340 {
    width: 340px !important; }
  .btn-xl-360 {
    width: 360px !important; }
  .btn-xl-380 {
    width: 380px !important; }
  .btn-xl-400 {
    width: 400px !important; } }

@media (max-width: 575.98px) {
  [class*="btn-"] {
    width: 100%;
    clear: both; }
    [class*="btn-"] .dropdown {
      width: 100%; } }

.cw-opacity-100 {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100); }

.cw-opacity-90 {
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90); }

.cw-opacity-80 {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80); }

.cw-opacity-70 {
  opacity: 0.7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  filter: alpha(opacity=70); }

.cw-opacity-60 {
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  filter: alpha(opacity=60); }

.cw-opacity-50 {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50); }

.cw-opacity-40 {
  opacity: 0.4;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  filter: alpha(opacity=40); }

.cw-opacity-30 {
  opacity: 0.3;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
  filter: alpha(opacity=30); }

.cw-opacity-20 {
  opacity: 0.2;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
  filter: alpha(opacity=20); }

.cw-opacity-10 {
  opacity: 0.1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
  filter: alpha(opacity=10); }

.cw-opacity-0 {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0); }

button:focus, button:active:focus, button:focus-visible, .btn:focus, .btn:active:focus, .btn:focus-visible {
  outline: none; }

.btn-dropdown .dropdown {
  display: inline-block; }

.btn-dropdown button, .btn-dropdown .dropdown-menu {
  min-width: 100%; }

.btn-dropdown .dropdown-menu {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0em;
  text-transform: none;
  overflow: hidden; }

/************** ******************* **************/
/************** PARAMETRAGE DE BASE **************/
/************** ******************* **************/
.btn {
  border-radius: 0.313rem;
  -moz-transition: 0.2s;
  -o-transition: 0.2s;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  display: inline-block;
  z-index: 1;
  position: relative;
  height: initial;
  padding: 24px 30px;
  border: none;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0em;
  text-transform: none;
  text-align: center; }
  .btn:before, .btn:after {
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    content: '';
    z-index: -1; }
  .btn:hover, .btn:active, .btn:focus {
    border-radius: 0.313rem;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -webkit-transition: 0.2s;
    transition: 0.2s; }

.btn-primary, .button-primary {
  color: #fff !important;
  background-color: #f58422; }
  .btn-primary:hover, .button-primary:hover {
    color: #fff !important; }
  .btn-primary:hover, .button-primary:hover {
    background-color: #974700; }

.btn-secondary, .button-secondary {
  color: #fff !important;
  background-color: #007fff; }
  .btn-secondary:hover, .button-secondary:hover {
    color: #fff !important; }
  .btn-secondary:hover, .button-secondary:hover {
    background-color: #0066cc; }

.btn-tertiary {
  padding: 7px 0;
  margin: 0 2px;
  border-radius: 0; }
  @media (min-width: 992px) {
    .btn-tertiary {
      display: inline-block;
      position: relative; }
      .btn-tertiary:after, .btn-tertiary:before {
        -moz-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        -o-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        -webkit-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        display: inline-block;
        position: absolute;
        content: '';
        bottom: 0;
        width: 0;
        height: 100%; }
      .btn-tertiary:after {
        border-bottom: 1px solid #818181;
        width: 100%;
        left: 0; }
      .btn-tertiary:before {
        border-bottom: 1px solid #fff;
        width: 0;
        left: 50%;
        z-index: 1; }
      .btn-tertiary:hover:before {
        -moz-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        -o-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        -webkit-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        width: 100%;
        left: calc(50% - (100% / 2)); } }
  .btn-tertiary:hover, .btn-tertiary:active, .btn-tertiary:focus {
    border-radius: 0; }

/************** BLOC ACTU **************/
.all-actus {
  color: #fff !important;
  background-color: #f58422; }
  .all-actus:hover {
    color: #fff !important; }
  .all-actus:hover {
    background-color: #974700; }

/************** BLOC AVIS CLIENT (front)**************/
#avis-client .view-footer .btn-avis .btn-primary {
  color: #fff !important;
  background-color: #f58422; }
  #avis-client .view-footer .btn-avis .btn-primary:hover {
    color: #fff !important; }
  #avis-client .view-footer .btn-avis .btn-primary:hover {
    background-color: #974700; }

/************** AVIS CLIENT **************/
.page-node-add-message .form-actions .webform-submit, .page-node-add-message .form-actions #edit-submit {
  color: #fff !important;
  background-color: #f58422; }
  .page-node-add-message .form-actions .webform-submit:hover, .page-node-add-message .form-actions #edit-submit:hover {
    color: #fff !important; }
  .page-node-add-message .form-actions .webform-submit:hover, .page-node-add-message .form-actions #edit-submit:hover {
    background-color: #974700; }

/************** FORMULAIRE BLOC BOTTOM ACCUEIL **************/
/************** FORMULAIRE PAGE CONTACT **************/
/* ************************************************************* */
/* ************************ BTN EXEMPLE ************************ */
/* ************************************************************* */
.btn-0 {
  color: #fff !important;
  background-color: #f58422; }
  .btn-0:hover {
    color: #fff !important; }
  .btn-0:hover {
    background-color: #974700; }

.btn-1 {
  color: #fff !important;
  background: linear-gradient(90deg, #f58422, transparent 70%) #974700;
  transition: background-color 0.8s; }
  .btn-1:hover {
    color: #fff !important; }
  .btn-1:hover {
    background: linear-gradient(90deg, #974700, transparent 70%) #974700;
    background-color: #f6923a;
    transition: background-color 1s; }

.btn-2 {
  color: #fff !important;
  background: linear-gradient(90deg, #f58422, transparent 70%) #974700;
  transition: background-color 0.8s; }
  .btn-2:hover {
    color: #fff !important; }
  .btn-2:hover {
    background-color: #fffb1a;
    transition: background-color 1s; }

.btn-img {
  color: #fff !important;
  background-image: url("../images/bg-bouton-2.jpg");
  background-position: center center;
  background-repeat: repeat; }
  .btn-img:hover {
    color: #fff !important; }
  .btn-img:hover {
    background-image: url("../images/bg-bouton.jpg"); }

/* *********************************************************************** */
/* ************************ BTN pour Font Awesome ************************ */
/* *********************************************************************** */
[class*="btn-fa-"]::before, [class*="btn-fa-"]::after {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  width: 0px;
  overflow: hidden;
  position: relative;
  top: 2px; }

[class*="btn-fa-"]:hover::before, [class*="btn-fa-"]:hover::after {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  width: 10px; }

[class*="btn-fa-"]:hover::before {
  margin-right: 5px; }

[class*="btn-fa-"]:hover::after {
  margin-left: 5px; }

.btn-fa-angle-left::before {
  content: "\f105"; }

.btn-fa-angle-right::after {
  content: "\f104"; }

.btn-fa-angle-center::before {
  content: "\f105"; }

.btn-fa-angle-center::after {
  content: "\f104"; }

.btn-group-xs > .btn, .btn-xs {
  padding: .4rem .5rem;
  font-size: .65rem;
  line-height: .5;
  border-radius: .2rem; }

.btn-warning {
  color: #181818;
  background-color: #ffc107;
  border-color: #ffc107;
  border-radius: 0.313rem !important; }
  .btn-warning:hover {
    border-radius: 0.313rem !important;
    background-color: #d39e00;
    border-color: #c69500; }

/* ************************************************************ */
/* ************************ BTN slide ************************ */
/* ************************************************************ */
@media (max-width: 575.98px) {
  body .btn-slide {
    min-width: 250px !important; }
    body .btn-slide span {
      position: relative;
      right: 15px;
      color: #fff; }
    body .btn-slide:after {
      width: 100%; } }

.btn-slide {
  text-align: left;
  box-shadow: none;
  padding: 15px;
  padding-left: 62px;
  min-height: 50px; }
  .btn-slide span {
    -moz-transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    -o-transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    -webkit-transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    z-index: 1;
    position: relative;
    right: 0; }
  .btn-slide:before {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    text-align: center;
    position: absolute;
    z-index: 1;
    top: 2px;
    left: 1px;
    width: 50px;
    min-height: 50px;
    color: #fff;
    font-size: 25px;
    padding: 7.5px; }
  .btn-slide:after {
    -moz-transition: width 0.2s ease-in-out;
    -o-transition: width 0.2s ease-in-out;
    -webkit-transition: width 0.2s ease-in-out;
    transition: width 0.2s ease-in-out;
    content: "";
    position: absolute;
    top: -3px;
    left: 0px;
    width: 50px;
    min-height: 50px;
    height: 100%;
    background-color: #F58422;
    border-radius: 30px; }
  .btn-slide:hover span {
    -moz-transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    -o-transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    -webkit-transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    color: #fff !important;
    right: 15px; }
  .btn-slide:hover:after {
    width: 100%;
    height: 100%; }

.btn-slide.btn-slide-white {
  color: #fff !important; }
  .btn-slide.btn-slide-white:after {
    background-color: #007FFF; }

.btn-img {
  -moz-transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
  -o-transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
  -webkit-transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
  transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.2));
  -moz-filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.2));
  filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.2)); }
  .btn-img:hover {
    -moz-transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
    -o-transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
    -webkit-transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
    transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-filter: drop-shadow(0px 6px 12px rgba(0, 0, 0, 0.5));
    -moz-filter: drop-shadow(0px 6px 12px rgba(0, 0, 0, 0.5));
    filter: drop-shadow(0px 6px 12px rgba(0, 0, 0, 0.5)); }

.img-center, .box-center {
  margin: 0 auto; }

@media (min-width: 576px) {
  .img-sm-center, .box-sm-center {
    margin: 0 auto; }
  .img-sm-left, .box-sm-left {
    margin-left: 0;
    margin-right: auto; }
  .img-sm-right, .box-sm-right {
    margin-left: auto;
    margin-right: 0; } }

@media (min-width: 768px) {
  .md-img-article {
    max-width: 650px; }
  .img-md-center, .box-md-center {
    margin: 0 auto; }
  .img-md-left, .box-md-left {
    margin-left: 0;
    margin-right: auto; }
  .img-md-right, .box-md-right {
    margin-left: auto;
    margin-right: 0; } }

@media (min-width: 992px) {
  .lg-img-article {
    max-width: 790px; }
  .img-lg-center, .box-lg-center {
    margin: 0 auto; }
  .img-lg-left, .box-lg-left {
    margin-left: 0;
    margin-right: auto; }
  .img-lg-right, .box-lg-right {
    margin-left: auto;
    margin-right: 0; } }

@media (min-width: 1200px) {
  .img-xl-center, .box-xl-center {
    margin: 0 auto; }
  .img-xl-left, .box-xl-left {
    margin-left: 0;
    margin-right: auto; }
  .img-xl-right, .box-xl-right {
    margin-left: auto;
    margin-right: 0; } }

/* ------------ PICTOS PARALLAX ------------ */
.cw-ibox {
  -moz-transition: 0.1s ease-in-out;
  -o-transition: 0.1s ease-in-out;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  border-radius: 0.0939rem;
  padding: 20px;
  overflow: auto;
  background: #fcfcfc; }
  .cw-ibox > h4 {
    margin-top: 30px;
    text-transform: uppercase; }
  .cw-ibox h3 {
    margin-top: 0; }
  .cw-ibox .separation {
    margin-bottom: 10px; }
  .cw-ibox:hover {
    -webkit-transform: scale(1.03, 1.03);
    -moz-transform: scale(1.03, 1.03);
    -ms-transform: scale(1.03, 1.03);
    -o-transform: scale(1.03, 1.03);
    transform: scale(1.03, 1.03);
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    box-shadow: 0 0.8rem 1.4rem rgba(0, 0, 0, 0.08); }
  .cw-ibox ul:last-child, .cw-ibox p:last-child {
    margin-bottom: 0; }
  .cw-ibox ul {
    font-size: 0.8rem;
    line-height: 1.6; }

/* ------------ ZOOM SUR IMAGE b431 ------------ */
.cw-lazy img {
  -moz-transition: transform 0.3s ease-in-out;
  -o-transition: transform 0.3s ease-in-out;
  -webkit-transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out; }

.cw-lazy img:hover {
  -webkit-transform: scale(1.1, 1.1);
  -moz-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
  -o-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1); }

.cw-lazy-hide {
  overflow: hidden; }

/* ------------ ------------ ------------ */
.cw-no-before-after::before, .cw-no-before-after::after {
  display: none; }

.cw-content {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
  border-radius: 0.626rem;
  padding: 20px; }
  .cw-content:hover {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }

.cw-blend-mode-screen {
  mix-blend-mode: screen; }

.cw-blend-mode-darken {
  mix-blend-mode: darken; }

.cw-box-100 {
  width: 100%; }

.cw-boxradius-none img {
  border-radius: 0 !important; }

.cw-boxradius {
  border-radius: 0.313rem !important; }

.cw-boxradius-2 {
  border-radius: 30px !important; }

.cw-boxradius-1x1x {
  border-radius: calc(100px / 2) 0 calc(100px / 2) 0 !important; }

.cw-boxradius-x1x1 {
  border-radius: 0 calc(100px / 2) 0 calc(100px / 2) !important; }

@media (min-width: 768px) {
  .cw-boxradius-1x1x {
    border-radius: 100px 0 100px 0 !important; }
  .cw-boxradius-x1x1 {
    border-radius: 0 100px 0 100px !important; } }

.cw-boxshadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08); }

.cw-boxshadow-1 {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1); }

.cw-boxshadow-2 {
  box-shadow: 0 0.8rem 1.4rem rgba(0, 0, 0, 0.08); }

.cw-drop-shadow {
  -webkit-filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.15));
  -moz-filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.15));
  filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.15)); }

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

.cw-square {
  height: 260px;
  width: 260px;
  max-height: 80vw;
  max-width: 80vw;
  margin: auto; }

.cw-bg-drop_filter_blur {
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px); }

.cw-border {
  border: solid 1px rgba(233, 233, 233, 0.52) !important; }

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

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

.cw-line-vertical {
  width: 2px;
  background-color: #e9e9e9; }

.cw-bg-one {
  background-color: #F58422 !important; }

.cw-bg-two {
  background-color: #007FFF !important; }

.cw-bg-three {
  background-color: #F58422 !important; }

.cw-bg-one-tr {
  background: rgba(245, 132, 34, 0.8) !important; }

.cw-bg-two-tr {
  background: rgba(0, 127, 255, 0.8) !important; }

.cw-bg-three-tr {
  background: rgba(245, 132, 34, 0.8) !important; }

.cw-bg-white-tr {
  background: rgba(255, 255, 255, 0.8) !important; }

.cw-bg-black-tr, .cw-bg-dark-tr {
  background: rgba(0, 0, 0, 0.8) !important; }

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

.cw-bg-black, .cw-bg-dark {
  background-color: #000 !important; }

.cw-bg-gray {
  background-color: #f9f9f9 !important; }

.cw-bg-img {
  background-image: url("../images/picto-bg.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }

.cw-bg-gradient-one {
  background: -owg-linear-gradient(to top, #F58422 0%, #974700 100%);
  background: -webkit-linear-gradient(to top, #F58422 0%, #974700 100%);
  background: -moz-linear-gradient(to top, #F58422 0%, #974700 100%);
  background: -o-linear-gradient(to top, #F58422 0%, #974700 100%);
  background: linear-gradient(to top, #F58422 0%, #974700 100%); }

.cw-bg-gradient-two {
  background: -owg-linear-gradient(to top, #007FFF 0%, #0066cc 100%);
  background: -webkit-linear-gradient(to top, #007FFF 0%, #0066cc 100%);
  background: -moz-linear-gradient(to top, #007FFF 0%, #0066cc 100%);
  background: -o-linear-gradient(to top, #007FFF 0%, #0066cc 100%);
  background: linear-gradient(to top, #007FFF 0%, #0066cc 100%); }

.cw-bg-gradient-three {
  background: -owg-linear-gradient(to top, #FFFB00 0%, #666400 100%);
  background: -webkit-linear-gradient(to top, #FFFB00 0%, #666400 100%);
  background: -moz-linear-gradient(to top, #FFFB00 0%, #666400 100%);
  background: -o-linear-gradient(to top, #FFFB00 0%, #666400 100%);
  background: linear-gradient(to top, #FFFB00 0%, #666400 100%); }

.cw-bg-gradient-white {
  background: -owg-linear-gradient(to top, #fff 0%, #f9f9f9 100%);
  background: -webkit-linear-gradient(to top, #fff 0%, #f9f9f9 100%);
  background: -moz-linear-gradient(to top, #fff 0%, #f9f9f9 100%);
  background: -o-linear-gradient(to top, #fff 0%, #f9f9f9 100%);
  background: linear-gradient(to top, #fff 0%, #f9f9f9 100%); }

.cw-bg-gradient-gray {
  background: -owg-linear-gradient(to top, #f9f9f9 0%, #e9e9e9 100%);
  background: -webkit-linear-gradient(to top, #f9f9f9 0%, #e9e9e9 100%);
  background: -moz-linear-gradient(to top, #f9f9f9 0%, #e9e9e9 100%);
  background: -o-linear-gradient(to top, #f9f9f9 0%, #e9e9e9 100%);
  background: linear-gradient(to top, #f9f9f9 0%, #e9e9e9 100%); }

.cw-bg-gradient-dark {
  background: -owg-linear-gradient(to top, #343434 0%, #181818 100%);
  background: -webkit-linear-gradient(to top, #343434 0%, #181818 100%);
  background: -moz-linear-gradient(to top, #343434 0%, #181818 100%);
  background: -o-linear-gradient(to top, #343434 0%, #181818 100%);
  background: linear-gradient(to top, #343434 0%, #181818 100%); }

[class*="cw-bg-gradient-"] {
  position: relative; }
  [class*="cw-bg-gradient-"]:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }

.cw-bg-gradient-one-transparent:before {
  background: -owg-linear-gradient(to top, rgba(245, 132, 34, 0.6) 0%, rgba(245, 132, 34, 0.6) 100%);
  background: -webkit-linear-gradient(to top, rgba(245, 132, 34, 0.6) 0%, rgba(245, 132, 34, 0.6) 100%);
  background: -moz-linear-gradient(to top, rgba(245, 132, 34, 0.6) 0%, rgba(245, 132, 34, 0.6) 100%);
  background: -o-linear-gradient(to top, rgba(245, 132, 34, 0.6) 0%, rgba(245, 132, 34, 0.6) 100%);
  background: linear-gradient(to top, rgba(245, 132, 34, 0.6) 0%, rgba(245, 132, 34, 0.6) 100%); }

.cw-bg-gradient-two-transparent:before {
  background: -owg-linear-gradient(to top, rgba(0, 127, 255, 0.6) 0%, rgba(0, 127, 255, 0.6) 100%);
  background: -webkit-linear-gradient(to top, rgba(0, 127, 255, 0.6) 0%, rgba(0, 127, 255, 0.6) 100%);
  background: -moz-linear-gradient(to top, rgba(0, 127, 255, 0.6) 0%, rgba(0, 127, 255, 0.6) 100%);
  background: -o-linear-gradient(to top, rgba(0, 127, 255, 0.6) 0%, rgba(0, 127, 255, 0.6) 100%);
  background: linear-gradient(to top, rgba(0, 127, 255, 0.6) 0%, rgba(0, 127, 255, 0.6) 100%); }

.cw-bg-gradient-three-transparent:before {
  background: -owg-linear-gradient(to top, rgba(255, 251, 0, 0.6) 0%, rgba(255, 251, 0, 0.6) 100%);
  background: -webkit-linear-gradient(to top, rgba(255, 251, 0, 0.6) 0%, rgba(255, 251, 0, 0.6) 100%);
  background: -moz-linear-gradient(to top, rgba(255, 251, 0, 0.6) 0%, rgba(255, 251, 0, 0.6) 100%);
  background: -o-linear-gradient(to top, rgba(255, 251, 0, 0.6) 0%, rgba(255, 251, 0, 0.6) 100%);
  background: linear-gradient(to top, rgba(255, 251, 0, 0.6) 0%, rgba(255, 251, 0, 0.6) 100%); }

.cw-bg-gradient-white-transparent:before {
  background: -owg-linear-gradient(to top, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%);
  background: -webkit-linear-gradient(to top, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%);
  background: -moz-linear-gradient(to top, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%);
  background: -o-linear-gradient(to top, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%);
  background: linear-gradient(to top, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%); }

.cw-bg-gradient-gray-transparent:before {
  background: -owg-linear-gradient(to top, rgba(233, 233, 233, 0.6) 0%, rgba(233, 233, 233, 0.6) 100%);
  background: -webkit-linear-gradient(to top, rgba(233, 233, 233, 0.6) 0%, rgba(233, 233, 233, 0.6) 100%);
  background: -moz-linear-gradient(to top, rgba(233, 233, 233, 0.6) 0%, rgba(233, 233, 233, 0.6) 100%);
  background: -o-linear-gradient(to top, rgba(233, 233, 233, 0.6) 0%, rgba(233, 233, 233, 0.6) 100%);
  background: linear-gradient(to top, rgba(233, 233, 233, 0.6) 0%, rgba(233, 233, 233, 0.6) 100%); }

.cw-bg-gradient-dark-transparent:before {
  background: -owg-linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%);
  background: -webkit-linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%);
  background: -moz-linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%);
  background: -o-linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%); }

.cw-before-after-full {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }

.cw-filter-black:after {
  content: '';
  position: absolute;
  height: 100%;
  width: 100%;
  opacity: 0.55;
  background-color: #000; }

.cw-img-grayscale {
  -webkit-filter: grayscale(1);
  -moz-filter: grayscale(1);
  filter: grayscale(1); }

.cw-newline {
  display: inline-block; }

/* --- display none a partir de ... cf queries --- */
.front .xs-fr-hidden {
  display: none; }

.not-front .xs-nfr-hidden {
  display: none; }

@media (min-width: 576px) {
  .cw-ibox {
    padding: 50px;
    margin: 0 auto; } }

@media (min-width: 768px) {
  .md-img-article {
    max-width: 650px; } }

@media (min-width: 992px) {
  .lg-img-article {
    max-width: 790px; } }

.cw-table-container {
  padding: 30px;
  background-color: rgba(245, 132, 34, 0.35);
  color: #F58422; }
  .cw-table-container h2 {
    font-weight: 500;
    color: #F58422; }
  .cw-table-container .btn {
    color: #fff !important;
    background-color: #007fff;
    border: 0px solid #007fff;
    padding: 7px 7px; }
    .cw-table-container .btn:hover {
      color: #fff !important; }
    .cw-table-container .btn:hover {
      background-color: #0066cc; }
    .cw-table-container .btn:hover {
      border: 0px solid #0066cc; }
  .cw-table-container thead tr td {
    padding: 20px;
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    font-size: 18px;
    text-align: center; }
    .cw-table-container thead tr td:first-child {
      text-align: left; }
  .cw-table-container .cw-table-mob {
    background-color: rgba(255, 255, 255, 0.7); }
    .cw-table-container .cw-table-mob tbody tr {
      display: flex;
      flex-direction: column;
      width: 100%;
      color: #F58422; }
      .cw-table-container .cw-table-mob tbody tr:nth-child(2n+1) {
        background-color: rgba(255, 255, 255, 0.4); }
      .cw-table-container .cw-table-mob tbody tr td {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100% !important;
        padding: 0px 20px 10px 20px; }
        .cw-table-container .cw-table-mob tbody tr td br {
          display: none; }
        .cw-table-container .cw-table-mob tbody tr td:last-child {
          padding-bottom: 20px; }
        .cw-table-container .cw-table-mob tbody tr td:first-child {
          padding: 20px !important; }
        .cw-table-container .cw-table-mob tbody tr td p {
          margin: 0px;
          text-align: center; }

/***Tableau complexe - before - ajouter la classe .cw-table-complex ***/
.cw-table-container .cw-table-complex thead {
  display: none; }

.cw-table-container .cw-table-complex tbody tr td:nth-child(2):before {
  content: "- Mini -"; }

.cw-table-container .cw-table-complex tbody tr td:nth-child(3):before {
  content: "- Standard -"; }

.cw-table-container .cw-table-complex tbody tr td:nth-child(4):before {
  content: "- Grande -"; }

.not-before:before {
  display: none; }

/*** Deux tableau dans une carte_menu ***/
.cw-container-two-table {
  display: flex;
  flex-direction: column; }
  .cw-container-two-table .cw-table-container {
    width: 100%;
    margin-bottom: 20px; }

@media (min-width: 768px) {
  .cw-table-mob tbody tr {
    display: table-row !important; }
  .cw-table-mob tbody td {
    display: table-cell !important;
    min-width: 90px;
    padding: 20px !important;
    text-align: center;
    white-space: nowrap; }
    .cw-table-mob tbody td:before {
      display: none; }
    .cw-table-mob tbody td:first-child {
      width: 55% !important;
      text-align: left;
      white-space: normal !important; }
      .cw-table-mob tbody td:first-child br {
        display: block !important; }
  /***Tableau complexe - thead - ajouter la classe .cw-table-complex ***/
  .cw-table-container .cw-table-complex thead {
    display: table-header-group; }
  /*** Deux tableau dans une carte_menu ***/
  .cw-container-two-table {
    display: flex;
    flex-direction: row;
    justify-content: space-between; }
    .cw-container-two-table .cw-table-container {
      width: 48%;
      margin: 0px; } }

/************** ********************* **************/
/************** TEXTE CENTRER SUR IMG **************/
/************** ********************* **************/
#inner-page-section .cw-img-hover {
  position: relative; }
  #inner-page-section .cw-img-hover a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 400px;
    opacity: 0;
    text-transform: uppercase; }
    #inner-page-section .cw-img-hover a:hover {
      color: #fff;
      opacity: 1;
      background-color: #007fff;
      background-color: rgba(0, 127, 255, 0.86); }

/************** ****** **************/
/************** LOGOS **************/
/************** ****** **************/
.paragraph--type--bloc-logo-multiple .row {
  align-items: flex-start;
  justify-content: center; }

.paragraph--type--bloc-logo-multiple .col-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.6rem; }

.paragraph--type--bloc-logo-multiple .col-logo-caption_out.flex-lg-row .logo-caption {
  margin-left: 30px; }

.paragraph--type--bloc-logo-multiple .logo {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 30px 0;
  padding: 20px; }
  .paragraph--type--bloc-logo-multiple .logo.logo-square {
    min-height: 220px;
    max-width: 220px; }
  .paragraph--type--bloc-logo-multiple .logo.logo-rectangle {
    min-height: 150px;
    max-width: 250px; }

.paragraph--type--bloc-logo-multiple .logo-caption {
  max-width: 300px; }

@media (max-width: 575.98px) {
  .paragraph--type--bloc-logo-multiple .logo {
    margin: 10px 30px; } }

@media (min-width: 576px) and (max-width: 1199.98px) {
  .paragraph--type--bloc-logo-multiple .logo {
    margin: 2px 30px; } }

@media (min-width: 768px) {
  .paragraph--type--bloc-logo-multiple .logo-image {
    min-height: 71px;
    display: flex;
    align-items: center; } }

@media (min-width: 1200px) {
  .paragraph--type--bloc-logo-multiple .col-xl-2.custom-col-5 {
    flex: 0 0 20%;
    max-width: 20%; } }

/************** ****** **************/
/************** PICTOS **************/
/************** ****** **************/
.cw-pictos {
  display: flex;
  flex-wrap: wrap; }
  .cw-pictos.cw-pictos-mt-legend .picto-legende {
    margin-top: 2rem; }
  .cw-pictos > div {
    display: flex;
    flex-direction: column;
    align-items: center; }
    .cw-pictos > div > div {
      display: flex;
      justify-content: center; }
  .cw-pictos .picto {
    display: flex;
    align-items: center;
    flex-direction: column;
    fill: #fff;
    height: 220px;
    width: 220px;
    padding: 12%;
    overflow: hidden; }
    .cw-pictos .picto img {
      margin: auto;
      display: block;
      max-width: 100%;
      max-height: 100%;
      height: auto; }
  .cw-pictos .picto-image {
    min-height: 129px;
    display: flex;
    align-items: center; }
  .cw-pictos .picto-legende {
    max-width: 330px;
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.4;
    text-align: center; }
    .cw-pictos .picto-legende b {
      font-family: "Montserrat", sans-serif;
      font-weight: 600;
      font-size: 1.2em; }

.cw-pictos-xs > div {
  margin: 0 5px;
  width: 100%;
  max-width: 140px; }
  .cw-pictos-xs > div .picto {
    height: 140px;
    width: 100%; }

.cw-pictos-sm > div {
  margin: 0 10px;
  width: 100%;
  max-width: 160px; }
  .cw-pictos-sm > div .picto {
    height: 160px;
    width: 100%; }

.cw-pictos-md > div {
  margin: 0 15px;
  width: 100%;
  max-width: 180px; }
  .cw-pictos-md > div .picto {
    width: 100%;
    height: 180px; }

.cw-pictos-lg > div {
  margin: 0 20px;
  width: 100%;
  max-width: 200px; }
  .cw-pictos-lg > div .picto {
    height: 200px;
    width: 100%; }

.cw-pictos-rectangle > div {
  margin: 0 20px;
  width: 100%;
  max-width: 400px; }
  .cw-pictos-rectangle > div .picto {
    height: 200px;
    width: 100%;
    padding: 8%; }

.all-img-grayscale img {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  filter: grayscale(100%);
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  -webkit-transition: 0.5s;
  transition: 0.5s; }
  .all-img-grayscale img:hover {
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    filter: grayscale(0%);
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -webkit-transition: 0.5s;
    transition: 0.5s; }

/************** ****** **************/
/************** PUZZLE **************/
/************** ****** **************/
.puzzle-img-height-10.img-content {
  height: 10% !important; }

.puzzle-col-width-10 {
  width: 10% !important; }

.puzzle-img-height-20.img-content {
  height: 20% !important; }

.puzzle-col-width-20 {
  width: 20% !important; }

.puzzle-img-height-30.img-content {
  height: 33.33% !important; }

.puzzle-col-width-30 {
  width: 33.33% !important; }

.puzzle-img-height-50.img-content {
  height: 50% !important; }

.puzzle-col-width-50 {
  width: 50% !important; }

.puzzle-img-height-100.img-content {
  height: 100% !important; }

.puzzle-col-width-100 {
  width: 100% !important; }

.cw-imgs-puzzle .content {
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  .cw-imgs-puzzle .content .img-content:nth-child(n+2) {
    padding-top: calc(7px * 2); }
  .cw-imgs-puzzle .content > div:nth-child(n+2) {
    padding-left: calc(7px * 2); }

.cw-imgs-puzzle .img-background {
  position: relative;
  background-position: center center;
  background-size: cover;
  width: 100%;
  height: 100%;
  border-radius: 0.313rem; }
  .cw-imgs-puzzle .img-background img {
    filter: brightness(1) blur(0px);
    -moz-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    -o-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    -webkit-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    border-radius: 0.0939rem; }
  .cw-imgs-puzzle .img-background .show-more {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    color: #fff; }
    .cw-imgs-puzzle .img-background .show-more .icon {
      transform: rotate(225deg); }
    .cw-imgs-puzzle .img-background .show-more .icon:before {
      font-family: "Font Awesome 5 free";
      font-weight: 900;
      font-size: 1.2rem;
      content: "";
      display: block;
      -webkit-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
      -moz-transition: all 0.2s;
      -o-transition: all 0.2s;
      -webkit-transition: all 0.2s;
      transition: all 0.2s; }
    .cw-imgs-puzzle .img-background .show-more .title {
      font-family: "Montserrat", sans-serif;
      font-size: 0.75rem;
      display: block;
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
      opacity: 0;
      -moz-transition: all 0.8s 0.2s;
      -o-transition: all 0.8s 0.2s;
      -webkit-transition: all 0.8s 0.2s;
      transition: all 0.8s 0.2s; }
  .cw-imgs-puzzle .img-background:hover img {
    -webkit-transform: scale(1.6);
    -moz-transform: scale(1.6);
    -ms-transform: scale(1.6);
    -o-transform: scale(1.6);
    transform: scale(1.6);
    filter: brightness(0.5) blur(1px); }
  .cw-imgs-puzzle .img-background:hover .show-more {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s; }
    .cw-imgs-puzzle .img-background:hover .show-more .icon:before {
      -webkit-transform: scale(1.5, 1.5);
      -moz-transform: scale(1.5, 1.5);
      -ms-transform: scale(1.5, 1.5);
      -o-transform: scale(1.5, 1.5);
      transform: scale(1.5, 1.5);
      -moz-transition: all 0.6s;
      -o-transition: all 0.6s;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .cw-imgs-puzzle .img-background:hover .title {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  .cw-imgs-puzzle .img-background:hover .show-more {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7;
    border-radius: 0.313rem;
    background-color: #f58422; }

.cw-imgs-puzzle .col-puzzle-1, .cw-imgs-puzzle .col-puzzle-2 {
  height: calc(2 * 190px); }

.cw-imgs-puzzle .col-puzzle-3 {
  height: calc(385px / 2);
  margin-top: calc(7px * 2);
  padding-left: 0 !important; }

[class*="cw-follow-us-"] {
  color: #111; }
  [class*="cw-follow-us-"] a {
    color: #111 !important; }
  [class*="cw-follow-us-"] a > i {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    width: 50px;
    height: 50px;
    background: #007FFF;
    color: #fff;
    font-size: 24px;
    border-radius: 0.313rem;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); }
    [class*="cw-follow-us-"] a > i path {
      -moz-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      -webkit-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out;
      fill: #fff; }
    [class*="cw-follow-us-"] a > i:hover, [class*="cw-follow-us-"] a > ifocus {
      -moz-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      -webkit-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out;
      background-color: #0066cc;
      color: #fff;
      box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.1); }
      [class*="cw-follow-us-"] a > i:hover path, [class*="cw-follow-us-"] a > ifocus path {
        -moz-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        -webkit-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
        fill: #fff; }
  [class*="cw-follow-us-"] a i.fab, [class*="cw-follow-us-"] a .svg {
    display: flex;
    justify-content: center;
    align-items: center; }
  [class*="cw-follow-us-"] i > svg {
    width: 21px;
    height: 18px;
    max-width: 100%;
    max-height: 100%; }
    [class*="cw-follow-us-"] i > svg:hover, [class*="cw-follow-us-"] i > svgfocus {
      fill: #fff; }

.cw-follow-us-only {
  font-size: 18px;
  line-height: 1.2em; }

.cw-follow-us-various {
  font-size: 0.9rem; }
  .cw-follow-us-various .cw-follow-us-various-content a {
    display: inline-block;
    margin: 5px; }

.cw-container {
  max-width: 1140px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

@media (max-width: 575.98px) {
  table.cw-table-responsive {
    background-color: #dedede; }
    table.cw-table-responsive thead {
      display: none; }
    table.cw-table-responsive tr {
      display: block;
      border-bottom: 0.5px dashed #e9e9e9; }
      table.cw-table-responsive tr td {
        display: block; }
        table.cw-table-responsive tr td:before {
          content: attr(data-label);
          display: block;
          text-align: center;
          text-transform: uppercase;
          font-weight: bold; }
      table.cw-table-responsive tr td:first-child {
        background: #fcfcfc !important; } }

@media (min-width: 576px) {
  .front .sm-fr-hidden {
    display: none; }
  .not-front .sm-nfr-hidden {
    display: none; } }

@media (min-width: 768px) {
  .front .md-fr-hidden {
    display: none; }
  .not-front .md-nfr-hidden {
    display: none; } }

@media (min-width: 992px) {
  .front .lg-fr-hidden {
    display: none; }
  .not-front .lg-nfr-hidden {
    display: none; } }

/* -1 ou 1 pour orientation horizontal de la forme */
/************** **** **************/
/************** BLOC **************/
/************** **** **************/
/************** ***** **************/
/************** CLASS **************/
/************** ***** **************/
[class*="shape-divider-bottom-"] {
  position: relative;
  padding-bottom: 20px; }
  [class*="shape-divider-bottom-"]:after {
    bottom: -1px; }

[class*="shape-divider-top-"] {
  position: relative;
  padding-top: 20px; }
  [class*="shape-divider-top-"]:before {
    top: -1px; }

.shape-divider-top-down-lr:before {
  content: '';
  position: absolute;
  background-color: transparent;
  background-size: 100% calc(70px - 50px);
  background-repeat: repeat-x;
  background-position: top center;
  width: 100%;
  height: calc(70px - 50px);
  display: block;
  z-index: 1031;
  background-image: url('data:image/svg+xml;utf8, <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z" class="shape-fill" fill="rgba(245, 132, 34, 1)"></path> </svg>');
  transform: scale(1, 1);
  fill: #0e69be; }
  @media (min-width: 992px) {
    .shape-divider-top-down-lr:before {
      height: 70px;
      background-size: 100% 70px; } }

.shape-divider-top-up-lr:before {
  content: '';
  position: absolute;
  background-color: transparent;
  background-size: 100% calc(70px - 50px);
  background-repeat: repeat-x;
  background-position: top center;
  width: 100%;
  height: calc(70px - 50px);
  display: block;
  z-index: 1031;
  background-image: url('data:image/svg+xml;utf8, <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z" class="shape-fill" fill="rgba(245, 132, 34, 1)"></path> </svg>');
  transform: scale(-1, 1); }
  @media (min-width: 992px) {
    .shape-divider-top-up-lr:before {
      height: 70px;
      background-size: 100% 70px; } }

.shape-divider-bottom-down-lr:after {
  content: '';
  position: absolute;
  background-color: transparent;
  background-size: 100% calc(70px - 50px);
  background-repeat: repeat-x;
  background-position: top center;
  width: 100%;
  height: calc(70px - 50px);
  display: block;
  z-index: 1031;
  background-image: url('data:image/svg+xml;utf8, <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z" class="shape-fill" fill="rgba(245, 132, 34, 1)"></path> </svg>');
  transform: scale(-1, -1); }
  @media (min-width: 992px) {
    .shape-divider-bottom-down-lr:after {
      height: 70px;
      background-size: 100% 70px; } }

.shape-divider-bottom-up-rl:after {
  content: '';
  position: absolute;
  background-color: transparent;
  background-size: 100% calc(70px - 50px);
  background-repeat: repeat-x;
  background-position: top center;
  width: 100%;
  height: calc(70px - 50px);
  display: block;
  z-index: 1031;
  background-image: url('data:image/svg+xml;utf8, <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z" class="shape-fill" fill="rgba(245, 132, 34, 1)"></path> </svg>');
  transform: scale(1, -1); }
  @media (min-width: 992px) {
    .shape-divider-bottom-up-rl:after {
      height: 70px;
      background-size: 100% 70px; } }

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

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

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

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

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

.m-10 {
  margin: 10px !important; }

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

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

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

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

.m-15 {
  margin: 15px !important; }

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

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

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

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

.m-20 {
  margin: 20px !important; }

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

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

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

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

.m-30 {
  margin: 30px !important; }

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

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

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

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

.m-40 {
  margin: 40px !important; }

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

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

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

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

.m-50 {
  margin: 50px !important; }

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

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

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

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

.m-60 {
  margin: 60px !important; }

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

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

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

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

.m-70 {
  margin: 70px !important; }

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

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

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

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

.m-80 {
  margin: 80px !important; }

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

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

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

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

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

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

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

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

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

.p-10 {
  padding: 10px !important; }

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

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

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

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

.p-15 {
  padding: 15px !important; }

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

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

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

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

.p-20 {
  padding: 20px !important; }

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

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

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

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

.p-30 {
  padding: 30px !important; }

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

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

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

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

.p-40 {
  padding: 40px !important; }

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

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

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

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

.p-50 {
  padding: 50px !important; }

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

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

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

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

.p-60 {
  padding: 60px !important; }

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

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

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

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

.p-70 {
  padding: 70px !important; }

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

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

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

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

.p-80 {
  padding: 80px !important; }

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

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

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

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

.m-n10 {
  margin: -10px !important; }

.mt-n10,
.my-n10 {
  margin-top: -10px !important; }

.mr-n10,
.mx-n10 {
  margin-right: -10px !important; }

.mb-n10,
.my-n10 {
  margin-bottom: -10px !important; }

.ml-n10,
.mx-n10 {
  margin-left: -10px !important; }

.m-n15 {
  margin: -15px !important; }

.mt-n15,
.my-n15 {
  margin-top: -15px !important; }

.mr-n15,
.mx-n15 {
  margin-right: -15px !important; }

.mb-n15,
.my-n15 {
  margin-bottom: -15px !important; }

.ml-n15,
.mx-n15 {
  margin-left: -15px !important; }

.m-n20 {
  margin: -20px !important; }

.mt-n20,
.my-n20 {
  margin-top: -20px !important; }

.mr-n20,
.mx-n20 {
  margin-right: -20px !important; }

.mb-n20,
.my-n20 {
  margin-bottom: -20px !important; }

.ml-n20,
.mx-n20 {
  margin-left: -20px !important; }

.m-n30 {
  margin: -30px !important; }

.mt-n30,
.my-n30 {
  margin-top: -30px !important; }

.mr-n30,
.mx-n30 {
  margin-right: -30px !important; }

.mb-n30,
.my-n30 {
  margin-bottom: -30px !important; }

.ml-n30,
.mx-n30 {
  margin-left: -30px !important; }

.m-n40 {
  margin: -40px !important; }

.mt-n40,
.my-n40 {
  margin-top: -40px !important; }

.mr-n40,
.mx-n40 {
  margin-right: -40px !important; }

.mb-n40,
.my-n40 {
  margin-bottom: -40px !important; }

.ml-n40,
.mx-n40 {
  margin-left: -40px !important; }

.m-n50 {
  margin: -50px !important; }

.mt-n50,
.my-n50 {
  margin-top: -50px !important; }

.mr-n50,
.mx-n50 {
  margin-right: -50px !important; }

.mb-n50,
.my-n50 {
  margin-bottom: -50px !important; }

.ml-n50,
.mx-n50 {
  margin-left: -50px !important; }

.m-n60 {
  margin: -60px !important; }

.mt-n60,
.my-n60 {
  margin-top: -60px !important; }

.mr-n60,
.mx-n60 {
  margin-right: -60px !important; }

.mb-n60,
.my-n60 {
  margin-bottom: -60px !important; }

.ml-n60,
.mx-n60 {
  margin-left: -60px !important; }

.m-n70 {
  margin: -70px !important; }

.mt-n70,
.my-n70 {
  margin-top: -70px !important; }

.mr-n70,
.mx-n70 {
  margin-right: -70px !important; }

.mb-n70,
.my-n70 {
  margin-bottom: -70px !important; }

.ml-n70,
.mx-n70 {
  margin-left: -70px !important; }

.m-n80 {
  margin: -80px !important; }

.mt-n80,
.my-n80 {
  margin-top: -80px !important; }

.mr-n80,
.mx-n80 {
  margin-right: -80px !important; }

.mb-n80,
.my-n80 {
  margin-bottom: -80px !important; }

.ml-n80,
.mx-n80 {
  margin-left: -80px !important; }

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0px !important; }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0px !important; }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0px !important; }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0px !important; }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0px !important; }
  .m-sm-10 {
    margin: 10px !important; }
  .mt-sm-10,
  .my-sm-10 {
    margin-top: 10px !important; }
  .mr-sm-10,
  .mx-sm-10 {
    margin-right: 10px !important; }
  .mb-sm-10,
  .my-sm-10 {
    margin-bottom: 10px !important; }
  .ml-sm-10,
  .mx-sm-10 {
    margin-left: 10px !important; }
  .m-sm-15 {
    margin: 15px !important; }
  .mt-sm-15,
  .my-sm-15 {
    margin-top: 15px !important; }
  .mr-sm-15,
  .mx-sm-15 {
    margin-right: 15px !important; }
  .mb-sm-15,
  .my-sm-15 {
    margin-bottom: 15px !important; }
  .ml-sm-15,
  .mx-sm-15 {
    margin-left: 15px !important; }
  .m-sm-20 {
    margin: 20px !important; }
  .mt-sm-20,
  .my-sm-20 {
    margin-top: 20px !important; }
  .mr-sm-20,
  .mx-sm-20 {
    margin-right: 20px !important; }
  .mb-sm-20,
  .my-sm-20 {
    margin-bottom: 20px !important; }
  .ml-sm-20,
  .mx-sm-20 {
    margin-left: 20px !important; }
  .m-sm-30 {
    margin: 30px !important; }
  .mt-sm-30,
  .my-sm-30 {
    margin-top: 30px !important; }
  .mr-sm-30,
  .mx-sm-30 {
    margin-right: 30px !important; }
  .mb-sm-30,
  .my-sm-30 {
    margin-bottom: 30px !important; }
  .ml-sm-30,
  .mx-sm-30 {
    margin-left: 30px !important; }
  .m-sm-40 {
    margin: 40px !important; }
  .mt-sm-40,
  .my-sm-40 {
    margin-top: 40px !important; }
  .mr-sm-40,
  .mx-sm-40 {
    margin-right: 40px !important; }
  .mb-sm-40,
  .my-sm-40 {
    margin-bottom: 40px !important; }
  .ml-sm-40,
  .mx-sm-40 {
    margin-left: 40px !important; }
  .m-sm-50 {
    margin: 50px !important; }
  .mt-sm-50,
  .my-sm-50 {
    margin-top: 50px !important; }
  .mr-sm-50,
  .mx-sm-50 {
    margin-right: 50px !important; }
  .mb-sm-50,
  .my-sm-50 {
    margin-bottom: 50px !important; }
  .ml-sm-50,
  .mx-sm-50 {
    margin-left: 50px !important; }
  .m-sm-60 {
    margin: 60px !important; }
  .mt-sm-60,
  .my-sm-60 {
    margin-top: 60px !important; }
  .mr-sm-60,
  .mx-sm-60 {
    margin-right: 60px !important; }
  .mb-sm-60,
  .my-sm-60 {
    margin-bottom: 60px !important; }
  .ml-sm-60,
  .mx-sm-60 {
    margin-left: 60px !important; }
  .m-sm-70 {
    margin: 70px !important; }
  .mt-sm-70,
  .my-sm-70 {
    margin-top: 70px !important; }
  .mr-sm-70,
  .mx-sm-70 {
    margin-right: 70px !important; }
  .mb-sm-70,
  .my-sm-70 {
    margin-bottom: 70px !important; }
  .ml-sm-70,
  .mx-sm-70 {
    margin-left: 70px !important; }
  .m-sm-80 {
    margin: 80px !important; }
  .mt-sm-80,
  .my-sm-80 {
    margin-top: 80px !important; }
  .mr-sm-80,
  .mx-sm-80 {
    margin-right: 80px !important; }
  .mb-sm-80,
  .my-sm-80 {
    margin-bottom: 80px !important; }
  .ml-sm-80,
  .mx-sm-80 {
    margin-left: 80px !important; }
  .p-sm-0 {
    padding: 0px !important; }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0px !important; }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0px !important; }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0px !important; }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0px !important; }
  .p-sm-10 {
    padding: 10px !important; }
  .pt-sm-10,
  .py-sm-10 {
    padding-top: 10px !important; }
  .pr-sm-10,
  .px-sm-10 {
    padding-right: 10px !important; }
  .pb-sm-10,
  .py-sm-10 {
    padding-bottom: 10px !important; }
  .pl-sm-10,
  .px-sm-10 {
    padding-left: 10px !important; }
  .p-sm-15 {
    padding: 15px !important; }
  .pt-sm-15,
  .py-sm-15 {
    padding-top: 15px !important; }
  .pr-sm-15,
  .px-sm-15 {
    padding-right: 15px !important; }
  .pb-sm-15,
  .py-sm-15 {
    padding-bottom: 15px !important; }
  .pl-sm-15,
  .px-sm-15 {
    padding-left: 15px !important; }
  .p-sm-20 {
    padding: 20px !important; }
  .pt-sm-20,
  .py-sm-20 {
    padding-top: 20px !important; }
  .pr-sm-20,
  .px-sm-20 {
    padding-right: 20px !important; }
  .pb-sm-20,
  .py-sm-20 {
    padding-bottom: 20px !important; }
  .pl-sm-20,
  .px-sm-20 {
    padding-left: 20px !important; }
  .p-sm-30 {
    padding: 30px !important; }
  .pt-sm-30,
  .py-sm-30 {
    padding-top: 30px !important; }
  .pr-sm-30,
  .px-sm-30 {
    padding-right: 30px !important; }
  .pb-sm-30,
  .py-sm-30 {
    padding-bottom: 30px !important; }
  .pl-sm-30,
  .px-sm-30 {
    padding-left: 30px !important; }
  .p-sm-40 {
    padding: 40px !important; }
  .pt-sm-40,
  .py-sm-40 {
    padding-top: 40px !important; }
  .pr-sm-40,
  .px-sm-40 {
    padding-right: 40px !important; }
  .pb-sm-40,
  .py-sm-40 {
    padding-bottom: 40px !important; }
  .pl-sm-40,
  .px-sm-40 {
    padding-left: 40px !important; }
  .p-sm-50 {
    padding: 50px !important; }
  .pt-sm-50,
  .py-sm-50 {
    padding-top: 50px !important; }
  .pr-sm-50,
  .px-sm-50 {
    padding-right: 50px !important; }
  .pb-sm-50,
  .py-sm-50 {
    padding-bottom: 50px !important; }
  .pl-sm-50,
  .px-sm-50 {
    padding-left: 50px !important; }
  .p-sm-60 {
    padding: 60px !important; }
  .pt-sm-60,
  .py-sm-60 {
    padding-top: 60px !important; }
  .pr-sm-60,
  .px-sm-60 {
    padding-right: 60px !important; }
  .pb-sm-60,
  .py-sm-60 {
    padding-bottom: 60px !important; }
  .pl-sm-60,
  .px-sm-60 {
    padding-left: 60px !important; }
  .p-sm-70 {
    padding: 70px !important; }
  .pt-sm-70,
  .py-sm-70 {
    padding-top: 70px !important; }
  .pr-sm-70,
  .px-sm-70 {
    padding-right: 70px !important; }
  .pb-sm-70,
  .py-sm-70 {
    padding-bottom: 70px !important; }
  .pl-sm-70,
  .px-sm-70 {
    padding-left: 70px !important; }
  .p-sm-80 {
    padding: 80px !important; }
  .pt-sm-80,
  .py-sm-80 {
    padding-top: 80px !important; }
  .pr-sm-80,
  .px-sm-80 {
    padding-right: 80px !important; }
  .pb-sm-80,
  .py-sm-80 {
    padding-bottom: 80px !important; }
  .pl-sm-80,
  .px-sm-80 {
    padding-left: 80px !important; }
  .m-sm-n10 {
    margin: -10px !important; }
  .mt-sm-n10,
  .my-sm-n10 {
    margin-top: -10px !important; }
  .mr-sm-n10,
  .mx-sm-n10 {
    margin-right: -10px !important; }
  .mb-sm-n10,
  .my-sm-n10 {
    margin-bottom: -10px !important; }
  .ml-sm-n10,
  .mx-sm-n10 {
    margin-left: -10px !important; }
  .m-sm-n15 {
    margin: -15px !important; }
  .mt-sm-n15,
  .my-sm-n15 {
    margin-top: -15px !important; }
  .mr-sm-n15,
  .mx-sm-n15 {
    margin-right: -15px !important; }
  .mb-sm-n15,
  .my-sm-n15 {
    margin-bottom: -15px !important; }
  .ml-sm-n15,
  .mx-sm-n15 {
    margin-left: -15px !important; }
  .m-sm-n20 {
    margin: -20px !important; }
  .mt-sm-n20,
  .my-sm-n20 {
    margin-top: -20px !important; }
  .mr-sm-n20,
  .mx-sm-n20 {
    margin-right: -20px !important; }
  .mb-sm-n20,
  .my-sm-n20 {
    margin-bottom: -20px !important; }
  .ml-sm-n20,
  .mx-sm-n20 {
    margin-left: -20px !important; }
  .m-sm-n30 {
    margin: -30px !important; }
  .mt-sm-n30,
  .my-sm-n30 {
    margin-top: -30px !important; }
  .mr-sm-n30,
  .mx-sm-n30 {
    margin-right: -30px !important; }
  .mb-sm-n30,
  .my-sm-n30 {
    margin-bottom: -30px !important; }
  .ml-sm-n30,
  .mx-sm-n30 {
    margin-left: -30px !important; }
  .m-sm-n40 {
    margin: -40px !important; }
  .mt-sm-n40,
  .my-sm-n40 {
    margin-top: -40px !important; }
  .mr-sm-n40,
  .mx-sm-n40 {
    margin-right: -40px !important; }
  .mb-sm-n40,
  .my-sm-n40 {
    margin-bottom: -40px !important; }
  .ml-sm-n40,
  .mx-sm-n40 {
    margin-left: -40px !important; }
  .m-sm-n50 {
    margin: -50px !important; }
  .mt-sm-n50,
  .my-sm-n50 {
    margin-top: -50px !important; }
  .mr-sm-n50,
  .mx-sm-n50 {
    margin-right: -50px !important; }
  .mb-sm-n50,
  .my-sm-n50 {
    margin-bottom: -50px !important; }
  .ml-sm-n50,
  .mx-sm-n50 {
    margin-left: -50px !important; }
  .m-sm-n60 {
    margin: -60px !important; }
  .mt-sm-n60,
  .my-sm-n60 {
    margin-top: -60px !important; }
  .mr-sm-n60,
  .mx-sm-n60 {
    margin-right: -60px !important; }
  .mb-sm-n60,
  .my-sm-n60 {
    margin-bottom: -60px !important; }
  .ml-sm-n60,
  .mx-sm-n60 {
    margin-left: -60px !important; }
  .m-sm-n70 {
    margin: -70px !important; }
  .mt-sm-n70,
  .my-sm-n70 {
    margin-top: -70px !important; }
  .mr-sm-n70,
  .mx-sm-n70 {
    margin-right: -70px !important; }
  .mb-sm-n70,
  .my-sm-n70 {
    margin-bottom: -70px !important; }
  .ml-sm-n70,
  .mx-sm-n70 {
    margin-left: -70px !important; }
  .m-sm-n80 {
    margin: -80px !important; }
  .mt-sm-n80,
  .my-sm-n80 {
    margin-top: -80px !important; }
  .mr-sm-n80,
  .mx-sm-n80 {
    margin-right: -80px !important; }
  .mb-sm-n80,
  .my-sm-n80 {
    margin-bottom: -80px !important; }
  .ml-sm-n80,
  .mx-sm-n80 {
    margin-left: -80px !important; } }

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0px !important; }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0px !important; }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0px !important; }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0px !important; }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0px !important; }
  .m-md-10 {
    margin: 10px !important; }
  .mt-md-10,
  .my-md-10 {
    margin-top: 10px !important; }
  .mr-md-10,
  .mx-md-10 {
    margin-right: 10px !important; }
  .mb-md-10,
  .my-md-10 {
    margin-bottom: 10px !important; }
  .ml-md-10,
  .mx-md-10 {
    margin-left: 10px !important; }
  .m-md-15 {
    margin: 15px !important; }
  .mt-md-15,
  .my-md-15 {
    margin-top: 15px !important; }
  .mr-md-15,
  .mx-md-15 {
    margin-right: 15px !important; }
  .mb-md-15,
  .my-md-15 {
    margin-bottom: 15px !important; }
  .ml-md-15,
  .mx-md-15 {
    margin-left: 15px !important; }
  .m-md-20 {
    margin: 20px !important; }
  .mt-md-20,
  .my-md-20 {
    margin-top: 20px !important; }
  .mr-md-20,
  .mx-md-20 {
    margin-right: 20px !important; }
  .mb-md-20,
  .my-md-20 {
    margin-bottom: 20px !important; }
  .ml-md-20,
  .mx-md-20 {
    margin-left: 20px !important; }
  .m-md-30 {
    margin: 30px !important; }
  .mt-md-30,
  .my-md-30 {
    margin-top: 30px !important; }
  .mr-md-30,
  .mx-md-30 {
    margin-right: 30px !important; }
  .mb-md-30,
  .my-md-30 {
    margin-bottom: 30px !important; }
  .ml-md-30,
  .mx-md-30 {
    margin-left: 30px !important; }
  .m-md-40 {
    margin: 40px !important; }
  .mt-md-40,
  .my-md-40 {
    margin-top: 40px !important; }
  .mr-md-40,
  .mx-md-40 {
    margin-right: 40px !important; }
  .mb-md-40,
  .my-md-40 {
    margin-bottom: 40px !important; }
  .ml-md-40,
  .mx-md-40 {
    margin-left: 40px !important; }
  .m-md-50 {
    margin: 50px !important; }
  .mt-md-50,
  .my-md-50 {
    margin-top: 50px !important; }
  .mr-md-50,
  .mx-md-50 {
    margin-right: 50px !important; }
  .mb-md-50,
  .my-md-50 {
    margin-bottom: 50px !important; }
  .ml-md-50,
  .mx-md-50 {
    margin-left: 50px !important; }
  .m-md-60 {
    margin: 60px !important; }
  .mt-md-60,
  .my-md-60 {
    margin-top: 60px !important; }
  .mr-md-60,
  .mx-md-60 {
    margin-right: 60px !important; }
  .mb-md-60,
  .my-md-60 {
    margin-bottom: 60px !important; }
  .ml-md-60,
  .mx-md-60 {
    margin-left: 60px !important; }
  .m-md-70 {
    margin: 70px !important; }
  .mt-md-70,
  .my-md-70 {
    margin-top: 70px !important; }
  .mr-md-70,
  .mx-md-70 {
    margin-right: 70px !important; }
  .mb-md-70,
  .my-md-70 {
    margin-bottom: 70px !important; }
  .ml-md-70,
  .mx-md-70 {
    margin-left: 70px !important; }
  .m-md-80 {
    margin: 80px !important; }
  .mt-md-80,
  .my-md-80 {
    margin-top: 80px !important; }
  .mr-md-80,
  .mx-md-80 {
    margin-right: 80px !important; }
  .mb-md-80,
  .my-md-80 {
    margin-bottom: 80px !important; }
  .ml-md-80,
  .mx-md-80 {
    margin-left: 80px !important; }
  .p-md-0 {
    padding: 0px !important; }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0px !important; }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0px !important; }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0px !important; }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0px !important; }
  .p-md-10 {
    padding: 10px !important; }
  .pt-md-10,
  .py-md-10 {
    padding-top: 10px !important; }
  .pr-md-10,
  .px-md-10 {
    padding-right: 10px !important; }
  .pb-md-10,
  .py-md-10 {
    padding-bottom: 10px !important; }
  .pl-md-10,
  .px-md-10 {
    padding-left: 10px !important; }
  .p-md-15 {
    padding: 15px !important; }
  .pt-md-15,
  .py-md-15 {
    padding-top: 15px !important; }
  .pr-md-15,
  .px-md-15 {
    padding-right: 15px !important; }
  .pb-md-15,
  .py-md-15 {
    padding-bottom: 15px !important; }
  .pl-md-15,
  .px-md-15 {
    padding-left: 15px !important; }
  .p-md-20 {
    padding: 20px !important; }
  .pt-md-20,
  .py-md-20 {
    padding-top: 20px !important; }
  .pr-md-20,
  .px-md-20 {
    padding-right: 20px !important; }
  .pb-md-20,
  .py-md-20 {
    padding-bottom: 20px !important; }
  .pl-md-20,
  .px-md-20 {
    padding-left: 20px !important; }
  .p-md-30 {
    padding: 30px !important; }
  .pt-md-30,
  .py-md-30 {
    padding-top: 30px !important; }
  .pr-md-30,
  .px-md-30 {
    padding-right: 30px !important; }
  .pb-md-30,
  .py-md-30 {
    padding-bottom: 30px !important; }
  .pl-md-30,
  .px-md-30 {
    padding-left: 30px !important; }
  .p-md-40 {
    padding: 40px !important; }
  .pt-md-40,
  .py-md-40 {
    padding-top: 40px !important; }
  .pr-md-40,
  .px-md-40 {
    padding-right: 40px !important; }
  .pb-md-40,
  .py-md-40 {
    padding-bottom: 40px !important; }
  .pl-md-40,
  .px-md-40 {
    padding-left: 40px !important; }
  .p-md-50 {
    padding: 50px !important; }
  .pt-md-50,
  .py-md-50 {
    padding-top: 50px !important; }
  .pr-md-50,
  .px-md-50 {
    padding-right: 50px !important; }
  .pb-md-50,
  .py-md-50 {
    padding-bottom: 50px !important; }
  .pl-md-50,
  .px-md-50 {
    padding-left: 50px !important; }
  .p-md-60 {
    padding: 60px !important; }
  .pt-md-60,
  .py-md-60 {
    padding-top: 60px !important; }
  .pr-md-60,
  .px-md-60 {
    padding-right: 60px !important; }
  .pb-md-60,
  .py-md-60 {
    padding-bottom: 60px !important; }
  .pl-md-60,
  .px-md-60 {
    padding-left: 60px !important; }
  .p-md-70 {
    padding: 70px !important; }
  .pt-md-70,
  .py-md-70 {
    padding-top: 70px !important; }
  .pr-md-70,
  .px-md-70 {
    padding-right: 70px !important; }
  .pb-md-70,
  .py-md-70 {
    padding-bottom: 70px !important; }
  .pl-md-70,
  .px-md-70 {
    padding-left: 70px !important; }
  .p-md-80 {
    padding: 80px !important; }
  .pt-md-80,
  .py-md-80 {
    padding-top: 80px !important; }
  .pr-md-80,
  .px-md-80 {
    padding-right: 80px !important; }
  .pb-md-80,
  .py-md-80 {
    padding-bottom: 80px !important; }
  .pl-md-80,
  .px-md-80 {
    padding-left: 80px !important; }
  .m-md-n10 {
    margin: -10px !important; }
  .mt-md-n10,
  .my-md-n10 {
    margin-top: -10px !important; }
  .mr-md-n10,
  .mx-md-n10 {
    margin-right: -10px !important; }
  .mb-md-n10,
  .my-md-n10 {
    margin-bottom: -10px !important; }
  .ml-md-n10,
  .mx-md-n10 {
    margin-left: -10px !important; }
  .m-md-n15 {
    margin: -15px !important; }
  .mt-md-n15,
  .my-md-n15 {
    margin-top: -15px !important; }
  .mr-md-n15,
  .mx-md-n15 {
    margin-right: -15px !important; }
  .mb-md-n15,
  .my-md-n15 {
    margin-bottom: -15px !important; }
  .ml-md-n15,
  .mx-md-n15 {
    margin-left: -15px !important; }
  .m-md-n20 {
    margin: -20px !important; }
  .mt-md-n20,
  .my-md-n20 {
    margin-top: -20px !important; }
  .mr-md-n20,
  .mx-md-n20 {
    margin-right: -20px !important; }
  .mb-md-n20,
  .my-md-n20 {
    margin-bottom: -20px !important; }
  .ml-md-n20,
  .mx-md-n20 {
    margin-left: -20px !important; }
  .m-md-n30 {
    margin: -30px !important; }
  .mt-md-n30,
  .my-md-n30 {
    margin-top: -30px !important; }
  .mr-md-n30,
  .mx-md-n30 {
    margin-right: -30px !important; }
  .mb-md-n30,
  .my-md-n30 {
    margin-bottom: -30px !important; }
  .ml-md-n30,
  .mx-md-n30 {
    margin-left: -30px !important; }
  .m-md-n40 {
    margin: -40px !important; }
  .mt-md-n40,
  .my-md-n40 {
    margin-top: -40px !important; }
  .mr-md-n40,
  .mx-md-n40 {
    margin-right: -40px !important; }
  .mb-md-n40,
  .my-md-n40 {
    margin-bottom: -40px !important; }
  .ml-md-n40,
  .mx-md-n40 {
    margin-left: -40px !important; }
  .m-md-n50 {
    margin: -50px !important; }
  .mt-md-n50,
  .my-md-n50 {
    margin-top: -50px !important; }
  .mr-md-n50,
  .mx-md-n50 {
    margin-right: -50px !important; }
  .mb-md-n50,
  .my-md-n50 {
    margin-bottom: -50px !important; }
  .ml-md-n50,
  .mx-md-n50 {
    margin-left: -50px !important; }
  .m-md-n60 {
    margin: -60px !important; }
  .mt-md-n60,
  .my-md-n60 {
    margin-top: -60px !important; }
  .mr-md-n60,
  .mx-md-n60 {
    margin-right: -60px !important; }
  .mb-md-n60,
  .my-md-n60 {
    margin-bottom: -60px !important; }
  .ml-md-n60,
  .mx-md-n60 {
    margin-left: -60px !important; }
  .m-md-n70 {
    margin: -70px !important; }
  .mt-md-n70,
  .my-md-n70 {
    margin-top: -70px !important; }
  .mr-md-n70,
  .mx-md-n70 {
    margin-right: -70px !important; }
  .mb-md-n70,
  .my-md-n70 {
    margin-bottom: -70px !important; }
  .ml-md-n70,
  .mx-md-n70 {
    margin-left: -70px !important; }
  .m-md-n80 {
    margin: -80px !important; }
  .mt-md-n80,
  .my-md-n80 {
    margin-top: -80px !important; }
  .mr-md-n80,
  .mx-md-n80 {
    margin-right: -80px !important; }
  .mb-md-n80,
  .my-md-n80 {
    margin-bottom: -80px !important; }
  .ml-md-n80,
  .mx-md-n80 {
    margin-left: -80px !important; } }

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0px !important; }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0px !important; }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0px !important; }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0px !important; }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0px !important; }
  .m-lg-10 {
    margin: 10px !important; }
  .mt-lg-10,
  .my-lg-10 {
    margin-top: 10px !important; }
  .mr-lg-10,
  .mx-lg-10 {
    margin-right: 10px !important; }
  .mb-lg-10,
  .my-lg-10 {
    margin-bottom: 10px !important; }
  .ml-lg-10,
  .mx-lg-10 {
    margin-left: 10px !important; }
  .m-lg-15 {
    margin: 15px !important; }
  .mt-lg-15,
  .my-lg-15 {
    margin-top: 15px !important; }
  .mr-lg-15,
  .mx-lg-15 {
    margin-right: 15px !important; }
  .mb-lg-15,
  .my-lg-15 {
    margin-bottom: 15px !important; }
  .ml-lg-15,
  .mx-lg-15 {
    margin-left: 15px !important; }
  .m-lg-20 {
    margin: 20px !important; }
  .mt-lg-20,
  .my-lg-20 {
    margin-top: 20px !important; }
  .mr-lg-20,
  .mx-lg-20 {
    margin-right: 20px !important; }
  .mb-lg-20,
  .my-lg-20 {
    margin-bottom: 20px !important; }
  .ml-lg-20,
  .mx-lg-20 {
    margin-left: 20px !important; }
  .m-lg-30 {
    margin: 30px !important; }
  .mt-lg-30,
  .my-lg-30 {
    margin-top: 30px !important; }
  .mr-lg-30,
  .mx-lg-30 {
    margin-right: 30px !important; }
  .mb-lg-30,
  .my-lg-30 {
    margin-bottom: 30px !important; }
  .ml-lg-30,
  .mx-lg-30 {
    margin-left: 30px !important; }
  .m-lg-40 {
    margin: 40px !important; }
  .mt-lg-40,
  .my-lg-40 {
    margin-top: 40px !important; }
  .mr-lg-40,
  .mx-lg-40 {
    margin-right: 40px !important; }
  .mb-lg-40,
  .my-lg-40 {
    margin-bottom: 40px !important; }
  .ml-lg-40,
  .mx-lg-40 {
    margin-left: 40px !important; }
  .m-lg-50 {
    margin: 50px !important; }
  .mt-lg-50,
  .my-lg-50 {
    margin-top: 50px !important; }
  .mr-lg-50,
  .mx-lg-50 {
    margin-right: 50px !important; }
  .mb-lg-50,
  .my-lg-50 {
    margin-bottom: 50px !important; }
  .ml-lg-50,
  .mx-lg-50 {
    margin-left: 50px !important; }
  .m-lg-60 {
    margin: 60px !important; }
  .mt-lg-60,
  .my-lg-60 {
    margin-top: 60px !important; }
  .mr-lg-60,
  .mx-lg-60 {
    margin-right: 60px !important; }
  .mb-lg-60,
  .my-lg-60 {
    margin-bottom: 60px !important; }
  .ml-lg-60,
  .mx-lg-60 {
    margin-left: 60px !important; }
  .m-lg-70 {
    margin: 70px !important; }
  .mt-lg-70,
  .my-lg-70 {
    margin-top: 70px !important; }
  .mr-lg-70,
  .mx-lg-70 {
    margin-right: 70px !important; }
  .mb-lg-70,
  .my-lg-70 {
    margin-bottom: 70px !important; }
  .ml-lg-70,
  .mx-lg-70 {
    margin-left: 70px !important; }
  .m-lg-80 {
    margin: 80px !important; }
  .mt-lg-80,
  .my-lg-80 {
    margin-top: 80px !important; }
  .mr-lg-80,
  .mx-lg-80 {
    margin-right: 80px !important; }
  .mb-lg-80,
  .my-lg-80 {
    margin-bottom: 80px !important; }
  .ml-lg-80,
  .mx-lg-80 {
    margin-left: 80px !important; }
  .p-lg-0 {
    padding: 0px !important; }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0px !important; }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0px !important; }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0px !important; }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0px !important; }
  .p-lg-10 {
    padding: 10px !important; }
  .pt-lg-10,
  .py-lg-10 {
    padding-top: 10px !important; }
  .pr-lg-10,
  .px-lg-10 {
    padding-right: 10px !important; }
  .pb-lg-10,
  .py-lg-10 {
    padding-bottom: 10px !important; }
  .pl-lg-10,
  .px-lg-10 {
    padding-left: 10px !important; }
  .p-lg-15 {
    padding: 15px !important; }
  .pt-lg-15,
  .py-lg-15 {
    padding-top: 15px !important; }
  .pr-lg-15,
  .px-lg-15 {
    padding-right: 15px !important; }
  .pb-lg-15,
  .py-lg-15 {
    padding-bottom: 15px !important; }
  .pl-lg-15,
  .px-lg-15 {
    padding-left: 15px !important; }
  .p-lg-20 {
    padding: 20px !important; }
  .pt-lg-20,
  .py-lg-20 {
    padding-top: 20px !important; }
  .pr-lg-20,
  .px-lg-20 {
    padding-right: 20px !important; }
  .pb-lg-20,
  .py-lg-20 {
    padding-bottom: 20px !important; }
  .pl-lg-20,
  .px-lg-20 {
    padding-left: 20px !important; }
  .p-lg-30 {
    padding: 30px !important; }
  .pt-lg-30,
  .py-lg-30 {
    padding-top: 30px !important; }
  .pr-lg-30,
  .px-lg-30 {
    padding-right: 30px !important; }
  .pb-lg-30,
  .py-lg-30 {
    padding-bottom: 30px !important; }
  .pl-lg-30,
  .px-lg-30 {
    padding-left: 30px !important; }
  .p-lg-40 {
    padding: 40px !important; }
  .pt-lg-40,
  .py-lg-40 {
    padding-top: 40px !important; }
  .pr-lg-40,
  .px-lg-40 {
    padding-right: 40px !important; }
  .pb-lg-40,
  .py-lg-40 {
    padding-bottom: 40px !important; }
  .pl-lg-40,
  .px-lg-40 {
    padding-left: 40px !important; }
  .p-lg-50 {
    padding: 50px !important; }
  .pt-lg-50,
  .py-lg-50 {
    padding-top: 50px !important; }
  .pr-lg-50,
  .px-lg-50 {
    padding-right: 50px !important; }
  .pb-lg-50,
  .py-lg-50 {
    padding-bottom: 50px !important; }
  .pl-lg-50,
  .px-lg-50 {
    padding-left: 50px !important; }
  .p-lg-60 {
    padding: 60px !important; }
  .pt-lg-60,
  .py-lg-60 {
    padding-top: 60px !important; }
  .pr-lg-60,
  .px-lg-60 {
    padding-right: 60px !important; }
  .pb-lg-60,
  .py-lg-60 {
    padding-bottom: 60px !important; }
  .pl-lg-60,
  .px-lg-60 {
    padding-left: 60px !important; }
  .p-lg-70 {
    padding: 70px !important; }
  .pt-lg-70,
  .py-lg-70 {
    padding-top: 70px !important; }
  .pr-lg-70,
  .px-lg-70 {
    padding-right: 70px !important; }
  .pb-lg-70,
  .py-lg-70 {
    padding-bottom: 70px !important; }
  .pl-lg-70,
  .px-lg-70 {
    padding-left: 70px !important; }
  .p-lg-80 {
    padding: 80px !important; }
  .pt-lg-80,
  .py-lg-80 {
    padding-top: 80px !important; }
  .pr-lg-80,
  .px-lg-80 {
    padding-right: 80px !important; }
  .pb-lg-80,
  .py-lg-80 {
    padding-bottom: 80px !important; }
  .pl-lg-80,
  .px-lg-80 {
    padding-left: 80px !important; }
  .m-lg-n10 {
    margin: -10px !important; }
  .mt-lg-n10,
  .my-lg-n10 {
    margin-top: -10px !important; }
  .mr-lg-n10,
  .mx-lg-n10 {
    margin-right: -10px !important; }
  .mb-lg-n10,
  .my-lg-n10 {
    margin-bottom: -10px !important; }
  .ml-lg-n10,
  .mx-lg-n10 {
    margin-left: -10px !important; }
  .m-lg-n15 {
    margin: -15px !important; }
  .mt-lg-n15,
  .my-lg-n15 {
    margin-top: -15px !important; }
  .mr-lg-n15,
  .mx-lg-n15 {
    margin-right: -15px !important; }
  .mb-lg-n15,
  .my-lg-n15 {
    margin-bottom: -15px !important; }
  .ml-lg-n15,
  .mx-lg-n15 {
    margin-left: -15px !important; }
  .m-lg-n20 {
    margin: -20px !important; }
  .mt-lg-n20,
  .my-lg-n20 {
    margin-top: -20px !important; }
  .mr-lg-n20,
  .mx-lg-n20 {
    margin-right: -20px !important; }
  .mb-lg-n20,
  .my-lg-n20 {
    margin-bottom: -20px !important; }
  .ml-lg-n20,
  .mx-lg-n20 {
    margin-left: -20px !important; }
  .m-lg-n30 {
    margin: -30px !important; }
  .mt-lg-n30,
  .my-lg-n30 {
    margin-top: -30px !important; }
  .mr-lg-n30,
  .mx-lg-n30 {
    margin-right: -30px !important; }
  .mb-lg-n30,
  .my-lg-n30 {
    margin-bottom: -30px !important; }
  .ml-lg-n30,
  .mx-lg-n30 {
    margin-left: -30px !important; }
  .m-lg-n40 {
    margin: -40px !important; }
  .mt-lg-n40,
  .my-lg-n40 {
    margin-top: -40px !important; }
  .mr-lg-n40,
  .mx-lg-n40 {
    margin-right: -40px !important; }
  .mb-lg-n40,
  .my-lg-n40 {
    margin-bottom: -40px !important; }
  .ml-lg-n40,
  .mx-lg-n40 {
    margin-left: -40px !important; }
  .m-lg-n50 {
    margin: -50px !important; }
  .mt-lg-n50,
  .my-lg-n50 {
    margin-top: -50px !important; }
  .mr-lg-n50,
  .mx-lg-n50 {
    margin-right: -50px !important; }
  .mb-lg-n50,
  .my-lg-n50 {
    margin-bottom: -50px !important; }
  .ml-lg-n50,
  .mx-lg-n50 {
    margin-left: -50px !important; }
  .m-lg-n60 {
    margin: -60px !important; }
  .mt-lg-n60,
  .my-lg-n60 {
    margin-top: -60px !important; }
  .mr-lg-n60,
  .mx-lg-n60 {
    margin-right: -60px !important; }
  .mb-lg-n60,
  .my-lg-n60 {
    margin-bottom: -60px !important; }
  .ml-lg-n60,
  .mx-lg-n60 {
    margin-left: -60px !important; }
  .m-lg-n70 {
    margin: -70px !important; }
  .mt-lg-n70,
  .my-lg-n70 {
    margin-top: -70px !important; }
  .mr-lg-n70,
  .mx-lg-n70 {
    margin-right: -70px !important; }
  .mb-lg-n70,
  .my-lg-n70 {
    margin-bottom: -70px !important; }
  .ml-lg-n70,
  .mx-lg-n70 {
    margin-left: -70px !important; }
  .m-lg-n80 {
    margin: -80px !important; }
  .mt-lg-n80,
  .my-lg-n80 {
    margin-top: -80px !important; }
  .mr-lg-n80,
  .mx-lg-n80 {
    margin-right: -80px !important; }
  .mb-lg-n80,
  .my-lg-n80 {
    margin-bottom: -80px !important; }
  .ml-lg-n80,
  .mx-lg-n80 {
    margin-left: -80px !important; } }

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0px !important; }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0px !important; }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0px !important; }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0px !important; }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0px !important; }
  .m-xl-10 {
    margin: 10px !important; }
  .mt-xl-10,
  .my-xl-10 {
    margin-top: 10px !important; }
  .mr-xl-10,
  .mx-xl-10 {
    margin-right: 10px !important; }
  .mb-xl-10,
  .my-xl-10 {
    margin-bottom: 10px !important; }
  .ml-xl-10,
  .mx-xl-10 {
    margin-left: 10px !important; }
  .m-xl-15 {
    margin: 15px !important; }
  .mt-xl-15,
  .my-xl-15 {
    margin-top: 15px !important; }
  .mr-xl-15,
  .mx-xl-15 {
    margin-right: 15px !important; }
  .mb-xl-15,
  .my-xl-15 {
    margin-bottom: 15px !important; }
  .ml-xl-15,
  .mx-xl-15 {
    margin-left: 15px !important; }
  .m-xl-20 {
    margin: 20px !important; }
  .mt-xl-20,
  .my-xl-20 {
    margin-top: 20px !important; }
  .mr-xl-20,
  .mx-xl-20 {
    margin-right: 20px !important; }
  .mb-xl-20,
  .my-xl-20 {
    margin-bottom: 20px !important; }
  .ml-xl-20,
  .mx-xl-20 {
    margin-left: 20px !important; }
  .m-xl-30 {
    margin: 30px !important; }
  .mt-xl-30,
  .my-xl-30 {
    margin-top: 30px !important; }
  .mr-xl-30,
  .mx-xl-30 {
    margin-right: 30px !important; }
  .mb-xl-30,
  .my-xl-30 {
    margin-bottom: 30px !important; }
  .ml-xl-30,
  .mx-xl-30 {
    margin-left: 30px !important; }
  .m-xl-40 {
    margin: 40px !important; }
  .mt-xl-40,
  .my-xl-40 {
    margin-top: 40px !important; }
  .mr-xl-40,
  .mx-xl-40 {
    margin-right: 40px !important; }
  .mb-xl-40,
  .my-xl-40 {
    margin-bottom: 40px !important; }
  .ml-xl-40,
  .mx-xl-40 {
    margin-left: 40px !important; }
  .m-xl-50 {
    margin: 50px !important; }
  .mt-xl-50,
  .my-xl-50 {
    margin-top: 50px !important; }
  .mr-xl-50,
  .mx-xl-50 {
    margin-right: 50px !important; }
  .mb-xl-50,
  .my-xl-50 {
    margin-bottom: 50px !important; }
  .ml-xl-50,
  .mx-xl-50 {
    margin-left: 50px !important; }
  .m-xl-60 {
    margin: 60px !important; }
  .mt-xl-60,
  .my-xl-60 {
    margin-top: 60px !important; }
  .mr-xl-60,
  .mx-xl-60 {
    margin-right: 60px !important; }
  .mb-xl-60,
  .my-xl-60 {
    margin-bottom: 60px !important; }
  .ml-xl-60,
  .mx-xl-60 {
    margin-left: 60px !important; }
  .m-xl-70 {
    margin: 70px !important; }
  .mt-xl-70,
  .my-xl-70 {
    margin-top: 70px !important; }
  .mr-xl-70,
  .mx-xl-70 {
    margin-right: 70px !important; }
  .mb-xl-70,
  .my-xl-70 {
    margin-bottom: 70px !important; }
  .ml-xl-70,
  .mx-xl-70 {
    margin-left: 70px !important; }
  .m-xl-80 {
    margin: 80px !important; }
  .mt-xl-80,
  .my-xl-80 {
    margin-top: 80px !important; }
  .mr-xl-80,
  .mx-xl-80 {
    margin-right: 80px !important; }
  .mb-xl-80,
  .my-xl-80 {
    margin-bottom: 80px !important; }
  .ml-xl-80,
  .mx-xl-80 {
    margin-left: 80px !important; }
  .p-xl-0 {
    padding: 0px !important; }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0px !important; }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0px !important; }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0px !important; }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0px !important; }
  .p-xl-10 {
    padding: 10px !important; }
  .pt-xl-10,
  .py-xl-10 {
    padding-top: 10px !important; }
  .pr-xl-10,
  .px-xl-10 {
    padding-right: 10px !important; }
  .pb-xl-10,
  .py-xl-10 {
    padding-bottom: 10px !important; }
  .pl-xl-10,
  .px-xl-10 {
    padding-left: 10px !important; }
  .p-xl-15 {
    padding: 15px !important; }
  .pt-xl-15,
  .py-xl-15 {
    padding-top: 15px !important; }
  .pr-xl-15,
  .px-xl-15 {
    padding-right: 15px !important; }
  .pb-xl-15,
  .py-xl-15 {
    padding-bottom: 15px !important; }
  .pl-xl-15,
  .px-xl-15 {
    padding-left: 15px !important; }
  .p-xl-20 {
    padding: 20px !important; }
  .pt-xl-20,
  .py-xl-20 {
    padding-top: 20px !important; }
  .pr-xl-20,
  .px-xl-20 {
    padding-right: 20px !important; }
  .pb-xl-20,
  .py-xl-20 {
    padding-bottom: 20px !important; }
  .pl-xl-20,
  .px-xl-20 {
    padding-left: 20px !important; }
  .p-xl-30 {
    padding: 30px !important; }
  .pt-xl-30,
  .py-xl-30 {
    padding-top: 30px !important; }
  .pr-xl-30,
  .px-xl-30 {
    padding-right: 30px !important; }
  .pb-xl-30,
  .py-xl-30 {
    padding-bottom: 30px !important; }
  .pl-xl-30,
  .px-xl-30 {
    padding-left: 30px !important; }
  .p-xl-40 {
    padding: 40px !important; }
  .pt-xl-40,
  .py-xl-40 {
    padding-top: 40px !important; }
  .pr-xl-40,
  .px-xl-40 {
    padding-right: 40px !important; }
  .pb-xl-40,
  .py-xl-40 {
    padding-bottom: 40px !important; }
  .pl-xl-40,
  .px-xl-40 {
    padding-left: 40px !important; }
  .p-xl-50 {
    padding: 50px !important; }
  .pt-xl-50,
  .py-xl-50 {
    padding-top: 50px !important; }
  .pr-xl-50,
  .px-xl-50 {
    padding-right: 50px !important; }
  .pb-xl-50,
  .py-xl-50 {
    padding-bottom: 50px !important; }
  .pl-xl-50,
  .px-xl-50 {
    padding-left: 50px !important; }
  .p-xl-60 {
    padding: 60px !important; }
  .pt-xl-60,
  .py-xl-60 {
    padding-top: 60px !important; }
  .pr-xl-60,
  .px-xl-60 {
    padding-right: 60px !important; }
  .pb-xl-60,
  .py-xl-60 {
    padding-bottom: 60px !important; }
  .pl-xl-60,
  .px-xl-60 {
    padding-left: 60px !important; }
  .p-xl-70 {
    padding: 70px !important; }
  .pt-xl-70,
  .py-xl-70 {
    padding-top: 70px !important; }
  .pr-xl-70,
  .px-xl-70 {
    padding-right: 70px !important; }
  .pb-xl-70,
  .py-xl-70 {
    padding-bottom: 70px !important; }
  .pl-xl-70,
  .px-xl-70 {
    padding-left: 70px !important; }
  .p-xl-80 {
    padding: 80px !important; }
  .pt-xl-80,
  .py-xl-80 {
    padding-top: 80px !important; }
  .pr-xl-80,
  .px-xl-80 {
    padding-right: 80px !important; }
  .pb-xl-80,
  .py-xl-80 {
    padding-bottom: 80px !important; }
  .pl-xl-80,
  .px-xl-80 {
    padding-left: 80px !important; }
  .m-xl-n10 {
    margin: -10px !important; }
  .mt-xl-n10,
  .my-xl-n10 {
    margin-top: -10px !important; }
  .mr-xl-n10,
  .mx-xl-n10 {
    margin-right: -10px !important; }
  .mb-xl-n10,
  .my-xl-n10 {
    margin-bottom: -10px !important; }
  .ml-xl-n10,
  .mx-xl-n10 {
    margin-left: -10px !important; }
  .m-xl-n15 {
    margin: -15px !important; }
  .mt-xl-n15,
  .my-xl-n15 {
    margin-top: -15px !important; }
  .mr-xl-n15,
  .mx-xl-n15 {
    margin-right: -15px !important; }
  .mb-xl-n15,
  .my-xl-n15 {
    margin-bottom: -15px !important; }
  .ml-xl-n15,
  .mx-xl-n15 {
    margin-left: -15px !important; }
  .m-xl-n20 {
    margin: -20px !important; }
  .mt-xl-n20,
  .my-xl-n20 {
    margin-top: -20px !important; }
  .mr-xl-n20,
  .mx-xl-n20 {
    margin-right: -20px !important; }
  .mb-xl-n20,
  .my-xl-n20 {
    margin-bottom: -20px !important; }
  .ml-xl-n20,
  .mx-xl-n20 {
    margin-left: -20px !important; }
  .m-xl-n30 {
    margin: -30px !important; }
  .mt-xl-n30,
  .my-xl-n30 {
    margin-top: -30px !important; }
  .mr-xl-n30,
  .mx-xl-n30 {
    margin-right: -30px !important; }
  .mb-xl-n30,
  .my-xl-n30 {
    margin-bottom: -30px !important; }
  .ml-xl-n30,
  .mx-xl-n30 {
    margin-left: -30px !important; }
  .m-xl-n40 {
    margin: -40px !important; }
  .mt-xl-n40,
  .my-xl-n40 {
    margin-top: -40px !important; }
  .mr-xl-n40,
  .mx-xl-n40 {
    margin-right: -40px !important; }
  .mb-xl-n40,
  .my-xl-n40 {
    margin-bottom: -40px !important; }
  .ml-xl-n40,
  .mx-xl-n40 {
    margin-left: -40px !important; }
  .m-xl-n50 {
    margin: -50px !important; }
  .mt-xl-n50,
  .my-xl-n50 {
    margin-top: -50px !important; }
  .mr-xl-n50,
  .mx-xl-n50 {
    margin-right: -50px !important; }
  .mb-xl-n50,
  .my-xl-n50 {
    margin-bottom: -50px !important; }
  .ml-xl-n50,
  .mx-xl-n50 {
    margin-left: -50px !important; }
  .m-xl-n60 {
    margin: -60px !important; }
  .mt-xl-n60,
  .my-xl-n60 {
    margin-top: -60px !important; }
  .mr-xl-n60,
  .mx-xl-n60 {
    margin-right: -60px !important; }
  .mb-xl-n60,
  .my-xl-n60 {
    margin-bottom: -60px !important; }
  .ml-xl-n60,
  .mx-xl-n60 {
    margin-left: -60px !important; }
  .m-xl-n70 {
    margin: -70px !important; }
  .mt-xl-n70,
  .my-xl-n70 {
    margin-top: -70px !important; }
  .mr-xl-n70,
  .mx-xl-n70 {
    margin-right: -70px !important; }
  .mb-xl-n70,
  .my-xl-n70 {
    margin-bottom: -70px !important; }
  .ml-xl-n70,
  .mx-xl-n70 {
    margin-left: -70px !important; }
  .m-xl-n80 {
    margin: -80px !important; }
  .mt-xl-n80,
  .my-xl-n80 {
    margin-top: -80px !important; }
  .mr-xl-n80,
  .mx-xl-n80 {
    margin-right: -80px !important; }
  .mb-xl-n80,
  .my-xl-n80 {
    margin-bottom: -80px !important; }
  .ml-xl-n80,
  .mx-xl-n80 {
    margin-left: -80px !important; } }

.cw-pt {
  padding-top: 3rem; }

.cw-pb {
  padding-bottom: 3rem; }

.cw-py {
  padding-top: 3rem;
  padding-bottom: 3rem; }
  .cw-py .cw-my:first-child {
    margin-top: 0; }
  .cw-py .cw-my:last-child {
    margin-bottom: 0; }

.cw-py-2 {
  padding-top: 1.95rem;
  padding-bottom: 1.95rem; }
  .cw-py-2 .cw-my-2:first-child {
    margin-top: 0; }
  .cw-py-2 .cw-my-2:last-child {
    margin-bottom: 0; }

.cw-mt {
  margin-top: 3rem; }

.cw-mb {
  margin-bottom: 3rem; }

.cw-my {
  margin-top: 3rem;
  margin-bottom: 3rem; }

.cw-my-2 {
  margin-top: 1.95rem;
  margin-bottom: 1.95rem; }

@media (min-width: 992px) {
  .cw-pt {
    padding-top: 4rem; }
  .cw-pb {
    padding-bottom: 4rem; }
  .cw-py {
    padding-top: 4rem;
    padding-bottom: 4rem; }
  .cw-py-2 {
    padding-top: 2.6rem;
    padding-bottom: 2.6rem; }
  .cw-mt {
    margin-top: 4rem; }
  .cw-mb {
    margin-bottom: 4rem; }
  .cw-my {
    margin-top: 4rem;
    margin-bottom: 4rem; }
  .cw-my-2 {
    margin-top: 2.6rem;
    margin-bottom: 2.6rem; } }

.cw-scroll-margin-top {
  scroll-margin-top: calc(60px + 1rem); }

div.cw-scroll-margin-top {
  line-height: 0; }

@media (min-width: 992px) {
  .cw-scroll-margin-top {
    scroll-margin-top: calc(130px + 1rem); } }

.cw-d-none-nf .not-front {
  display: none; }

@media (min-width: 992px) {
  .cw-d-none-lg-nf .not-front {
    display: none; } }

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

.not-front .cw-flex-1-nf {
  flex: 1 !important; }

.cw-flex-2 {
  flex: 2 !important; }

.not-front .cw-flex-2-nf {
  flex: 2 !important; }

.cw-flex-3 {
  flex: 3 !important; }

.not-front .cw-flex-3-nf {
  flex: 3 !important; }

.cw-flex-4 {
  flex: 4 !important; }

.not-front .cw-flex-4-nf {
  flex: 4 !important; }

.cw-flex-5 {
  flex: 5 !important; }

.not-front .cw-flex-5-nf {
  flex: 5 !important; }

.cw-flex-6 {
  flex: 6 !important; }

.not-front .cw-flex-6-nf {
  flex: 6 !important; }

@media (min-width: 992px) {
  .cw-flex-lg-1 {
    flex: 1 !important; }
  .not-front .cw-flex-lg-1-nf {
    flex: 1 !important; }
  .cw-flex-lg-2 {
    flex: 2 !important; }
  .not-front .cw-flex-lg-2-nf {
    flex: 2 !important; }
  .cw-flex-lg-3 {
    flex: 3 !important; }
  .not-front .cw-flex-lg-3-nf {
    flex: 3 !important; }
  .cw-flex-lg-4 {
    flex: 4 !important; }
  .not-front .cw-flex-lg-4-nf {
    flex: 4 !important; }
  .cw-flex-lg-5 {
    flex: 5 !important; }
  .not-front .cw-flex-lg-5-nf {
    flex: 5 !important; }
  .cw-flex-lg-6 {
    flex: 6 !important; }
  .not-front .cw-flex-lg-6-nf {
    flex: 6 !important; } }

/* ------------ FONT COLORS ------------ */
.cw-txt-primary {
  color: #F58422 !important; }

.cw-txt-secondary {
  color: #007FFF !important; }

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

.cw-txt-body {
  color: #343434 !important; }

.cw-txt-dark {
  color: #111 !important; }

.cw-txt-black {
  color: #000 !important; }

/* ------------ ------------ ------------ */
.cw-font-base {
  font-family: "Montserrat", sans-serif !important; }

.cw-font-loud {
  font-family: "Montserrat", sans-serif !important; }

.cw-txt-uppercase {
  text-transform: uppercase; }

.cw-txt-lowercase {
  text-transform: lowercase; }

.cw-txt-capitalize::first-letter {
  text-transform: capitalize; }

.cw-txt-up {
  font-size: 1.5em !important;
  line-height: 1.3 !important; }

.cw-txt-up-2 {
  font-size: 1.35em !important;
  line-height: 1.3 !important; }

.cw-txt-up-3 {
  font-size: 1.2em !important;
  line-height: 1.3 !important; }

.cw-txt-shadow {
  text-shadow: 0px 5px 4px rgba(0, 0, 0, 0.36); }

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

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

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

.cw-underline-before:before {
  display: block;
  content: "";
  height: 5px;
  background: #007FFF;
  margin: 10px auto 23px;
  position: relative;
  width: 90px;
  max-width: 100%; }

.cw-underline-before.text-left:before {
  margin-left: 0; }

.cw-underline-after:after {
  display: block;
  content: "";
  height: 5px;
  background: #007FFF;
  margin: 10px auto 23px;
  position: relative;
  width: 90px;
  max-width: 100%; }

.cw-underline-after.text-left:after {
  margin-left: 0; }

.cw-line-background {
  display: inline;
  background-image: linear-gradient(to bottom, #007fff 0, #007fff 100%);
  background-size: 100% 0.25em;
  background-position: 0 85%;
  background-repeat: no-repeat; }

.cw-puce-under {
  position: relative;
  padding-top: 50px; }
  .cw-puce-under:before {
    content: '';
    display: block;
    width: 100%;
    max-width: 100%;
    height: 35px;
    margin-top: 1rem;
    margin-bottom: 60px;
    background-image: url("../images/puce-h1.png");
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat; }

.cw-border-left {
  position: relative;
  left: 35px;
  padding-right: 35px; }
  .cw-border-left:after {
    content: '';
    position: absolute;
    top: calc((100% - 90%) / 2);
    height: 90%;
    width: 8px;
    background-color: #007FFF;
    border-radius: 0.313rem;
    left: -35px; }

.cw-border-right {
  position: relative;
  right: 35px;
  padding-left: 35px; }
  .cw-border-right:after {
    content: '';
    position: absolute;
    top: calc((100% - 90%) / 2);
    height: 90%;
    width: 8px;
    background-color: #007FFF;
    border-radius: 0.313rem;
    right: -35px; }

.field--name-body ul:not([class*="cw-inline-ul"]) {
  font-family: "Montserrat", sans-serif;
  padding-left: 20px;
  list-style: none; }
  .field--name-body ul:not([class*="cw-inline-ul"]) ul {
    list-style: none; }
  .field--name-body ul:not([class*="cw-inline-ul"]) li a {
    color: #343434 !important; }
    .field--name-body ul:not([class*="cw-inline-ul"]) li a:hover {
      color: #007FFF !important; }
  .field--name-body ul:not([class*="cw-inline-ul"]) li:before {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    font-size: 0.8rem;
    content: "";
    margin-right: 10px;
    color: #007FFF; }
  .field--name-body ul:not([class*="cw-inline-ul"]) > li > ul > li:before {
    font-size: 0.5rem;
    vertical-align: middle; }

ul.cw-inline-ul {
  padding: 0;
  list-style: none;
  line-height: 1.5; }
  ul.cw-inline-ul li {
    display: inline;
    padding: 0; }
    ul.cw-inline-ul li:first-child {
      padding-left: 0; }
    ul.cw-inline-ul li a {
      padding-right: 5px; }
      ul.cw-inline-ul li a:before {
        content: "\f111";
        font-family: "Font Awesome 5 Free";
        font-style: normal;
        position: relative;
        left: 3px;
        top: -2px;
        margin-right: 15px;
        font-size: 0.5rem;
        font-weight: 800;
        color: #007FFF; }
    ul.cw-inline-ul li:not(:last-child) a {
      padding-right: 5px; }

#page-header i.cw-fa-bg-circle {
  background: #fff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #007FFF;
  text-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
  font-size: 16px !important; }
  #page-header i.cw-fa-bg-circle:hover, #page-header i.cw-fa-bg-circle:after {
    color: #F58422; }

@media (min-width: 576px) {
  .sm-text-left {
    text-align: left !important; }
  .sm-text-justify {
    text-align: justify !important; }
  .sm-text-center {
    text-align: center !important; }
  .sm-text-right {
    text-align: right !important; }
  .cw-list-sm {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding-inline-start: 0; }
    .cw-list-sm li {
      margin-left: 5%;
      width: 45%; } }

@media (min-width: 768px) {
  .md-text-left {
    text-align: left !important; }
  .md-text-justify {
    text-align: justify !important; }
  .md-text-center {
    text-align: center !important; }
  .md-text-right {
    text-align: right !important; } }

@media (min-width: 992px) {
  .lg-text-left {
    text-align: left !important; }
  .lg-text-justify {
    text-align: justify !important; }
  .lg-text-center {
    text-align: center !important; }
  .lg-text-right {
    text-align: right !important; } }

@media (min-width: 1440px) {
  .xl-text-left {
    text-align: left !important; }
  .xl-text-justify {
    text-align: justify !important; }
  .xl-text-center {
    text-align: center !important; }
  .xl-text-right {
    text-align: right !important; } }

.cw-children-p > * {
  padding: 15px; }

.cw-children-m > p {
  margin: 0.6rem 0; }

.text-align-center .cw-children-hr-w100 > hr {
  margin-left: auto;
  margin-right: auto; }

.text-align-right .cw-children-hr-w100 > hr {
  margin-left: auto;
  margin-right: 0; }

.cw-children-hr-w100 > hr {
  max-width: 100px;
  margin-top: 0.6rem;
  margin-bottom: 0.6rem;
  margin-left: 0;
  margin-right: auto; }

.cw-children-boxshadow > * {
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.2); }

.cw-children-content-bg-one .content {
  background-color: #F58422; }

.cw-children-content-bg-two .content {
  background-color: #007FFF; }

.cw-children-content-bg-three .content {
  background-color: #f9f9f9; }

.cw-children-content-bg-white .content {
  background-color: #fff; }

.cw-children-content-bg-gray .content {
  background-color: #f9f9f9; }

.cw-children-content-bg-black .content {
  background-color: #000; }

.cw-children-content-h100 .content {
  height: 100%; }

.cw-children-content-p .content {
  padding: 20px; }

@media (min-width: 992px) {
  .cw-children-content-p .content {
    padding: 50px; } }

.cw-children-content-shadow .content {
  box-shadow: 0px 9px 46px 0px rgba(0, 0, 0, 0.2); }

.cw-children-content-radius .content {
  border-radius: 0.313rem; }

.cw-children-quincunx-md {
  text-align: center; }

@media (min-width: 768px) {
  .cw-children-quincunx-md > div:nth-of-type(odd) {
    text-align: right; }
  .cw-children-quincunx-md > div:nth-of-type(even) {
    text-align: left;
    margin-top: 70px; } }

.cw-clip-path-circle {
  -webkit-shape-outside: circle(50% at 50% 50%);
  shape-outside: circle(50% at 50% 50%);
  -webkit-clip-path: circle(50% at 50% 50%);
  clip-path: circle(50% at 50% 50%); }

.cw-clip-path-triangle {
  -webkit-shape-outside: polygon(50% 0%, 0% 100%, 100% 100%);
  shape-outside: polygon(50% 0%, 0% 100%, 100% 100%);
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%); }

.cw-clip-path-losange {
  -webkit-shape-outside: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  shape-outside: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); }

.cw-clip-path-etoile {
  -webkit-shape-outside: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  shape-outside: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  -webkit-clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }

.cw-clip-path-hexagon {
  -webkit-shape-outside: polygon(50% 0, 100% 27%, 100% 73%, 50% 100%, 0 73%, 0 27%);
  shape-outside: polygon(50% 0, 100% 27%, 100% 73%, 50% 100%, 0 73%, 0 27%);
  -webkit-clip-path: polygon(50% 0, 100% 27%, 100% 73%, 50% 100%, 0 73%, 0 27%);
  clip-path: polygon(50% 0, 100% 27%, 100% 73%, 50% 100%, 0 73%, 0 27%); }

.clip-path-1-double {
  -webkit-shape-outside: polygon(0 5%, 100% 0, 100% 100%, 0 95%);
  shape-outside: polygon(0 5%, 100% 0, 100% 100%, 0 95%);
  -webkit-clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 95%);
  clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 95%); }

.clip-path-2-double {
  -webkit-shape-outside: polygon(0 0, 100% 5%, 100% 95%, 0 100%);
  shape-outside: polygon(0 0, 100% 5%, 100% 95%, 0 100%);
  -webkit-clip-path: polygon(0 0, 100% 5%, 100% 95%, 0 100%);
  clip-path: polygon(0 0, 100% 5%, 100% 95%, 0 100%); }

.clip-path-3-double-parallele {
  -webkit-shape-outside: polygon(0 5%, 100% 0, 100% 95%, 0% 100%);
  shape-outside: polygon(0 5%, 100% 0, 100% 95%, 0% 100%);
  -webkit-clip-path: polygon(0 5%, 100% 0, 100% 95%, 0% 100%);
  clip-path: polygon(0 5%, 100% 0, 100% 95%, 0% 100%); }

.clip-path-bottom-up-lr {
  -webkit-shape-outside: polygon(0 0, 100% 0, 100% 95%, 0 100%);
  shape-outside: polygon(0 0, 100% 0, 100% 95%, 0 100%);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%); }

.clip-path-bottom-down-lr {
  -webkit-shape-outside: polygon(0 0, 100% 0, 100% 100%, 0 95%);
  shape-outside: polygon(0 0, 100% 0, 100% 100%, 0 95%);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 95%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 95%); }

.clip-path-top-up-lr {
  -webkit-shape-outside: polygon(0 5%, 100% 0, 100% 100%, 0 100%);
  shape-outside: polygon(0 5%, 100% 0, 100% 100%, 0 100%);
  -webkit-clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 100%); }

.clip-path-top-down-lr {
  -webkit-shape-outside: polygon(0 0, 100% 5%, 100% 100%, 0% 100%);
  shape-outside: polygon(0 0, 100% 5%, 100% 100%, 0% 100%);
  -webkit-clip-path: polygon(0 0, 100% 5%, 100% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 5%, 100% 100%, 0% 100%); }

@media (min-width: 992px) {
  .clip-path-1-double {
    -webkit-shape-outside: polygon(0 12%, 100% 0, 100% 100%, 0 88%);
    shape-outside: polygon(0 12%, 100% 0, 100% 100%, 0 88%);
    -webkit-clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 88%);
    clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 88%); }
  .clip-path-2-double {
    -webkit-shape-outside: polygon(0 0, 100% 12%, 100% 88%, 0 100%);
    shape-outside: polygon(0 0, 100% 12%, 100% 88%, 0 100%);
    -webkit-clip-path: polygon(0 0, 100% 12%, 100% 88%, 0 100%);
    clip-path: polygon(0 0, 100% 12%, 100% 88%, 0 100%); }
  .clip-path-3-double-parallele {
    -webkit-shape-outside: polygon(0 12%, 100% 0, 100% 88%, 0% 100%);
    shape-outside: polygon(0 12%, 100% 0, 100% 88%, 0% 100%);
    -webkit-clip-path: polygon(0 12%, 100% 0, 100% 88%, 0% 100%);
    clip-path: polygon(0 12%, 100% 0, 100% 88%, 0% 100%); }
  .clip-path-bottom-up-lr {
    -webkit-shape-outside: polygon(0 0, 100% 0, 100% 88%, 0 100%);
    shape-outside: polygon(0 0, 100% 0, 100% 88%, 0 100%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%); }
  .clip-path-bottom-down-lr {
    -webkit-shape-outside: polygon(0 0, 100% 0, 100% 100%, 0 88%);
    shape-outside: polygon(0 0, 100% 0, 100% 100%, 0 88%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 88%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 88%); }
  .clip-path-top-up-lr {
    -webkit-shape-outside: polygon(0 12%, 100% 0, 100% 100%, 0 100%);
    shape-outside: polygon(0 12%, 100% 0, 100% 100%, 0 100%);
    -webkit-clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 100%); }
  .clip-path-top-down-lr {
    -webkit-shape-outside: polygon(0 0, 100% 12%, 100% 100%, 0% 100%);
    shape-outside: polygon(0 0, 100% 12%, 100% 100%, 0% 100%);
    -webkit-clip-path: polygon(0 0, 100% 12%, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 12%, 100% 100%, 0% 100%); } }

.node--type-galerie .field--type-image.field__item, .node--type-galerie .field--type-image .field__item, .galerie-section .field--type-image.field__item, .galerie-section .field--type-image .field__item {
  border-radius: 0.0939rem;
  overflow: hidden; }

.field--type-image.field__item .colorbox, .field--type-image .field__item .colorbox {
  position: relative;
  overflow: hidden;
  display: block; }
  .field--type-image.field__item .colorbox img, .field--type-image .field__item .colorbox img {
    filter: brightness(1) blur(0px);
    -moz-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    -o-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    -webkit-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    border-radius: 0.0939rem; }
  .field--type-image.field__item .colorbox .show-more, .field--type-image .field__item .colorbox .show-more {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    color: #fff; }
    .field--type-image.field__item .colorbox .show-more .icon, .field--type-image .field__item .colorbox .show-more .icon {
      transform: rotate(225deg); }
    .field--type-image.field__item .colorbox .show-more .icon:before, .field--type-image .field__item .colorbox .show-more .icon:before {
      font-family: "Font Awesome 5 free";
      font-weight: 900;
      font-size: 1.2rem;
      content: "";
      display: block;
      -webkit-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
      -moz-transition: all 0.2s;
      -o-transition: all 0.2s;
      -webkit-transition: all 0.2s;
      transition: all 0.2s; }
    .field--type-image.field__item .colorbox .show-more .title, .field--type-image .field__item .colorbox .show-more .title {
      font-family: "Montserrat", sans-serif;
      font-size: 0.75rem;
      display: block;
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
      opacity: 0;
      -moz-transition: all 0.8s 0.2s;
      -o-transition: all 0.8s 0.2s;
      -webkit-transition: all 0.8s 0.2s;
      transition: all 0.8s 0.2s; }
  .field--type-image.field__item .colorbox:hover img, .field--type-image .field__item .colorbox:hover img {
    -webkit-transform: scale(1.6);
    -moz-transform: scale(1.6);
    -ms-transform: scale(1.6);
    -o-transform: scale(1.6);
    transform: scale(1.6);
    filter: brightness(0.5) blur(1px); }
  .field--type-image.field__item .colorbox:hover .show-more, .field--type-image .field__item .colorbox:hover .show-more {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s; }
    .field--type-image.field__item .colorbox:hover .show-more .icon:before, .field--type-image .field__item .colorbox:hover .show-more .icon:before {
      -webkit-transform: scale(1.5, 1.5);
      -moz-transform: scale(1.5, 1.5);
      -ms-transform: scale(1.5, 1.5);
      -o-transform: scale(1.5, 1.5);
      transform: scale(1.5, 1.5);
      -moz-transition: all 0.6s;
      -o-transition: all 0.6s;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .field--type-image.field__item .colorbox:hover .title, .field--type-image .field__item .colorbox:hover .title {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }

.colorbox.colorbox-zoom .icon {
  transform: rotate(0deg) !important; }

.colorbox.colorbox-zoom .icon:before {
  content: '\f002' !important; }

.colorbox.colorbox-zoom:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  filter: brightness(1) blur(0px);
  opacity: 0.5; }

.colorbox.colorbox-zoom:hover .show-more .icon:before {
  transform: scale(2) !important; }

#cboxOverlay {
  opacity: 0.95 !important; }

#colorbox {
  overflow: initial; }
  #colorbox #cboxWrapper {
    background: transparent;
    overflow: initial; }
    #colorbox #cboxWrapper #cboxContent {
      position: relative;
      background-color: transparent;
      overflow: initial;
      margin-bottom: 28px;
      font-family: "Montserrat", sans-serif;
      font-size: 0.75rem; }
      #colorbox #cboxWrapper #cboxContent:after {
        content: '';
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        z-index: -1;
        box-shadow: 0 0 3.125em rgba(0, 0, 0, 0.95);
        border-radius: 10px; }
      #colorbox #cboxWrapper #cboxContent #cboxLoadedContent {
        margin-bottom: 0; }
        #colorbox #cboxWrapper #cboxContent #cboxLoadedContent img {
          border-radius: 10px; }
      #colorbox #cboxWrapper #cboxContent #cboxLoadingOverlay {
        background: #0d0d0d; }
      #colorbox #cboxWrapper #cboxContent #cboxTitle {
        bottom: 0;
        border-radius: 0 0 10px 10px;
        background-color: rgba(0, 0, 0, 0.7);
        color: #818181;
        padding: 7px 5px; }
      #colorbox #cboxWrapper #cboxContent #cboxLoadingGraphic {
        background: none;
        animation: fa-spin 2s linear infinite;
        display: flex;
        justify-content: center;
        align-items: center; }
        #colorbox #cboxWrapper #cboxContent #cboxLoadingGraphic::after {
          animation: fa-spin 5s linear infinite;
          content: "\f110";
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          font-size: 35px;
          color: #818181; }
      #colorbox #cboxWrapper #cboxContent button#cboxPrevious, #colorbox #cboxWrapper #cboxContent button#cboxNext, #colorbox #cboxWrapper #cboxContent button#cboxClose {
        bottom: -34px;
        color: transparent;
        background-color: transparent; }
      #colorbox #cboxWrapper #cboxContent #cboxCurrent {
        bottom: -32px; }

/********* FLECHES COLORBOX *************/
#cboxCurrent, #cboxClose {
  bottom: -1px; }

button#cboxPrevious,
button#cboxNext,
button#cboxClose {
  background: none;
  color: transparent;
  height: unset;
  text-indent: unset;
  bottom: -4px; }
  button#cboxPrevious::after,
  button#cboxNext::after,
  button#cboxClose::after {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    color: #494949;
    font-size: 20px; }

button#cboxPrevious {
  left: -34px; }
  button#cboxPrevious::after {
    content: "\f0a8"; }

button#cboxNext::after {
  content: "\f0a9"; }

#cboxCurrent {
  left: 74px;
  color: #818181; }

button#cboxClose {
  width: unset;
  right: 2px; }
  button#cboxClose::after {
    content: "\f057"; }

.webform-submission-form .form-type-select .container-field {
  display: block; }
  .webform-submission-form .form-type-select .container-field .form-select {
    margin-bottom: 0; }

.webform-submission-form .container-field {
  position: relative;
  border-radius: 0.0939rem;
  overflow: hidden; }

.webform-submission-form .form-actions .container-field {
  overflow: initial; }

.webform-submission-form [class*="field-anim-"] {
  position: absolute;
  background-color: #cecece;
  -moz-transition: transform 0.25s ease;
  -o-transition: transform 0.25s ease;
  -webkit-transition: transform 0.25s ease;
  transition: transform 0.25s ease; }

.webform-submission-form .field-anim-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  -webkit-transform-origin: bottom right;
  -moz-transform-origin: bottom right;
  -ms-transform-origin: bottom right;
  -o-transform-origin: bottom right;
  transform-origin: bottom right;
  -webkit-transform: scaleX(0);
  -moz-transform: scaleX(0);
  -ms-transform: scaleX(0);
  -o-transform: scaleX(0);
  transform: scaleX(0);
  -moz-transition: transform 0.5s ease;
  -o-transition: transform 0.5s ease;
  -webkit-transition: transform 0.5s ease;
  transition: transform 0.5s ease; }

.webform-submission-form .container-field input:not(.form-file):focus, .webform-submission-form .container-field textarea:focus, .webform-submission-form .container-field select:focus {
  outline: none; }

.webform-submission-form .container-field input:not(.form-file):focus ~ .field-anim-bottom, .webform-submission-form .container-field textarea:focus ~ .field-anim-bottom, .webform-submission-form .container-field select:focus ~ .field-anim-bottom {
  -webkit-transform-origin: bottom left;
  -moz-transform-origin: bottom left;
  -ms-transform-origin: bottom left;
  -o-transform-origin: bottom left;
  transform-origin: bottom left;
  -webkit-transform: scaleX(1);
  -moz-transform: scaleX(1);
  -ms-transform: scaleX(1);
  -o-transform: scaleX(1);
  transform: scaleX(1); }

.block-wf-contact [class*="field-anim-"] {
  background-color: #cecece; }

.flb-block [class*="field-anim-"] {
  background-color: #cecece; }

@-moz-keyframes flash {
  0% {
    opacity: 1; }
  25% {
    opacity: 0; }
  50% {
    opacity: 1; }
  75% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes flash {
  0% {
    opacity: 1; }
  25% {
    opacity: 0; }
  50% {
    opacity: 1; }
  75% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-o-keyframes flash {
  0% {
    opacity: 1; }
  25% {
    opacity: 0; }
  50% {
    opacity: 1; }
  75% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-ms-keyframes flash {
  0% {
    opacity: 1; }
  25% {
    opacity: 0; }
  50% {
    opacity: 1; }
  75% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes flash {
  0% {
    opacity: 1; }
  25% {
    opacity: 0; }
  50% {
    opacity: 1; }
  75% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes bounce {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  60% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px); }
  80% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-webkit-keyframes bounce {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  60% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px); }
  80% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-o-keyframes bounce {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  60% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px); }
  80% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-ms-keyframes bounce {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  60% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px); }
  80% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@keyframes bounce {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  60% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px); }
  80% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-moz-keyframes shake {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  20% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  30% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  40% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  50% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  60% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  70% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  90% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-webkit-keyframes shake {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  20% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  30% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  40% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  50% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  60% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  70% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  90% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-o-keyframes shake {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  20% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  30% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  40% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  50% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  60% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  70% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  90% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-ms-keyframes shake {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  20% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  30% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  40% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  50% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  60% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  70% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  90% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@keyframes shake {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  20% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  30% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  40% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  50% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  60% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  70% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  90% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-moz-keyframes tada {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  10% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  50% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  60% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  70% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    -moz-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    -o-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  10% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  50% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  60% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  70% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    -moz-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    -o-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@-o-keyframes tada {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  10% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  50% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  60% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  70% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    -moz-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    -o-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@-ms-keyframes tada {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  10% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  50% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  60% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  70% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    -moz-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    -o-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@keyframes tada {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  10% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  50% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  60% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  70% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    -moz-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    -o-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@-moz-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center 50%;
    -moz-transform-origin: top center 50%;
    -ms-transform-origin: top center 50%;
    -o-transform-origin: top center 50%;
    transform-origin: top center 50%; }
  20% {
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); } }

@-webkit-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center 50%;
    -moz-transform-origin: top center 50%;
    -ms-transform-origin: top center 50%;
    -o-transform-origin: top center 50%;
    transform-origin: top center 50%; }
  20% {
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); } }

@-o-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center 50%;
    -moz-transform-origin: top center 50%;
    -ms-transform-origin: top center 50%;
    -o-transform-origin: top center 50%;
    transform-origin: top center 50%; }
  20% {
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); } }

@-ms-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center 50%;
    -moz-transform-origin: top center 50%;
    -ms-transform-origin: top center 50%;
    -o-transform-origin: top center 50%;
    transform-origin: top center 50%; }
  20% {
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); } }

@keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center 50%;
    -moz-transform-origin: top center 50%;
    -ms-transform-origin: top center 50%;
    -o-transform-origin: top center 50%;
    transform-origin: top center 50%; }
  20% {
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); } }

@-moz-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -moz-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    -o-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -moz-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    -o-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -moz-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    -o-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -moz-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    -o-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -moz-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    -o-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); } }

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -moz-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    -o-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -moz-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    -o-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -moz-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    -o-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -moz-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    -o-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -moz-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    -o-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); } }

@-o-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -moz-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    -o-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -moz-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    -o-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -moz-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    -o-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -moz-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    -o-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -moz-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    -o-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); } }

@-ms-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -moz-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    -o-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -moz-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    -o-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -moz-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    -o-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -moz-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    -o-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -moz-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    -o-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); } }

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -moz-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    -o-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -moz-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    -o-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -moz-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    -o-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -moz-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    -o-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -moz-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    -o-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); } }

@-moz-keyframes pulse {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50% {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50% {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-o-keyframes pulse {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50% {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-ms-keyframes pulse {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50% {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50% {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-moz-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    -moz-transform: skewX(9deg);
    -ms-transform: skewX(9deg);
    -o-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    -moz-transform: skewX(-8deg);
    -ms-transform: skewX(-8deg);
    -o-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    -moz-transform: skewX(7deg);
    -ms-transform: skewX(7deg);
    -o-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    -moz-transform: skewX(-6deg);
    -ms-transform: skewX(-6deg);
    -o-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    -moz-transform: skewX(5deg);
    -ms-transform: skewX(5deg);
    -o-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    -moz-transform: skewX(-4deg);
    -ms-transform: skewX(-4deg);
    -o-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    -moz-transform: skewX(3deg);
    -ms-transform: skewX(3deg);
    -o-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    -moz-transform: skewX(-2deg);
    -ms-transform: skewX(-2deg);
    -o-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    -moz-transform: skewX(1deg);
    -ms-transform: skewX(1deg);
    -o-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); } }

@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    -moz-transform: skewX(9deg);
    -ms-transform: skewX(9deg);
    -o-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    -moz-transform: skewX(-8deg);
    -ms-transform: skewX(-8deg);
    -o-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    -moz-transform: skewX(7deg);
    -ms-transform: skewX(7deg);
    -o-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    -moz-transform: skewX(-6deg);
    -ms-transform: skewX(-6deg);
    -o-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    -moz-transform: skewX(5deg);
    -ms-transform: skewX(5deg);
    -o-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    -moz-transform: skewX(-4deg);
    -ms-transform: skewX(-4deg);
    -o-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    -moz-transform: skewX(3deg);
    -ms-transform: skewX(3deg);
    -o-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    -moz-transform: skewX(-2deg);
    -ms-transform: skewX(-2deg);
    -o-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    -moz-transform: skewX(1deg);
    -ms-transform: skewX(1deg);
    -o-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); } }

@-o-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    -moz-transform: skewX(9deg);
    -ms-transform: skewX(9deg);
    -o-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    -moz-transform: skewX(-8deg);
    -ms-transform: skewX(-8deg);
    -o-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    -moz-transform: skewX(7deg);
    -ms-transform: skewX(7deg);
    -o-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    -moz-transform: skewX(-6deg);
    -ms-transform: skewX(-6deg);
    -o-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    -moz-transform: skewX(5deg);
    -ms-transform: skewX(5deg);
    -o-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    -moz-transform: skewX(-4deg);
    -ms-transform: skewX(-4deg);
    -o-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    -moz-transform: skewX(3deg);
    -ms-transform: skewX(3deg);
    -o-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    -moz-transform: skewX(-2deg);
    -ms-transform: skewX(-2deg);
    -o-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    -moz-transform: skewX(1deg);
    -ms-transform: skewX(1deg);
    -o-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); } }

@-ms-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    -moz-transform: skewX(9deg);
    -ms-transform: skewX(9deg);
    -o-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    -moz-transform: skewX(-8deg);
    -ms-transform: skewX(-8deg);
    -o-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    -moz-transform: skewX(7deg);
    -ms-transform: skewX(7deg);
    -o-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    -moz-transform: skewX(-6deg);
    -ms-transform: skewX(-6deg);
    -o-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    -moz-transform: skewX(5deg);
    -ms-transform: skewX(5deg);
    -o-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    -moz-transform: skewX(-4deg);
    -ms-transform: skewX(-4deg);
    -o-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    -moz-transform: skewX(3deg);
    -ms-transform: skewX(3deg);
    -o-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    -moz-transform: skewX(-2deg);
    -ms-transform: skewX(-2deg);
    -o-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    -moz-transform: skewX(1deg);
    -ms-transform: skewX(1deg);
    -o-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); } }

@keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    -moz-transform: skewX(9deg);
    -ms-transform: skewX(9deg);
    -o-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    -moz-transform: skewX(-8deg);
    -ms-transform: skewX(-8deg);
    -o-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    -moz-transform: skewX(7deg);
    -ms-transform: skewX(7deg);
    -o-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    -moz-transform: skewX(-6deg);
    -ms-transform: skewX(-6deg);
    -o-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    -moz-transform: skewX(5deg);
    -ms-transform: skewX(5deg);
    -o-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    -moz-transform: skewX(-4deg);
    -ms-transform: skewX(-4deg);
    -o-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    -moz-transform: skewX(3deg);
    -ms-transform: skewX(3deg);
    -o-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    -moz-transform: skewX(-2deg);
    -ms-transform: skewX(-2deg);
    -o-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    -moz-transform: skewX(1deg);
    -ms-transform: skewX(1deg);
    -o-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); } }

@-moz-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  25% {
    -webkit-transform: scale(0.95, 0.95);
    -moz-transform: scale(0.95, 0.95);
    -ms-transform: scale(0.95, 0.95);
    -o-transform: scale(0.95, 0.95);
    transform: scale(0.95, 0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); } }

@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  25% {
    -webkit-transform: scale(0.95, 0.95);
    -moz-transform: scale(0.95, 0.95);
    -ms-transform: scale(0.95, 0.95);
    -o-transform: scale(0.95, 0.95);
    transform: scale(0.95, 0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); } }

@-o-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  25% {
    -webkit-transform: scale(0.95, 0.95);
    -moz-transform: scale(0.95, 0.95);
    -ms-transform: scale(0.95, 0.95);
    -o-transform: scale(0.95, 0.95);
    transform: scale(0.95, 0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); } }

@-ms-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  25% {
    -webkit-transform: scale(0.95, 0.95);
    -moz-transform: scale(0.95, 0.95);
    -ms-transform: scale(0.95, 0.95);
    -o-transform: scale(0.95, 0.95);
    transform: scale(0.95, 0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); } }

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  25% {
    -webkit-transform: scale(0.95, 0.95);
    -moz-transform: scale(0.95, 0.95);
    -ms-transform: scale(0.95, 0.95);
    -o-transform: scale(0.95, 0.95);
    transform: scale(0.95, 0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); } }

@-moz-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@-o-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@-ms-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@-moz-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-o-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-ms-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-moz-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-o-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-ms-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-moz-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-o-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-ms-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-moz-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05, 1.05);
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -o-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05); }
  70% {
    -webkit-transform: scale(0.9, 0.9);
    -moz-transform: scale(0.9, 0.9);
    -ms-transform: scale(0.9, 0.9);
    -o-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05, 1.05);
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -o-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05); }
  70% {
    -webkit-transform: scale(0.9, 0.9);
    -moz-transform: scale(0.9, 0.9);
    -ms-transform: scale(0.9, 0.9);
    -o-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-o-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05, 1.05);
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -o-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05); }
  70% {
    -webkit-transform: scale(0.9, 0.9);
    -moz-transform: scale(0.9, 0.9);
    -ms-transform: scale(0.9, 0.9);
    -o-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-ms-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05, 1.05);
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -o-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05); }
  70% {
    -webkit-transform: scale(0.9, 0.9);
    -moz-transform: scale(0.9, 0.9);
    -ms-transform: scale(0.9, 0.9);
    -o-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05, 1.05);
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -o-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05); }
  70% {
    -webkit-transform: scale(0.9, 0.9);
    -moz-transform: scale(0.9, 0.9);
    -ms-transform: scale(0.9, 0.9);
    -o-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-moz-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -ms-transform: translateY(30px);
    -o-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -ms-transform: translateY(30px);
    -o-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-o-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -ms-transform: translateY(30px);
    -o-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-ms-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -ms-transform: translateY(30px);
    -o-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -ms-transform: translateY(30px);
    -o-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-moz-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-o-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-ms-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-moz-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -moz-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -o-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -moz-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -o-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-o-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -moz-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -o-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-ms-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -moz-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -o-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -moz-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -o-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-moz-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
    -ms-transform: translateX(30px);
    -o-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
    -ms-transform: translateX(30px);
    -o-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-o-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
    -ms-transform: translateX(30px);
    -o-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-ms-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
    -ms-transform: translateX(30px);
    -o-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
    -ms-transform: translateX(30px);
    -o-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-moz-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-o-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-ms-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-moz-keyframes fadeOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; } }

@-webkit-keyframes fadeOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; } }

@-o-keyframes fadeOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; } }

@-ms-keyframes fadeOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; } }

@keyframes fadeOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; } }

@-moz-keyframes fadeOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; } }

@-webkit-keyframes fadeOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; } }

@-o-keyframes fadeOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; } }

@-ms-keyframes fadeOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; } }

@keyframes fadeOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; } }

@-moz-keyframes fadeOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; } }

@-webkit-keyframes fadeOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; } }

@-o-keyframes fadeOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; } }

@-ms-keyframes fadeOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; } }

@keyframes fadeOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; } }

@-moz-keyframes fadeOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; } }

@-webkit-keyframes fadeOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; } }

@-o-keyframes fadeOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; } }

@-ms-keyframes fadeOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; } }

@keyframes fadeOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; } }

@-moz-keyframes fadeOutUpBig {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px);
    opacity: 0; } }

@-webkit-keyframes fadeOutUpBig {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px);
    opacity: 0; } }

@-o-keyframes fadeOutUpBig {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px);
    opacity: 0; } }

@-ms-keyframes fadeOutUpBig {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px);
    opacity: 0; } }

@keyframes fadeOutUpBig {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px);
    opacity: 0; } }

@-moz-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-o-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-ms-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-moz-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-o-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-ms-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-moz-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-o-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-ms-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-moz-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-o-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-ms-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes fadeInUp {
  0% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-webkit-keyframes fadeInUp {
  0% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-o-keyframes fadeInUp {
  0% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-ms-keyframes fadeInUp {
  0% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fadeInUp {
  0% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-moz-keyframes fadeInDown {
  0% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-webkit-keyframes fadeInDown {
  0% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-o-keyframes fadeInDown {
  0% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-ms-keyframes fadeInDown {
  0% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fadeInDown {
  0% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-moz-keyframes fadeInRight {
  0% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-webkit-keyframes fadeInRight {
  0% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-o-keyframes fadeInRight {
  0% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-ms-keyframes fadeInRight {
  0% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@keyframes fadeInRight {
  0% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-moz-keyframes fadeInLeft {
  0% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-webkit-keyframes fadeInLeft {
  0% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-o-keyframes fadeInLeft {
  0% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-ms-keyframes fadeInLeft {
  0% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@keyframes fadeInLeft {
  0% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-moz-keyframes fadeInUpBig {
  0% {
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-webkit-keyframes fadeInUpBig {
  0% {
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-o-keyframes fadeInUpBig {
  0% {
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-ms-keyframes fadeInUpBig {
  0% {
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fadeInUpBig {
  0% {
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-moz-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-o-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-ms-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-moz-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-o-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-ms-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-moz-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-o-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-ms-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-moz-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -moz-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    -o-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -ms-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -o-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -moz-transform: perspective(400px) scale(1);
    -ms-transform: perspective(400px) scale(1);
    -o-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -moz-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    -o-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -ms-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -o-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -moz-transform: perspective(400px) scale(1);
    -ms-transform: perspective(400px) scale(1);
    -o-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@-o-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -moz-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    -o-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -ms-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -o-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -moz-transform: perspective(400px) scale(1);
    -ms-transform: perspective(400px) scale(1);
    -o-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@-ms-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -moz-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    -o-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -ms-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -o-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -moz-transform: perspective(400px) scale(1);
    -ms-transform: perspective(400px) scale(1);
    -o-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -moz-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    -o-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -ms-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -o-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -moz-transform: perspective(400px) scale(1);
    -ms-transform: perspective(400px) scale(1);
    -o-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@-moz-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -moz-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    -o-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -moz-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    -o-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -moz-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    -o-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -moz-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    -o-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-o-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -moz-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    -o-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -moz-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    -o-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-ms-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -moz-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    -o-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -moz-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    -o-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -moz-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    -o-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -moz-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    -o-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-moz-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-o-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-ms-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-moz-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -moz-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    -o-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -moz-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    -o-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -moz-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    -o-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -moz-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    -o-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-o-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -moz-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    -o-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -moz-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    -o-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-ms-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -moz-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    -o-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -moz-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    -o-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -moz-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    -o-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -moz-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    -o-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-moz-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-o-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-ms-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-moz-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -moz-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    -o-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -moz-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    -o-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -moz-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    -o-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -moz-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    -o-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-o-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -moz-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    -o-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -moz-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    -o-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-ms-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -moz-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    -o-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -moz-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    -o-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -moz-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    -o-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -moz-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    -o-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-moz-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-o-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-ms-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-moz-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(200deg);
    -moz-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    -o-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(200deg);
    -moz-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    -o-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

@-o-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(200deg);
    -moz-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    -o-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

@-ms-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(200deg);
    -moz-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    -o-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(200deg);
    -moz-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    -o-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

@-moz-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-o-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-ms-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-moz-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-o-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-ms-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-moz-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-o-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-ms-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-moz-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-o-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-ms-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-moz-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(-200deg);
    -moz-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(-200deg);
    -moz-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-o-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(-200deg);
    -moz-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-ms-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(-200deg);
    -moz-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(-200deg);
    -moz-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-moz-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-o-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-ms-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-moz-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-o-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-ms-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-moz-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-o-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-ms-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-moz-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-o-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-ms-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-moz-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -moz-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    -o-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -o-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -moz-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    -o-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
    -moz-transform: translateY(700px);
    -ms-transform: translateY(700px);
    -o-transform: translateY(700px);
    transform: translateY(700px);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -moz-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    -o-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -o-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -moz-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    -o-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
    -moz-transform: translateY(700px);
    -ms-transform: translateY(700px);
    -o-transform: translateY(700px);
    transform: translateY(700px);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-o-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -moz-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    -o-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -o-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -moz-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    -o-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
    -moz-transform: translateY(700px);
    -ms-transform: translateY(700px);
    -o-transform: translateY(700px);
    transform: translateY(700px);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-ms-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -moz-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    -o-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -o-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -moz-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    -o-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
    -moz-transform: translateY(700px);
    -ms-transform: translateY(700px);
    -o-transform: translateY(700px);
    transform: translateY(700px);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -moz-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    -o-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -o-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -moz-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    -o-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
    -moz-transform: translateY(700px);
    -ms-transform: translateY(700px);
    -o-transform: translateY(700px);
    transform: translateY(700px);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-moz-keyframes rollIn {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

@-webkit-keyframes rollIn {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

@-o-keyframes rollIn {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

@-ms-keyframes rollIn {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

@keyframes rollIn {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

@-moz-keyframes rollOut {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); } }

@-webkit-keyframes rollOut {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); } }

@-o-keyframes rollOut {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); } }

@-ms-keyframes rollOut {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); } }

@keyframes rollOut {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); } }

@media (min-width: 992px) {
  .node--type-actualite #main-wrapper,
  .node--type-annexe #main-wrapper,
  .node--type-reference #main-wrapper,
  .node--type-soref-article #main-wrapper, .node--type-page-soref #main-wrapper {
    max-width: 850px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; } }

.cw-breadcrumb {
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  background: #fcfcfc; }
  .cw-breadcrumb .breadcrumb {
    max-width: 1140px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto;
    background: none;
    margin-bottom: 0; }
  .cw-breadcrumb a {
    color: #393939; }
  .cw-breadcrumb .active {
    font-weight: 600; }
    .cw-breadcrumb .active a {
      color: #0066cc; }

.cw-cards-section {
  margin-top: 70px; }
  .cw-cards-section .title-h2 {
    font-size: 1.1rem;
    line-height: 1.1;
    color: #cecece;
    font-weight: 400; }

.cw-card-rows {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  position: relative; }

.cw-card-thumb {
  position: relative;
  height: min-content;
  margin-bottom: 0rem; }
  .cw-card-thumb img {
    filter: brightness(1) blur(0px);
    -moz-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    -o-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    -webkit-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    border-radius: 0.0939rem; }
  .cw-card-thumb .show-more {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    color: #fff; }
    .cw-card-thumb .show-more .icon {
      transform: rotate(0deg); }
    .cw-card-thumb .show-more .icon:before {
      font-family: "Font Awesome 5 free";
      font-weight: 900;
      font-size: 1.2rem;
      content: "";
      display: block;
      -webkit-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
      -moz-transition: all 0.2s;
      -o-transition: all 0.2s;
      -webkit-transition: all 0.2s;
      transition: all 0.2s; }
    .cw-card-thumb .show-more .title {
      font-family: "Montserrat", sans-serif;
      font-size: 0.75rem;
      display: block;
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
      opacity: 0;
      -moz-transition: all 0.8s 0.2s;
      -o-transition: all 0.8s 0.2s;
      -webkit-transition: all 0.8s 0.2s;
      transition: all 0.8s 0.2s; }
  .cw-card-thumb:hover img {
    -webkit-transform: scale(1.6);
    -moz-transform: scale(1.6);
    -ms-transform: scale(1.6);
    -o-transform: scale(1.6);
    transform: scale(1.6);
    filter: brightness(0.5) blur(1px); }
  .cw-card-thumb:hover .show-more {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s; }
    .cw-card-thumb:hover .show-more .icon:before {
      -webkit-transform: scale(1.5, 1.5);
      -moz-transform: scale(1.5, 1.5);
      -ms-transform: scale(1.5, 1.5);
      -o-transform: scale(1.5, 1.5);
      transform: scale(1.5, 1.5);
      -moz-transition: all 0.6s;
      -o-transition: all 0.6s;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .cw-card-thumb:hover .title {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }

.cw-card-date {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 0.8rem;
  line-height: 1em;
  letter-spacing: 0.08em;
  color: #111;
  border-radius: 4px;
  margin-bottom: 1rem; }

.cw-card-title {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.3rem;
  line-height: 1em;
  letter-spacing: 0em;
  margin-top: 0;
  margin-bottom: 1rem; }
  .cw-card-title strong {
    font-weight: 500; }
  .cw-card-title a {
    color: #111 !important; }

.cw-card-text {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0em;
  margin-bottom: 1rem; }

.cw-card {
  box-shadow: 0 0.8rem 1.4rem rgba(0, 0, 0, 0.08); }

.bloc-carousel .view-content {
  padding: 0 !important; }

.bloc-carousel .carousel-item {
  padding: 0px 30px; }

.page-listing .cw-card:not(:last-child) {
  margin-bottom: 4rem; }

.cw-cards-andromede .view-content {
  justify-content: center;
  max-width: 680px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.cw-cards-andromede .cw-card {
  display: flex;
  flex-direction: column;
  max-width: 580px;
  min-width: 260px;
  margin: 55px 0;
  background-color: #fff;
  border-radius: 0;
  position: relative; }
  .cw-cards-andromede .cw-card .card-text {
    font-size: 17px; }

.cw-cards-andromede .cw-card-thumb {
  top: -31px;
  padding: 0 30px;
  border-radius: 0.313rem; }

.cw-cards-andromede .cw-card-thumb {
  display: flex;
  justify-content: center;
  align-items: center; }
  .cw-cards-andromede .cw-card-thumb a {
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
    overflow: hidden; }
  .cw-cards-andromede .cw-card-thumb img {
    max-width: 100%; }

.cw-cards-andromede .cw-card-summary {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 0.5rem 30px 30px; }

.cw-cards-andromede .content {
  height: 13rem;
  overflow: auto; }

.cw-cards-andromede .cw-card-text {
  color: #343434;
  font-size: 1rem;
  line-height: 1.4; }

.cw-cards-andromede .cw-card-date {
  width: fit-content;
  background-color: #f9f9f9;
  padding: 10px 20px;
  margin-bottom: 0.5rem; }

.cw-cards-andromede .cw-card-title {
  width: 100%; }

.cw-cards-andromede .cw-card-show {
  position: absolute;
  right: 30px;
  bottom: -20px; }
  .cw-cards-andromede .cw-card-show .btn {
    color: #007FFF;
    padding: 15px 40px; }

@media (min-width: 768px) {
  .cw-cards-andromede .cw-card {
    width: 45%;
    max-width: 580px;
    min-width: 330px;
    margin: 55px 10px; }
  .cw-cards-andromede .cw-card-summary .cw-card-content {
    height: 9rem; } }

@media (min-width: 992px) {
  .cw-cards-andromede .view-content {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; }
  .cw-cards-andromede .cw-card-summary {
    flex: 1; }
    .cw-cards-andromede .cw-card-summary .cw-card-content {
      height: initial; } }

@media (min-width: 1200px) {
  .cw-cards-andromede .cw-card {
    width: 31%;
    max-width: 580px;
    min-width: auto; } }

@media (min-width: 768px) {
  .cw-cards-andromede-hz .cw-card {
    width: 100%; } }

@media (min-width: 992px) {
  .cw-cards-andromede-hz .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto;
    flex-wrap: nowrap; }
    .cw-cards-andromede-hz .cw-card .cw-card-thumb img {
      max-width: 100%; }
    .cw-cards-andromede-hz .cw-card .cw-card-show {
      top: -20px; }
    .cw-cards-andromede-hz .cw-card .cw-card-summary {
      justify-content: space-evenly;
      padding: 40px 25px 40px 15px; } }

@media (min-width: 1200px) {
  .cw-cards-andromede-hz .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto; } }

.cw-cards-section {
  margin-top: 70px; }
  .cw-cards-section .title-h2 {
    font-size: 1.1rem;
    line-height: 1.1;
    color: #cecece;
    font-weight: 400; }

.cw-card-rows {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  position: relative; }

.bloc-actualites .cw-card {
  margin-bottom: 4rem; }

@media (min-width: 992px) {
  .bloc-actualites .cw-card-text {
    min-height: 52px; } }

.cw-cards-bode .view-content {
  justify-content: center;
  max-width: 680px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }
  .cw-cards-bode .view-content .carousel-item {
    padding: 62px 15px; }

.cw-cards-bode .cw-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  max-width: 580px;
  min-width: 260px;
  margin: 30px 0 60px;
  background-color: #fff;
  border-radius: 0;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08); }
  .cw-cards-bode .cw-card .card-text {
    font-size: 17px; }

.cw-cards-bode .cw-card-thumb {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  bottom: 30px;
  margin: auto;
  padding: 0 30px; }

.cw-cards-bode .cw-card-thumb a {
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.15);
  border-radius: 50%;
  overflow: hidden; }

.cw-cards-bode .cw-card-thumb img {
  max-width: 100%; }

.cw-cards-bode .cw-card-summary {
  display: flex;
  flex-direction: column;
  padding: 0.5rem 30px 30px;
  text-align: center; }

.cw-cards-bode .content {
  height: 10rem;
  overflow: auto; }

.cw-cards-bode .cw-card-text {
  color: #343434;
  font-size: 1rem;
  line-height: 1.4; }

.cw-cards-bode .cw-card-date {
  margin-bottom: 0.5rem; }

.cw-cards-bode .cw-card-title {
  width: 100%; }

.cw-cards-bode .cw-card-text {
  font-size: 1.1rem;
  line-height: 1.35; }

.cw-cards-bode .cw-card-show {
  position: absolute;
  bottom: -20px;
  width: calc(100% - 2 * 30px); }
  .cw-cards-bode .cw-card-show .btn {
    color: #007FFF;
    padding: 15px 40px;
    width: initial; }

@media (min-width: 768px) {
  .cw-cards-bode .cw-card {
    width: 45%;
    max-width: 580px;
    min-width: 330px; }
  .cw-cards-bode .cw-card-summary .cw-card-content {
    height: 9rem; } }

@media (min-width: 992px) {
  .cw-cards-bode .cw-card {
    margin-left: 10px;
    margin-right: 10px; }
  .cw-cards-bode .view-content {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; }
  .cw-cards-bode .cw-card-summary {
    flex: 1; }
    .cw-cards-bode .cw-card-summary .cw-card-content {
      height: initial; } }

@media (min-width: 1200px) {
  .cw-cards-bode .cw-card {
    width: 31%;
    max-width: 580px;
    min-width: auto; } }

@media (min-width: 768px) {
  .cw-cards-bode-hz .cw-card {
    width: 100%; } }

@media (min-width: 992px) {
  .cw-cards-bode-hz .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto;
    flex-wrap: nowrap;
    margin: 0;
    padding: 60px 30px; }
    .cw-cards-bode-hz .cw-card .cw-card-thumb {
      transform: none;
      position: relative;
      top: 0;
      left: 0;
      padding: 0 30px; }
    .cw-cards-bode-hz .cw-card .cw-card-thumb a {
      display: flex;
      justify-content: center; }
    .cw-cards-bode-hz .cw-card .cw-card-thumb img {
      max-width: 100%; }
    .cw-cards-bode-hz .cw-card .cw-card-summary {
      justify-content: space-evenly;
      align-items: flex-start;
      width: 60%;
      margin-top: 0;
      padding: 0 30px;
      text-align: left; }
    .cw-cards-bode-hz .cw-card .cw-card-show {
      position: initial;
      transform: initial; }
      .cw-cards-bode-hz .cw-card .cw-card-show .btn {
        padding: 26px 60px; } }

@media (min-width: 1200px) {
  .cw-cards-bode-hz .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto; } }

@media (min-width: 992px) {
  .cw-cards-bode-hover .cw-card {
    -moz-transition: background 0.2s ease-in-out;
    -o-transition: background 0.2s ease-in-out;
    -webkit-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out; }
    .cw-cards-bode-hover .cw-card:hover {
      -moz-transition: background 0.2s ease-in-out;
      -o-transition: background 0.2s ease-in-out;
      -webkit-transition: background 0.2s ease-in-out;
      transition: background 0.2s ease-in-out;
      background-color: #f9f9f9; } }

@media (min-width: 992px) {
  .cw-cards-bode-img-right .cw-card .cw-card-thumb {
    order: 1; } }

@media (min-width: 992px) {
  .cw-cards-bode-img-overflow .cw-card {
    padding: 0; }
    .cw-cards-bode-img-overflow .cw-card .cw-card-thumb {
      padding: 0; }
      .cw-cards-bode-img-overflow .cw-card .cw-card-thumb a {
        border-radius: 0;
        margin: -40px 0; }
      .cw-cards-bode-img-overflow .cw-card .cw-card-thumb img {
        max-width: 100%; }
    .cw-cards-bode-img-overflow .cw-card .cw-card-summary {
      padding: 60px; }
  .cw-cards-bode-img-overflow .cw-card:not(:last-child) {
    margin-bottom: calc(4rem + 80px) !important; } }

@media (min-width: 992px) {
  .cw-cards-bode-quincunx .cw-card:nth-child(2n+1) .cw-card-thumb {
    order: 1; }
  .cw-cards-bode-quincunx .cw-card:nth-child(2n+2) .cw-card-summary {
    align-items: flex-end;
    text-align: right; } }

.cw-cards-file .views-view-grid .row {
  justify-content: center; }

.cw-cards-file .views-view-grid .row:last-child .cw-card:last-child {
  margin-bottom: 0; }

.cw-cards-file .cw-card {
  display: flex;
  flex-direction: column;
  position: relative;
  max-width: 580px;
  min-width: 260px;
  background-color: #fff;
  text-align: center;
  background-image: url("../images/particule-guillemets.png");
  background-position: left top;
  background-repeat: no-repeat;
  box-shadow: none;
  margin-bottom: 6rem; }
  .cw-cards-file .cw-card .cw-card-text {
    font-size: 1.4rem;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color: #111;
    margin-top: 1rem;
    margin-bottom: 1.5rem; }

.cw-cards-file .view-content {
  justify-content: center;
  max-width: 680px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

@media (min-width: 768px) {
  .cw-cards-file .cw-card {
    justify-content: space-between;
    max-width: 580px;
    min-width: 330px; } }

@media (min-width: 1200px) {
  .cw-cards-file .views-view-grid .row:not(:last-child) {
    margin-bottom: 8rem; }
  .cw-cards-file .cw-card {
    width: 31%;
    max-width: 580px;
    min-width: auto;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 0; }
    .cw-cards-file .cw-card .cw-card-text {
      margin-top: 1.33333rem;
      margin-bottom: 4rem; }
  .cw-cards-file .view-content {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; } }

.bloc-actualites .view-content {
  justify-content: center;
  max-width: 680px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.bloc-actualites .cw-card {
  display: flex;
  flex-direction: column;
  max-width: 580px;
  min-width: 260px;
  margin: 55px 0;
  background-color: #fff;
  border-radius: 0;
  position: relative; }
  .bloc-actualites .cw-card .card-text {
    font-size: 17px; }

.bloc-actualites .cw-card-thumb {
  top: -31px;
  padding: 0 30px;
  border-radius: 0.313rem; }

.bloc-actualites .cw-card-thumb {
  display: flex;
  justify-content: center;
  align-items: center; }
  .bloc-actualites .cw-card-thumb a {
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
    overflow: hidden; }
  .bloc-actualites .cw-card-thumb img {
    max-width: 100%; }

.bloc-actualites .cw-card-summary {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 0.5rem 30px 30px; }

.bloc-actualites .content {
  height: 13rem;
  overflow: auto; }

.bloc-actualites .cw-card-text {
  color: #343434;
  font-size: 1rem;
  line-height: 1.4; }

.bloc-actualites .cw-card-date {
  width: fit-content;
  background-color: #f9f9f9;
  padding: 10px 20px;
  margin-bottom: 0.5rem; }

.bloc-actualites .cw-card-title {
  width: 100%; }

.bloc-actualites .cw-card-show {
  position: absolute;
  right: 30px;
  bottom: -20px; }
  .bloc-actualites .cw-card-show .btn {
    color: #007FFF;
    padding: 15px 40px; }

@media (min-width: 768px) {
  .bloc-actualites .cw-card {
    width: 45%;
    max-width: 580px;
    min-width: 330px;
    margin: 55px 10px; }
  .bloc-actualites .cw-card-summary .cw-card-content {
    height: 9rem; } }

@media (min-width: 992px) {
  .bloc-actualites .view-content {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; }
  .bloc-actualites .cw-card-summary {
    flex: 1; }
    .bloc-actualites .cw-card-summary .cw-card-content {
      height: initial; } }

@media (min-width: 1200px) {
  .bloc-actualites .cw-card {
    width: 31%;
    max-width: 580px;
    min-width: auto; } }

@media (min-width: 768px) {
  .bloc-actualites .cw-card {
    width: 100%; } }

@media (min-width: 992px) {
  .bloc-actualites .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto;
    flex-wrap: nowrap; }
    .bloc-actualites .cw-card .cw-card-thumb img {
      max-width: 100%; }
    .bloc-actualites .cw-card .cw-card-show {
      top: -20px; }
    .bloc-actualites .cw-card .cw-card-summary {
      justify-content: space-evenly;
      padding: 40px 25px 40px 15px; } }

@media (min-width: 1200px) {
  .bloc-actualites .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto; } }

.bloc-actualites .carousel-item {
  padding: 0px 20px; }
  .bloc-actualites .carousel-item .cw-card {
    margin: 55px auto; }

.page-actualites .view-content {
  justify-content: center;
  max-width: 680px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.page-actualites .cw-card {
  display: flex;
  flex-direction: column;
  max-width: 580px;
  min-width: 260px;
  margin: 55px 0;
  background-color: #fff;
  border-radius: 0;
  position: relative; }
  .page-actualites .cw-card .card-text {
    font-size: 17px; }

.page-actualites .cw-card-thumb {
  top: -31px;
  padding: 0 30px;
  border-radius: 0.313rem; }

.page-actualites .cw-card-thumb {
  display: flex;
  justify-content: center;
  align-items: center; }
  .page-actualites .cw-card-thumb a {
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
    overflow: hidden; }
  .page-actualites .cw-card-thumb img {
    max-width: 100%; }

.page-actualites .cw-card-summary {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 0.5rem 30px 30px; }

.page-actualites .content {
  height: 13rem;
  overflow: auto; }

.page-actualites .cw-card-text {
  color: #343434;
  font-size: 1rem;
  line-height: 1.4; }

.page-actualites .cw-card-date {
  width: fit-content;
  background-color: #f9f9f9;
  padding: 10px 20px;
  margin-bottom: 0.5rem; }

.page-actualites .cw-card-title {
  width: 100%; }

.page-actualites .cw-card-show {
  position: absolute;
  right: 30px;
  bottom: -20px; }
  .page-actualites .cw-card-show .btn {
    color: #007FFF;
    padding: 15px 40px; }

@media (min-width: 768px) {
  .page-actualites .cw-card {
    width: 45%;
    max-width: 580px;
    min-width: 330px;
    margin: 55px 10px; }
  .page-actualites .cw-card-summary .cw-card-content {
    height: 9rem; } }

@media (min-width: 992px) {
  .page-actualites .view-content {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; }
  .page-actualites .cw-card-summary {
    flex: 1; }
    .page-actualites .cw-card-summary .cw-card-content {
      height: initial; } }

@media (min-width: 1200px) {
  .page-actualites .cw-card {
    width: 31%;
    max-width: 580px;
    min-width: auto; } }

@media (min-width: 768px) {
  .page-actualites .cw-card {
    width: 100%; } }

@media (min-width: 992px) {
  .page-actualites .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto;
    flex-wrap: nowrap; }
    .page-actualites .cw-card .cw-card-thumb img {
      max-width: 100%; }
    .page-actualites .cw-card .cw-card-show {
      top: -20px; }
    .page-actualites .cw-card .cw-card-summary {
      justify-content: space-evenly;
      padding: 40px 25px 40px 15px; } }

@media (min-width: 1200px) {
  .page-actualites .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto; } }

.cw-card-rows .view-content {
  justify-content: center;
  max-width: 680px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.cw-card-rows .cw-card {
  display: flex;
  flex-direction: column;
  max-width: 580px;
  min-width: 260px;
  margin: 55px 0;
  background-color: #fff;
  border-radius: 0;
  position: relative; }
  .cw-card-rows .cw-card .card-text {
    font-size: 17px; }

.cw-card-rows .cw-card-thumb {
  top: -31px;
  padding: 0 30px;
  border-radius: 0.313rem; }

.cw-card-rows .cw-card-thumb {
  display: flex;
  justify-content: center;
  align-items: center; }
  .cw-card-rows .cw-card-thumb a {
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
    overflow: hidden; }
  .cw-card-rows .cw-card-thumb img {
    max-width: 100%; }

.cw-card-rows .cw-card-summary {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 0.5rem 30px 30px; }

.cw-card-rows .content {
  height: 13rem;
  overflow: auto; }

.cw-card-rows .cw-card-text {
  color: #343434;
  font-size: 1rem;
  line-height: 1.4; }

.cw-card-rows .cw-card-date {
  width: fit-content;
  background-color: #f9f9f9;
  padding: 10px 20px;
  margin-bottom: 0.5rem; }

.cw-card-rows .cw-card-title {
  width: 100%; }

.cw-card-rows .cw-card-show {
  position: absolute;
  right: 30px;
  bottom: -20px; }
  .cw-card-rows .cw-card-show .btn {
    color: #007FFF;
    padding: 15px 40px; }

@media (min-width: 768px) {
  .cw-card-rows .cw-card {
    width: 45%;
    max-width: 580px;
    min-width: 330px;
    margin: 55px 10px; }
  .cw-card-rows .cw-card-summary .cw-card-content {
    height: 9rem; } }

@media (min-width: 992px) {
  .cw-card-rows .view-content {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; }
  .cw-card-rows .cw-card-summary {
    flex: 1; }
    .cw-card-rows .cw-card-summary .cw-card-content {
      height: initial; } }

@media (min-width: 1200px) {
  .cw-card-rows .cw-card {
    width: 31%;
    max-width: 580px;
    min-width: auto; } }

.cw-context-xxx .cw-element-img {
  max-height: 120px;
  display: flex;
  align-content: center;
  justify-content: center;
  margin-bottom: 30px; }

.cw-context-xxx .cw-element-title {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.3rem;
  line-height: 1.2;
  letter-spacing: 0em;
  color: #343434; }

.cw-context-xxx .cw-element-text {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0em;
  color: #343434; }

.cw-context-xxx .cw-element-adresse {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0em;
  color: #343434; }
  .cw-context-xxx .cw-element-adresse a {
    color: #343434; }
    .cw-context-xxx .cw-element-adresse a:hover {
      color: #4e4e4e; }

.cw-context-xxx .cw-element-horaire {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0em;
  color: #343434; }

.cw-context-xxx .cw-element-tel {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0em;
  color: #343434; }
  .cw-context-xxx .cw-element-tel a {
    color: #343434; }
    .cw-context-xxx .cw-element-tel a:hover {
      color: #4e4e4e; }

.cw-damier {
  /* Dégradé damier */ }
  .cw-damier .col-img {
    padding: 0; }
    .cw-damier .col-img .content {
      min-height: 60vh;
      height: 100%;
      background-size: cover;
      background-repeat: no-repeat;
      position: relative; }
      .cw-damier .col-img .content img {
        min-width: 100%; }
    .cw-damier .col-img.col-img-center .content {
      padding: 0 30px 3rem 30px;
      min-height: auto;
      display: flex;
      align-items: center;
      justify-content: center; }
      .cw-damier .col-img.col-img-center .content img {
        border-radius: 0.313rem; }
  .cw-damier .col-txt-one, .cw-damier .col-txt-two {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 30px 30px;
    z-index: 2; }
  .cw-damier h2, .cw-damier .cw-damier-title, .cw-damier h2 span, .cw-damier span.cw-damier-title {
    position: relative;
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    text-transform: none;
    font-size: 1.7rem;
    line-height: 1.3;
    letter-spacing: 0em;
    text-align: center;
    width: 100%;
    margin-bottom: 20px !important; }
    .cw-damier h2:first-child, .cw-damier .cw-damier-title:first-child, .cw-damier h2 span:first-child, .cw-damier span.cw-damier-title:first-child {
      margin-top: 0px !important; }
  .cw-damier .content {
    text-align: left;
    z-index: 1; }
  .cw-damier .cw-damier-btn {
    text-align: center; }
  .cw-damier .col-txt-one .content {
    color: #343434; }
    .cw-damier .col-txt-one .content h2, .cw-damier .col-txt-one .content .cw-damier-title, .cw-damier .col-txt-one .content h2 span, .cw-damier .col-txt-one .content span.cw-damier-title {
      color: #111; }
      .cw-damier .col-txt-one .content h2 span:after, .cw-damier .col-txt-one .content .cw-damier-title span:after, .cw-damier .col-txt-one .content h2 span span:after, .cw-damier .col-txt-one .content span.cw-damier-title span:after {
        display: block;
        content: "";
        height: 5px;
        background: #007FFF;
        margin: 10px auto 23px;
        position: relative;
        width: 90px;
        max-width: 100%; }
    .cw-damier .col-txt-one .content a:not([class*="dropdown-item"]) {
      color: #007FFF; }
      .cw-damier .col-txt-one .content a:not([class*="dropdown-item"]):hover {
        color: #0066cc; }
  .cw-damier .col-txt-two .content {
    color: #fff; }
    .cw-damier .col-txt-two .content h2, .cw-damier .col-txt-two .content .cw-damier-title, .cw-damier .col-txt-two .content h2 span, .cw-damier .col-txt-two .content span.cw-damier-title {
      color: #fff; }
      .cw-damier .col-txt-two .content h2 span:after, .cw-damier .col-txt-two .content .cw-damier-title span:after, .cw-damier .col-txt-two .content h2 span span:after, .cw-damier .col-txt-two .content span.cw-damier-title span:after {
        display: block;
        content: "";
        height: 5px;
        background: #007FFF;
        margin: 10px auto 23px;
        position: relative;
        width: 90px;
        max-width: 100%; }
    .cw-damier .col-txt-two .content a:not([class*="dropdown-item"]) {
      color: #F58422; }
      .cw-damier .col-txt-two .content a:not([class*="dropdown-item"]):hover {
        color: #974700; }
  .cw-damier .damier-style-one {
    background-color: #f9f9f9; }
  .cw-damier .damier-style-two {
    background-color: #fff; }
  .cw-damier .damier-style-img {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover; }
  .cw-damier .damier-style-one .col-img .content, .cw-damier .damier-style-two .col-img .content {
    position: relative; }
    .cw-damier .damier-style-one .col-img .content:before, .cw-damier .damier-style-one .col-img .content:after, .cw-damier .damier-style-two .col-img .content:before, .cw-damier .damier-style-two .col-img .content:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%; }

@media (min-width: 992px) {
  .cw-damier .row > div {
    display: flex;
    min-height: 500px;
    width: 100%; }
  .cw-damier .col-img .content {
    min-height: 500px;
    max-width: 960px; }
  .cw-damier .col-img.col-img-center {
    padding: 4rem 50px;
    display: flex; }
    .cw-damier .col-img.col-img-center .content {
      padding: 0; }
  .cw-damier [class*="col-txt-"] {
    padding: 4rem 50px; }
    .cw-damier [class*="col-txt-"] .content {
      max-width: 550px; }
      .cw-damier [class*="col-txt-"] .content .cw-damier-title {
        font-size: 1.7rem !important; }
  .cw-damier .col-md-7 .content, .cw-damier .col-md-8 .content, .cw-damier .col-md-9 .content, .cw-damier .col-md-10 .content {
    max-width: 100%; } }

@media (min-width: 992px) {
  .cw-damier .col-img-center .content {
    max-width: 550px; }
  .cw-damier .damier-style-one .content {
    text-align: left; }
  .cw-damier .damier-style-one h2, .cw-damier .damier-style-one .cw-damier-title, .cw-damier .damier-style-one h2 span, .cw-damier .damier-style-one span.cw-damier-title {
    text-align: center; }
    .cw-damier .damier-style-one h2:before, .cw-damier .damier-style-one .cw-damier-title:before, .cw-damier .damier-style-one h2 span:before, .cw-damier .damier-style-one span.cw-damier-title:before {
      margin-left: auto !important; }
    .cw-damier .damier-style-one h2:after, .cw-damier .damier-style-one .cw-damier-title:after, .cw-damier .damier-style-one h2 span:after, .cw-damier .damier-style-one span.cw-damier-title:after {
      margin-left: auto !important; }
  .cw-damier .damier-style-one .cw-damier-btn {
    text-align: center; }
  .cw-damier .damier-style-two .content {
    text-align: left; }
  .cw-damier .damier-style-two h2, .cw-damier .damier-style-two .cw-damier-title, .cw-damier .damier-style-two h2 span, .cw-damier .damier-style-two span.cw-damier-title {
    text-align: center; }
    .cw-damier .damier-style-two h2:before, .cw-damier .damier-style-two .cw-damier-title:before, .cw-damier .damier-style-two h2 span:before, .cw-damier .damier-style-two span.cw-damier-title:before {
      margin-left: auto !important; }
    .cw-damier .damier-style-two h2:after, .cw-damier .damier-style-two .cw-damier-title:after, .cw-damier .damier-style-two h2 span:after, .cw-damier .damier-style-two span.cw-damier-title:after {
      margin-left: auto !important; }
  .cw-damier .damier-style-two .cw-damier-btn {
    text-align: center; }
  .cw-damier .damier-style-three .content {
    text-align: left; }
  .cw-damier .damier-style-three h2, .cw-damier .damier-style-three .cw-damier-title, .cw-damier .damier-style-three h2 span, .cw-damier .damier-style-three span.cw-damier-title {
    text-align: center; }
    .cw-damier .damier-style-three h2:before, .cw-damier .damier-style-three .cw-damier-title:before, .cw-damier .damier-style-three h2 span:before, .cw-damier .damier-style-three span.cw-damier-title:before {
      margin-left: auto !important; }
    .cw-damier .damier-style-three h2:after, .cw-damier .damier-style-three .cw-damier-title:after, .cw-damier .damier-style-three h2 span:after, .cw-damier .damier-style-three span.cw-damier-title:after {
      margin-left: auto !important; }
  .cw-damier .damier-style-three .cw-damier-btn {
    text-align: center; } }

.cw-damier .col-md-6[class*="col-txt-"], .cw-damier .col-md-6.col-img-center {
  padding: 4rem 100px; }

.cw-damier .cw-col-left {
  justify-content: flex-start; }

.cw-damier .cw-col-right {
  justify-content: flex-end; }

.cw-damier .damier-style-one .col-img-full .content:after {
  background-image: linear-gradient(to left, #f9f9f9 0%, rgba(0, 0, 0, 0) 40%); }

.cw-damier .damier-style-two .col-img-full .content:after {
  background-image: linear-gradient(to right, #fff 0%, rgba(0, 0, 0, 0) 40%); }

/************** ******* **************/
/************** OPTIONS **************/
/************** ******* **************/
@media (min-width: 992px) {
  .cw-damier [class*="col-txt-"]:not([class*="order-"]) {
    justify-content: flex-end; }
  .cw-damier .order-lg-2[class*="col-txt-"] {
    justify-content: flex-start; }
  .cw-damier .col-img[class*="col-img-"] {
    justify-content: flex-start; }
  .cw-damier .col-img.order-lg-1[class*="col-img-"] {
    justify-content: flex-end; } }

@media (min-width: 992px) {
  .cw-damier .col-img.col-img-overflows {
    padding: 0 50px; }
  .cw-damier .col-img-overflows .content {
    position: relative;
    display: flex;
    justify-content: center; }
    .cw-damier .col-img-overflows .content p {
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      position: absolute;
      top: 50%; }
      .cw-damier .col-img-overflows .content p img {
        max-height: 520px; } }

.cw-damier-paragraph .col-txt {
  display: flex;
  align-items: center;
  padding: 3.75rem 30px 30px;
  z-index: 2; }

.cw-damier-paragraph h2, .cw-damier-paragraph h2 span {
  position: relative;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.7rem;
  line-height: 1.3;
  letter-spacing: 0em;
  width: 100%;
  margin-bottom: 20px !important; }
  .cw-damier-paragraph h2:first-child, .cw-damier-paragraph h2 span:first-child {
    margin-top: 0 !important; }

.cw-damier-paragraph .content {
  z-index: 1; }

.cw-damier-paragraph .col-txt .content h2 span:after, .cw-damier-paragraph .col-txt .content .cw-damier-title span:after, .cw-damier-paragraph .col-txt .content h2 span span:after, .cw-damier-paragraph .col-txt .content span.cw-damier-title span:after {
  display: block;
  content: "";
  height: 5px;
  background: #007FFF;
  margin: 10px auto 23px;
  position: relative;
  width: 90px;
  max-width: 100%; }

.cw-damier-paragraph .col-txt .content a:not([class*="dropdown-item"]) {
  color: #F58422; }
  .cw-damier-paragraph .col-txt .content a:not([class*="dropdown-item"]):hover {
    color: #974700; }

.cw-damier-paragraph .field--name-field-damier-background-image, .cw-damier-paragraph .field--name-field-damier-background-parallax {
  opacity: 0;
  position: absolute; }
  .cw-damier-paragraph .field--name-field-damier-background-image > .row, .cw-damier-paragraph .field--name-field-damier-background-parallax > .row {
    position: relative; }

.cw-damier-paragraph .row {
  background-size: cover;
  background-repeat: no-repeat; }

[class*="cw-boxshadow-field"] .field {
  overflow: initial;
  box-shadow: none; }

.cw-boxshadow-field .field--type-image img {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08); }

.cw-boxshadow-field-1 .field--type-image img {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1); }

.cw-boxshadow-field-2 .field--type-image img {
  box-shadow: 0 0.8rem 1.4rem rgba(0, 0, 0, 0.08); }

.cw-damier-paragraph .col-media {
  padding: 0 30px 30px; }
  .cw-damier-paragraph .col-media .content {
    height: 100%; }

.cw-damier-paragraph .col-media-full .col-media .field--name-field-damier-image {
  display: flex;
  overflow: initial;
  box-shadow: none; }
  .cw-damier-paragraph .col-media-full .col-media .field--name-field-damier-image img {
    object-fit: cover;
    width: 100%; }

.cw-damier-paragraph .col-media-center .col-media .content {
  min-height: auto; }

@media (max-width: 575.98px) {
  .field--name-field-damier-paragraph-media > .container > .row {
    margin: 0; }
    .field--name-field-damier-paragraph-media > .container > .row .accordion {
      padding-left: 30px;
      padding-right: 30px;
      padding-bottom: 30px; } }

@media (min-width: 576px) and (max-width: 991.98px) {
  .cw-damier-paragraph .col-media {
    padding: 0 30px 3.75rem; }
    .cw-damier-paragraph .col-media .content {
      max-width: 576px; }
  .cw-damier-paragraph .col-txt .content, .cw-damier-paragraph .col-media .content {
    max-width: 576px; }
  .cw-damier-paragraph .col-txt[class*="cw-bg-"] {
    margin: 3.75rem auto 0;
    max-width: 576px; }
  .cw-damier-paragraph .col-txt[class*="cw-bg-"][class*="offset-"] {
    margin: 3.75rem auto; } }

@media (min-width: 992px) {
  .cw-damier-paragraph > .row > div {
    display: flex;
    min-height: 500px;
    width: 100%; }
  .cw-damier-paragraph .col-md-7 .content, .cw-damier-paragraph .col-md-8 .content, .cw-damier-paragraph .col-md-9 .content, .cw-damier-paragraph .col-md-10 .content {
    max-width: 100%; }
  .cw-damier-paragraph .col-txt, .cw-damier-paragraph .col-media {
    justify-content: center; }
  .cw-damier-paragraph .col-media {
    padding: 0; }
  .cw-damier-paragraph .damier-center-texte-media .col-txt {
    justify-content: flex-end; }
  .cw-damier-paragraph .damier-center-texte-media .col-media {
    justify-content: flex-start; }
  .cw-damier-paragraph .col-txt {
    padding: 4rem 50px; }
    .cw-damier-paragraph .col-txt .content {
      max-width: 550px; }
      .cw-damier-paragraph .col-txt .content .cw-damier-title {
        font-size: 1.7rem !important; }
  .cw-damier-paragraph .col-txt[class*="cw-bg-"][class*="offset-"] {
    margin-left: 0;
    flex: 0 0 100%;
    max-width: 100%; }
  .cw-damier-paragraph .col-media .content {
    max-width: 960px; }
  .cw-damier-paragraph .col-media-full .col-txt {
    padding: 4rem 100px 4rem 50px; }
    .cw-damier-paragraph .col-media-full .col-txt[class*="offset-"] {
      padding: 4rem 50px;
      justify-content: center; }
  .cw-damier-paragraph .flex-lg-row-reverse.damier-center-texte-media .col-media {
    justify-content: flex-end; }
  .cw-damier-paragraph .flex-lg-row-reverse.damier-center-texte-media .col-txt {
    justify-content: flex-start; }
  .cw-damier-paragraph .col-media-full .content .field--name-field-damier-image {
    height: 100%; }
  .cw-damier-paragraph .col-media-center .col-media {
    padding: 4rem 50px;
    display: flex; }
  .cw-damier-paragraph .col-media-center .col-media .content {
    max-width: 550px;
    display: flex;
    align-items: center;
    justify-content: center; } }

.cw-damier-paragraph .col-md-6col-txt, .cw-damier-paragraph .col-md-6.col-media-center {
  padding: 4rem 100px; }

.cw-damier-paragraph .beer-slider {
  display: block;
  margin: 0; }

.cw-damier-paragraph .col-media .content, .cw-damier-paragraph .field--name-field-damier-paragraph-media {
  width: 100%; }

.cw-damier-paragraph .field[class*="-galerie-videos"] {
  padding: 0; }
  .cw-damier-paragraph .field[class*="-galerie-videos"] .field__item {
    width: 100%;
    margin: 0; }

@media (min-width: 992px) {
  .cw-damier-paragraph .col-media-full .embed-responsive {
    min-height: 500px; } }

.field--name-field-damier-paragraph-media .container, .field--name-field-damier-paragraph-media .container-sm, .field--name-field-damier-paragraph-media .container-md {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0; }

/************** ******* **************/
/************** OPTIONS **************/
/************** ******* **************/
@media (min-width: 992px) {
  .cw-damier-border-numbers .row > div {
    position: relative;
    min-height: initial; }
  .cw-damier-border-numbers .col-img-center {
    padding: 40px 50px !important; }
  .cw-damier-border-numbers [class*="col-txt-"] {
    padding: 50px !important; } }

@media (min-width: 1200px) {
  .cw-damier-border-numbers .row > div::before {
    content: "";
    position: absolute; }
  .cw-damier-border-numbers .row > div h2 {
    position: initial; }
    .cw-damier-border-numbers .row > div h2::after {
      position: absolute;
      background-color: #fff;
      font-family: "Poppins", sans-serif;
      font-weight: 400;
      font-size: 100px;
      padding: 10px 0; }
  .cw-damier-border-numbers .row:nth-child(0n+1) > div::before {
    left: 0;
    bottom: -3px;
    width: 5%;
    height: 60%;
    border-radius: 0 0 0 30px;
    border-left: 3px dotted #111;
    border-bottom: 3px dotted #111; }
  .cw-damier-border-numbers .row:nth-child(0n+1) > div h2::after {
    content: "1";
    left: -20px; }
  .cw-damier-border-numbers .row:nth-child(0n+2) > div::before {
    right: 0;
    width: 94.95%;
    height: 100%;
    border-radius: 0 30px 30px 0;
    border-right: 3px dotted #111;
    border-top: 3px dotted #111;
    border-bottom: 3px dotted #111; }
  .cw-damier-border-numbers .row:nth-child(0n+2) > div h2::after {
    content: "2";
    right: -30px; }
  .cw-damier-border-numbers .row:nth-child(0n+3) > div::before {
    top: -3px;
    left: 0;
    width: 5%;
    height: 100%;
    border-radius: 30px 0 0 0;
    border-left: 3px dotted #111;
    border-top: 3px dotted #111; }
  .cw-damier-border-numbers .row:nth-child(0n+3) > div h2::after {
    content: "3";
    left: -30px; } }

.cw-grid {
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 15px;
  grid-row-gap: 15px;
  width: calc((280px * 4) + (15px * (4 - 1)));
  height: calc((280px * 2) + (15px * (2 - 1))); }
  .cw-grid .cw-metier {
    background-color: rgba(245, 132, 34, 0);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center; }
    .cw-grid .cw-metier:before {
      content: "";
      position: absolute;
      display: block;
      width: 100%;
      height: 100%;
      background-color: #F58422;
      opacity: 0;
      top: 0;
      left: 0;
      z-index: 1;
      transition: all ease-out 0.3s; }
    .cw-grid .cw-metier:after {
      display: flex;
      justify-content: center;
      align-items: center;
      font-family: "Font Awesome 5 Free" !important;
      font-weight: 900;
      content: "\f054";
      width: 30px;
      height: 30px;
      font-size: 20px;
      color: #fff;
      position: absolute;
      left: 0;
      right: 0;
      top: 70px;
      bottom: 0;
      margin: auto;
      transition: all ease-out 0.3s;
      transform: scale(0);
      opacity: 0;
      z-index: 1; }
    .cw-grid .cw-metier span {
      color: #fff;
      font-family: "Montserrat", sans-serif;
      font-weight: 700;
      font-size: 22px;
      transition: all ease-out 0.3s;
      z-index: 1;
      text-align: center; }
    .cw-grid .cw-metier a {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      z-index: 2; }
    .cw-grid .cw-metier .img-metier {
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .cw-grid .cw-metier .img-metier:before {
        background-image: linear-gradient(0, rgba(0, 127, 255, 0.5) 0, rgba(0, 127, 255, 0.5) 80%);
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: all ease-out 0.3s; }
    .cw-grid .cw-metier:hover {
      background-color: #f58422; }
      .cw-grid .cw-metier:hover:before {
        opacity: 1; }
      .cw-grid .cw-metier:hover:after {
        opacity: 1;
        transform: scale(1); }
      .cw-grid .cw-metier:hover span {
        transform: translateY(-20px); }

@media (max-width: 1200px) {
  .cw-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    width: calc((280px * 2) + (15px * (2 - 1)));
    height: calc((280px * 4) + (15px * (4 - 1))); } }

@media (max-width: 615px) {
  .cw-grid {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(8, 1fr);
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    width: calc((280px * 1) + (15px * (1 - 1)));
    height: calc((280px * 8) + (15px * (8 - 1))); } }

/* ------------  --------------- ------------ */
/* ------------  .CW-GRID-SIMPLE ------------ */
/* ------------  --------------- ------------ */
.cw-grid-simple {
  display: grid;
  grid-gap: 10px; }
  .cw-grid-simple a {
    width: 100%; }

.cw-grid-simple-2 {
  display: grid;
  grid-gap: 20px; }
  .cw-grid-simple-2 a {
    width: 100%; }

@media (min-width: 576px) {
  .cw-grid-simple-col-2 {
    grid-template-columns: repeat(2, 1fr); }
  .cw-grid-simple-col-3 {
    grid-template-columns: repeat(3, 1fr); }
  .cw-grid-simple-col-4 {
    grid-template-columns: repeat(4, 1fr); }
  .cw-grid-simple-col-5 {
    grid-template-columns: repeat(5, 1fr); }
  .cw-grid-simple-col-6 {
    grid-template-columns: repeat(6, 1fr); } }

@media (min-width: 768px) {
  .cw-grid-simple-col-2-md {
    grid-template-columns: repeat(2, 1fr); }
  .cw-grid-simple-col-3-md {
    grid-template-columns: repeat(3, 1fr); }
  .cw-grid-simple-col-4-md {
    grid-template-columns: repeat(4, 1fr); }
  .cw-grid-simple-col-5-md {
    grid-template-columns: repeat(5, 1fr); }
  .cw-grid-simple-col-6-md {
    grid-template-columns: repeat(6, 1fr); } }

/* ------------  --------------- ------------ */
/* ------------  .CW-GRID-PUZZLE ------------ */
/* ------------  --------------- ------------ */
.cw-grid-puzzle {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.85) !important; }
  .cw-grid-puzzle .row {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 3px; }
  .cw-grid-puzzle .content, .cw-grid-puzzle .cw-grid-puzzle-summary {
    height: 100%; }
  .cw-grid-puzzle a {
    color: rgba(255, 255, 255, 0.85) !important; }
    .cw-grid-puzzle a:hover {
      color: #fff !important; }
  .cw-grid-puzzle .cw-grid-puzzle-title {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 0em;
    text-transform: uppercase; }
  .cw-grid-puzzle .cw-grid-puzzle-text {
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: 0em;
    text-transform: none; }
  .cw-grid-puzzle .row .cw-grid-puzzle-summary {
    -moz-transition: opacity 0.15s ease-in-out;
    -o-transition: opacity 0.15s ease-in-out;
    -webkit-transition: opacity 0.15s ease-in-out;
    transition: opacity 0.15s ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    min-height: 135px;
    padding: 20px;
    opacity: 1;
    text-align: center; }
    .cw-grid-puzzle .row .cw-grid-puzzle-summary[href*="/"]:hover .cw-grid-puzzle-filtre {
      -moz-transition: opacity 0.15s ease-in-out;
      -o-transition: opacity 0.15s ease-in-out;
      -webkit-transition: opacity 0.15s ease-in-out;
      transition: opacity 0.15s ease-in-out;
      opacity: 0.85; }
  .cw-grid-puzzle .row .cw-grid-puzzle-title, .cw-grid-puzzle .row .cw-grid-puzzle-text {
    z-index: 1;
    width: 100%; }
  .cw-grid-puzzle .row .btn {
    width: 100%; }

@media (min-width: 576px) {
  .cw-grid-puzzle .row {
    grid-template: repeat(3, 1fr)/repeat(2, 1fr);
    grid-template-areas: "one two" "three four" "five six";
    min-height: 630px; }
    .cw-grid-puzzle .row .one {
      grid-area: one; }
    .cw-grid-puzzle .row .two {
      grid-area: two; }
    .cw-grid-puzzle .row .three {
      grid-area: three; }
    .cw-grid-puzzle .row .four {
      grid-area: four; }
    .cw-grid-puzzle .row .five {
      grid-area: five; }
    .cw-grid-puzzle .row .six {
      grid-area: six; } }

@media (min-width: 992px) {
  .cw-grid-puzzle .row {
    grid-gap: 20px;
    grid-template: repeat(3, 1fr)/repeat(4, 1fr);
    grid-template-areas: "one one two three" "one one six six" "four five six six"; } }

.cw-grid-puzzle .col .cw-grid-puzzle-bg-image {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }

.cw-grid-puzzle .col:nth-child(0n+1) .cw-grid-puzzle-bg-image {
  background-image: url("../images/bg-puzzle1-mob.jpg"); }

.cw-grid-puzzle .col:nth-child(0n+2) .cw-grid-puzzle-bg-image {
  background-image: url("../images/bg-puzzle2-mob.jpg"); }

.cw-grid-puzzle .col:nth-child(0n+3) .cw-grid-puzzle-bg-image {
  background-image: url("../images/bg-puzzle3-mob.jpg"); }

.cw-grid-puzzle .col:nth-child(0n+4) .cw-grid-puzzle-bg-image {
  background-image: url("../images/bg-puzzle4-mob.jpg"); }

.cw-grid-puzzle .col:nth-child(0n+5) .cw-grid-puzzle-bg-image {
  background-image: url("../images/bg-puzzle5-mob.jpg"); }

.cw-grid-puzzle .col:nth-child(0n+6) .cw-grid-puzzle-bg-image {
  background-image: url("../images/bg-puzzle6-mob.jpg"); }

@media (min-width: 992px) {
  .cw-grid-puzzle .col:nth-child(0n+1) .cw-grid-puzzle-bg-image {
    background-image: url("../images/bg-puzzle1.jpg"); }
  .cw-grid-puzzle .col:nth-child(0n+2) .cw-grid-puzzle-bg-image {
    background-image: url("../images/bg-puzzle2.jpg"); }
  .cw-grid-puzzle .col:nth-child(0n+3) .cw-grid-puzzle-bg-image {
    background-image: url("../images/bg-puzzle3.jpg"); }
  .cw-grid-puzzle .col:nth-child(0n+4) .cw-grid-puzzle-bg-image {
    background-image: url("../images/bg-puzzle4.jpg"); }
  .cw-grid-puzzle .col:nth-child(0n+5) .cw-grid-puzzle-bg-image {
    background-image: url("../images/bg-puzzle5.jpg"); }
  .cw-grid-puzzle .col:nth-child(0n+6) .cw-grid-puzzle-bg-image {
    background-image: url("../images/bg-puzzle6.jpg"); } }

.cw-grid-puzzle-filtre {
  -moz-transition: opacity 0.15s ease-in-out;
  -o-transition: opacity 0.15s ease-in-out;
  -webkit-transition: opacity 0.15s ease-in-out;
  transition: opacity 0.15s ease-in-out;
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(50deg, #181818 0, #181818 100%);
  opacity: 0.35; }

.cw-timeline-vertical {
  position: relative; }
  .cw-timeline-vertical .line {
    width: 0; }
  .cw-timeline-vertical .content {
    justify-content: flex-start !important;
    padding: 30px; }
  .cw-timeline-vertical .cw-element-svg {
    fill: #F58422; }
    .cw-timeline-vertical .cw-element-svg svg {
      width: 42px;
      height: 42px; }
  .cw-timeline-vertical .cw-element-title {
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 0em;
    color: #111; }
  .cw-timeline-vertical .cw-element-text {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    text-transform: none;
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: 0em;
    color: #343434; }

@media (min-width: 768px) {
  .cw-timeline-vertical {
    position: relative; }
    .cw-timeline-vertical .line {
      height: calc(100% - 30px);
      position: absolute;
      left: 50%;
      border-style: dotted;
      border-width: 0px 0px 0px 2px;
      border-color: #343434; }
    .cw-timeline-vertical .cw-children-quincunx-md > div:nth-of-type(odd) .content {
      padding: 0 30px 30px; }
    .cw-timeline-vertical .cw-children-quincunx-md > div:nth-of-type(even) .content {
      padding: 30px 30px 0; } }

.accordion {
  width: 100%; }
  .accordion .card {
    border-radius: 0.313rem; }
  .accordion .card-header {
    padding: 0; }
    .accordion .card-header button {
      background-color: #fff;
      width: 100%;
      text-align: left;
      border-radius: 0; }
      .accordion .card-header button i {
        width: 16px;
        text-align: center; }
      .accordion .card-header button[aria-expanded="true"] i:before {
        display: none; }
      .accordion .card-header button[aria-expanded="true"] i:after {
        content: "\f106";
        font-weight: 900;
        display: inline-block; }
      .accordion .card-header button[aria-expanded="false"] i:after {
        display: none; }
      .accordion .card-header button i {
        font-size: 0.8em;
        position: relative;
        bottom: 1px;
        margin-right: 10px; }
    .accordion .card-header .card-title {
      display: block;
      margin: 0;
      font-weight: 500;
      text-transform: uppercase;
      font-family: "Oswald", sans-serif;
      font-size: 1.25rem;
      line-height: 1.3;
      letter-spacing: 0em;
      color: inherit; }
    .accordion .card-header .accordion-card-desc {
      font-weight: 600;
      margin-top: 1rem; }
  .accordion .card-body > h3 {
    margin-top: 1rem; }
  .accordion[class*="cw-bg-"] {
    background-color: initial !important; }
  .accordion.cw-bg-one .card, .accordion.cw-bg-one .card-header button {
    background-color: #F58422; }
  .accordion.cw-bg-two .card, .accordion.cw-bg-two .card-header button {
    background-color: #007FFF; }
  .accordion.cw-bg-gray .card, .accordion.cw-bg-gray .card-header button {
    background-color: #fcfcfc; }
  .accordion.cw-bg-dark .card, .accordion.cw-bg-dark .card-header button {
    background-color: #000; }
  .accordion.text-white a {
    color: #e6e6e6;
    text-decoration: underline; }

.accordion-1-col {
  padding-left: 15px;
  padding-right: 15px; }

.accordion-with-margin .card-header {
  border-bottom: initial; }

.accordion-with-margin .card {
  border: solid 1px #e9e9e9 !important;
  border-radius: 0.313rem !important; }
  .accordion-with-margin .card:nth-last-child(n) {
    margin-top: 1rem; }
  .accordion-with-margin .card:first-child {
    margin-top: 0; }

.accordion-with-margin .card-body {
  padding: 0 30px 24px; }

.accordion-i-right-fa .card-header button {
  padding-right: 80px; }
  .accordion-i-right-fa .card-header button:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1.3em;
    content: '\f35a';
    position: absolute;
    right: 30px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%; }
  .accordion-i-right-fa .card-header button[aria-expanded="true"]:after {
    -webkit-transform: translateY(-50%) rotate(-90deg);
    -moz-transform: translateY(-50%) rotate(-90deg);
    -ms-transform: translateY(-50%) rotate(-90deg);
    -o-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg); }

.accordion .card-custom-one h1, .accordion .card-custom-one h2, .accordion .card-custom-one h3, .accordion .card-custom-one h4, .accordion .card-custom-one h5, .accordion .card-custom-one h6, .accordion .card-custom-one .h1, .accordion .card-custom-one .h2, .accordion .card-custom-one .h3, .accordion .card-custom-one .h4, .accordion .card-custom-one .h5, .accordion .card-custom-one .h6 {
  color: #fff; }

.accordion .card-custom-one .card-header button {
  background-color: #f3770b !important;
  color: #fff; }

.accordion .card-custom-one .card-body {
  background-color: #F58422 !important;
  padding: 24px 30px;
  color: rgba(255, 255, 255, 0.72); }
  .accordion .card-custom-one .card-body a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: underline; }

.accordion .card-custom-two .card-header button {
  background-color: #0066cc !important;
  color: #fff; }

.accordion .card-custom-two .card-body {
  background-color: #007FFF !important;
  padding: 24px 30px;
  color: rgba(255, 255, 255, 0.72); }
  .accordion .card-custom-two .card-body a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: underline; }
  .accordion .card-custom-two .card-body ul li:before {
    color: white; }

.accordion .card.accordion-img-bg {
  border: none !important; }
  .accordion .card.accordion-img-bg button {
    background-color: #fff !important;
    padding: 24px 80px 24px 30px; }
    .accordion .card.accordion-img-bg button:after {
      color: #fff; }
  .accordion .card.accordion-img-bg .accordion-card-img {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: initial !important;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
    .accordion .card.accordion-img-bg .accordion-card-img:after {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-image: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.8) 70%); }
  .accordion .card.accordion-img-bg .card-title, .accordion .card.accordion-img-bg .accordion-card-desc {
    color: #343434; }
  .accordion .card.accordion-img-bg .card-body {
    padding: 24px 30px; }

.accordion .card.accordion-img-left {
  border: none !important; }
  .accordion .card.accordion-img-left button {
    background-color: #dedede;
    min-height: 200px; }
    .accordion .card.accordion-img-left button:after {
      color: #fff; }
  .accordion .card.accordion-img-left .accordion-card-img {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 150px;
    height: 150px;
    display: initial !important;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .accordion .card.accordion-img-left .card-title {
    margin-top: 145px; }
  .accordion .card.accordion-img-left .card-body {
    padding: 24px 30px; }

@media (min-width: 992px) {
  .accordion .card.accordion-img-bg .card-title, .accordion .card.accordion-img-bg .accordion-card-desc {
    width: 50%; }
  .accordion .card.accordion-img-bg .accordion-card-img {
    left: initial;
    right: 0;
    width: 80%; }
    .accordion .card.accordion-img-bg .accordion-card-img:after {
      background-image: linear-gradient(45deg, #fff 0%, #fff 20%, rgba(249, 249, 249, 0.8) 38%, rgba(249, 249, 249, 0) 70%); }
  .accordion .card.accordion-img-left button {
    padding: 24px 80px 24px 230px; }
  .accordion .card.accordion-img-left .card-title {
    margin-top: 0; }
  .accordion .card.accordion-img-left .accordion-card-img {
    left: 0;
    width: 200px;
    height: 100%; }
  .col-lg-6 .accordion .card-header .accordion-card-img:after {
    background-image: linear-gradient(66deg, #fff 0%, #fff 20%, rgba(249, 249, 249, 0.8) 38%, rgba(249, 249, 249, 0) 70%); }
  .col-lg-6 .accordion .card.accordion-img-bg .card-title, .col-lg-6 .accordion .card.accordion-img-bg .accordion-card-desc {
    width: 100%; } }

#header {
  display: initial; }

.cw-navbar {
  position: sticky;
  top: 0;
  z-index: 1070; }

#navbar-top {
  background-color: #f9f9f9;
  background-color: #f9f9f9; }
  #navbar-top .content {
    color: #343434; }
    #navbar-top .content a {
      color: #343434; }
  #navbar-top .region-top-header {
    display: flex;
    flex: 1;
    justify-content: space-between; }
  #navbar-top #block-informationsnavbar {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    height: 0px;
    width: 100%; }
    #navbar-top #block-informationsnavbar .content {
      width: 100%; }

#navbar-main {
  min-height: 60px; }
  #navbar-main .menu--secondary a {
    font-size: calc(1rem - 0.05rem);
    padding: 11px 20px; }

.navbar {
  background-color: white;
  background-color: white;
  -moz-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  padding: 0;
  font-family: "Montserrat", sans-serif; }
  .navbar .container {
    max-width: 1920px !important; }
  .navbar .navbar-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 10px 10px 15px; }
    .navbar .navbar-logo img {
      -moz-transition: all 0.4s ease-in-out;
      -o-transition: all 0.4s ease-in-out;
      -webkit-transition: all 0.4s ease-in-out;
      transition: all 0.4s ease-in-out;
      max-width: 150px;
      max-height: calc(60px - 20px); }
  .navbar .navbar-brand {
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    flex: 1 1 0;
    padding: 10px;
    margin-right: 0;
    white-space: normal; }
    .navbar .navbar-brand a {
      display: flex;
      align-items: flex-start;
      flex-direction: column;
      font-size: 1rem;
      line-height: 1.1rem;
      color: #111; }
  .navbar .block-float {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    padding: 10px; }
    .navbar .block-float button {
      margin-right: 0; }
  .navbar .site-name {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    text-transform: none;
    font-size: 0.875rem;
    line-height: 1;
    letter-spacing: 0em; }
  .navbar .site-slogan {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    text-transform: none;
    font-size: 0.8rem;
    line-height: 1;
    letter-spacing: 0em;
    opacity: 0.8;
    margin-top: 2px; }
    .navbar .site-slogan:first-letter {
      text-transform: capitalize; }
  .navbar .navbar-toggler .navbar-toggler-icon {
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    display: block;
    background: #111;
    width: 22px;
    height: 2px;
    border-radius: 3px;
    margin-top: 5px;
    margin-bottom: 5px; }
  .navbar .navbar-toggler[aria-expanded="false"] .navbar-toggler-icon {
    background: #111; }
  .navbar .navbar-toggler[aria-expanded="true"] #toggler-line-1 {
    -webkit-transform: translateY(7px) rotate(45deg);
    -moz-transform: translateY(7px) rotate(45deg);
    -ms-transform: translateY(7px) rotate(45deg);
    -o-transform: translateY(7px) rotate(45deg);
    transform: translateY(7px) rotate(45deg); }
  .navbar .navbar-toggler[aria-expanded="true"] #toggler-line-2 {
    opacity: 0; }
  .navbar .navbar-toggler[aria-expanded="true"] #toggler-line-3 {
    -webkit-transform: translateY(-7px) rotate(-45deg);
    -moz-transform: translateY(-7px) rotate(-45deg);
    -ms-transform: translateY(-7px) rotate(-45deg);
    -o-transform: translateY(-7px) rotate(-45deg);
    transform: translateY(-7px) rotate(-45deg); }
  .navbar nav .nav li a {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    text-transform: none;
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: 0em;
    color: #111111;
    padding: 20px;
    width: 100%; }
  .navbar nav .nav > li > a.is-active,
  .navbar nav .nav > li > a:hover,
  .navbar nav .nav > li > a:focus,
  .navbar nav .nav > li > a.active-trail,
  .navbar nav .nav > li.active > a,
  .navbar nav .nav > li.active > a:hover,
  .navbar nav .nav > li.active > a:focus {
    color: #007FFF;
    background-color: transparent; }
  .navbar nav .nav .dropdown > a {
    display: flex;
    align-items: center; }
  .navbar nav .nav .dropdown-menu {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    background-color: white;
    background-color: white;
    border-radius: 0;
    max-height: 0;
    display: block;
    overflow: hidden;
    margin-top: 0;
    border: none;
    padding: 0;
    border-bottom: 0;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05); }
    .navbar nav .nav .dropdown-menu li.dropdown-item {
      padding: 0;
      border-bottom: 1px solid white; }
      .navbar nav .nav .dropdown-menu li.dropdown-item a {
        -moz-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        -webkit-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
        display: inline-block;
        font-family: "Montserrat", sans-serif;
        font-weight: 400;
        text-transform: none;
        font-size: 0.95rem;
        line-height: 1;
        letter-spacing: 0em;
        padding: 10px 14px;
        color: #545353;
        color: #545353; }
      .navbar nav .nav .dropdown-menu li.dropdown-item:hover, .navbar nav .nav .dropdown-menu li.dropdown-item:active, .navbar nav .nav .dropdown-menu li.dropdown-item.active, .navbar nav .nav .dropdown-menu li.dropdown-item:focus {
        background: initial;
        background-color: white; }
        .navbar nav .nav .dropdown-menu li.dropdown-item:hover a, .navbar nav .nav .dropdown-menu li.dropdown-item:active a, .navbar nav .nav .dropdown-menu li.dropdown-item.active a, .navbar nav .nav .dropdown-menu li.dropdown-item:focus a {
          color: #007FFF; }
      .navbar nav .nav .dropdown-menu li.dropdown-item:last-child {
        border-bottom: none; }
  .navbar nav .nav .dropdown-menu.show {
    -moz-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
    max-height: 100vh; }
  .navbar .navbar-btn {
    margin-top: 0;
    margin-bottom: 0; }
  .navbar .navbar-collapse {
    justify-content: flex-end;
    border-top: none; }
  .navbar .navbar-form {
    justify-content: flex-end; }
  .navbar .navbar-toggle.is-active .icon-bar:nth-child(3) {
    opacity: 0; }
  .navbar .navbar-toggle.is-active .icon-bar:nth-child(2) {
    -webkit-transform: translateY(6px) rotate(45deg);
    -moz-transform: translateY(6px) rotate(45deg);
    -ms-transform: translateY(6px) rotate(45deg);
    -o-transform: translateY(6px) rotate(45deg);
    transform: translateY(6px) rotate(45deg); }
  .navbar .navbar-toggle.is-active .icon-bar:nth-child(4) {
    -webkit-transform: translateY(-6px) rotate(-45deg);
    -moz-transform: translateY(-6px) rotate(-45deg);
    -ms-transform: translateY(-6px) rotate(-45deg);
    -o-transform: translateY(-6px) rotate(-45deg);
    transform: translateY(-6px) rotate(-45deg); }

.affix-scroll .navbar {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: white;
  background-color: white; }

/**
Position de la navbar en haut de la page à ajuster en fonction
de la hauteur du header pour que l'espace entre les deux reste
similaire quelque soit la largeur de l'écran.
 */
@media (max-width: 991.98px) {
  .cw-navbar {
    display: flex;
    flex-direction: column; }
  .navbar .navbar-brand {
    display: none; }
  .navbar .site-name {
    display: none; }
  .navbar .site-slogan {
    display: none; }
  .navbar .dropdown .caret {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out; }
  .navbar .dropdown.open .caret {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out; }
  .navbar .dropdown-menu > li > a {
    white-space: initial; }
  .navbar .nav-menu-pr.container {
    width: 100%; }
  #navbar-top {
    order: 2; }
    #navbar-top #block-informationsnavbar {
      font-size: 1.2rem;
      overflow: hidden; }
  .affix-scroll #navbar-top #block-informationsnavbar {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    height: 0; }
  #navbar-main {
    order: 1;
    box-shadow: none !important; }
  .navbar-toggler {
    z-index: 210; }
  .navbar-collapse {
    -moz-transition: width 0.35s ease;
    -o-transition: width 0.35s ease;
    -webkit-transition: width 0.35s ease;
    transition: width 0.35s ease;
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    z-index: 200;
    overflow: auto;
    box-shadow: -5px 0px 20px 0px rgba(0, 0, 0, 0.4);
    background-color: #fff; }
    .navbar-collapse .navigation {
      padding: 50px;
      width: 100vw;
      max-width: 440px; }
      .navbar-collapse .navigation:nth-child(n+2) {
        padding-top: 20px; }
      .navbar-collapse .navigation.menu--secondary {
        background-color: #f9f9f9; }
    .navbar-collapse.collapsing {
      position: fixed;
      height: 100vh;
      width: 0;
      max-width: 440px;
      overflow: hidden;
      -moz-transition: width 0.35s ease;
      -o-transition: width 0.35s ease;
      -webkit-transition: width 0.35s ease;
      transition: width 0.35s ease; }
    .navbar-collapse.show {
      width: 100%;
      max-width: 440px;
      box-shadow: -5px 0px 20px 0px rgba(0, 0, 0, 0.4); }
  .navbar-nav > li > a {
    border-bottom: 1px solid white; }
  .navbar nav .nav .dropdown-menu li.dropdown-item {
    padding-left: 15px; } }

@media (min-width: 992px) {
  .navbar .navbar-brand {
    min-width: 270px; }
  .navbar .block-float {
    padding: 0; }
  .navbar .dropdown-toggle::after {
    margin: 0.3em; }
  .navbar .nav-item > a.nav-link {
    display: flex;
    align-items: center !important;
    justify-content: center;
    height: 100%;
    padding: 10px 14px; }
  .navbar nav .nav > li > a.is-active,
  .navbar nav .nav > li > a:hover,
  .navbar nav .nav > li > a:focus,
  .navbar nav .nav > li > a.active-trail,
  .navbar nav .nav > li.active > a,
  .navbar nav .nav > li.active > a:hover,
  .navbar nav .nav > li.active > a:focus {
    color: #007FFF;
    background-color: transparent; }
  .navbar .navbar-collapse .nav:after {
    display: none; }
  .navbar .navbar-collapse > nav {
    width: 100%; }
  #navbar-top {
    z-index: 9999;
    height: 0px; }
    #navbar-top #block-informationsnavbar {
      width: auto; }
  .menu--main {
    min-height: 130px;
    -moz-transition: min-height 0.4s ease-in-out;
    -o-transition: min-height 0.4s ease-in-out;
    -webkit-transition: min-height 0.4s ease-in-out;
    transition: min-height 0.4s ease-in-out; }
    .menu--main .nav {
      min-height: calc(130px - (0px * 2)); }
  #navbar-main .nav {
    justify-content: flex-end;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
  #navbar-main .navbar-logo {
    display: flex; }
    #navbar-main .navbar-logo img {
      max-height: calc(130px - 20px); }
  #navbar-main .site-name {
    display: none; }
  #navbar-main .site-slogan {
    display: none; }
  #navbar-main .navbar-brand {
    display: none; }
  #navbar-main .navbar-nav > .nav-item.dropdown .dropdown-menu {
    border-radius: 0 0 0.313rem 0.313rem;
    box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0); }
  #navbar-main .navbar-nav > .nav-item:last-child.dropdown .dropdown-menu, #navbar-main .dropdown.dropdown-right .dropdown-menu {
    left: initial;
    right: 0; }
  .affix-scroll .menu--main {
    -moz-transition: min-height 0.2s ease-in-out;
    -o-transition: min-height 0.2s ease-in-out;
    -webkit-transition: min-height 0.2s ease-in-out;
    transition: min-height 0.2s ease-in-out;
    min-height: 90px; }
    .affix-scroll .menu--main .nav {
      -moz-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      -webkit-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out;
      min-height: calc(90px - 0px); }
  .affix-scroll #navbar-main .navbar-logo img {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    max-height: calc(90px - 20px); } }

@media (min-width: 1200px) {
  .navbar .navbar-logo img {
    max-width: 300px; } }

@media (max-width: 575.98px) {
  .navbar .navbar-brand a {
    max-width: 170px; } }

@media (min-width: 1200px) {
  #navbar-main .navbar-brand {
    max-width: 270px; } }

@media (min-width: 768px) and (max-width: 1199.98px) {
  .navbar nav .nav li a {
    padding: 10px 8px !important;
    font-size: 0.85rem; } }

/************** ******* **************/
/************** OPTIONS **************/
/************** ******* **************/
.cw-navbar {
  box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0); }

.affix-scroll .cw-navbar {
  box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.05); }

#navbar-main nav .nav li a, #navbar-top nav .nav li a {
  padding: 25px 20px 15px; }

#navbar-main nav .nav .dropdown-menu li.dropdown-item a, #navbar-top nav .nav .dropdown-menu li.dropdown-item a {
  padding: 10px 14px; }

#navbar-main li.nav-item, #navbar-top li.nav-item {
  position: relative; }

#navbar-main a.nav-link, #navbar-top a.nav-link {
  position: relative; }
  #navbar-main a.nav-link:before, #navbar-top a.nav-link:before {
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px; }
  #navbar-main a.nav-link.active:before, #navbar-main a.nav-link.is-active:before, #navbar-main a.nav-link:hover:before, #navbar-main a.nav-link:focus:before, #navbar-top a.nav-link.active:before, #navbar-top a.nav-link.is-active:before, #navbar-top a.nav-link:hover:before, #navbar-top a.nav-link:focus:before {
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }

#block-cw-sass-bs4-main-menu a.nav-link.active:before, #block-cw-sass-bs4-main-menu a.nav-link.is-active:before, #block-cw-sass-bs4-main-menu a.nav-link:hover:before, #block-cw-sass-bs4-main-menu a.nav-link:focus:before {
  background-image: -owg-linear-gradient(90deg, #007FFF 0%, #007FFF 100%);
  background-image: -webkit-linear-gradient(90deg, #007FFF 0%, #007FFF 100%);
  background-image: -moz-linear-gradient(90deg, #007FFF 0%, #007FFF 100%);
  background-image: -o-linear-gradient(90deg, #007FFF 0%, #007FFF 100%);
  background-image: linear-gradient(90deg, #007FFF 0%, #007FFF 100%); }

#navbar-top a.nav-link.active:before, #navbar-top a.nav-link.is-active:before, #navbar-top a.nav-link:hover:before, #navbar-top a.nav-link:focus:before, #block-cw-sass-bs4-secondary-menu a.nav-link.active:before, #block-cw-sass-bs4-secondary-menu a.nav-link.is-active:before, #block-cw-sass-bs4-secondary-menu a.nav-link:hover:before, #block-cw-sass-bs4-secondary-menu a.nav-link:focus:before {
  background-image: -owg-linear-gradient(90deg, #343434 0%, #343434 100%);
  background-image: -webkit-linear-gradient(90deg, #343434 0%, #343434 100%);
  background-image: -moz-linear-gradient(90deg, #343434 0%, #343434 100%);
  background-image: -o-linear-gradient(90deg, #343434 0%, #343434 100%);
  background-image: linear-gradient(90deg, #343434 0%, #343434 100%); }

@media (min-width: 992px) {
  #navbar-main nav .nav li a, #navbar-top nav .nav li a {
    padding: 10px 14px; }
  #navbar-main a.nav-link:before, #navbar-top a.nav-link:before {
    left: 50%;
    width: 0%; }
  #navbar-main a.nav-link.active:before, #navbar-main a.nav-link.is-active:before, #navbar-main a.nav-link:hover:before, #navbar-main a.nav-link:focus:before, #navbar-top a.nav-link.active:before, #navbar-top a.nav-link.is-active:before, #navbar-top a.nav-link:hover:before, #navbar-top a.nav-link:focus:before {
    width: calc(100% - 14px);
    left: calc(50% - (calc(100% - 14px) / 2)); } }

.jumbotron-carousel,
.jumbotron-carousel .content,
.jumbotron-carousel .content .field,
.jumbotron-carousel .content .field .carousel,
.jumbotron-carousel .content .field .carousel .carousel-inner,
.jumbotron-carousel .content .field .carousel .carousel-inner .carousel-item {
  height: 100%; }

#main .carousel .carousel-inner {
  border-radius: 0.313rem; }
  #main .carousel .carousel-inner img {
    border-radius: 0.313rem; }

.jumbotron-carousel {
  position: absolute;
  top: 0;
  width: 100%;
  background-color: black;
  font-family: "Montserrat", sans-serif; }
  .jumbotron-carousel [class*="carousel-control-"] {
    opacity: 0.4; }
  .jumbotron-carousel .carousel-indicators {
    bottom: 10%;
    margin-bottom: 0;
    opacity: 0.3; }
  .jumbotron-carousel .carousel-item-title {
    font-size: 1rem;
    line-height: 1;
    font-weight: 500;
    margin: 0; }
  .jumbotron-carousel .carousel-item {
    background-repeat: no-repeat;
    background-size: cover; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(1) {
    background-image: url("../images/carousel/c1-mob.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(2) {
    background-image: url("../images/carousel/c2-mob.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(3) {
    background-image: url("../images/carousel/c3-mob.jpg");
    background-position: center center; }

.not-front .jumbotron-carousel .carousel-indicators {
  display: none;
  bottom: -5px; }

.not-front .jumbotron-carousel .carousel-item {
  min-height: 240px; }

.not-front .jumbotron-carousel .carousel-item-title {
  font-size: 0.9rem; }

@media (min-width: 576px) {
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(1) {
    background-image: url("../images/carousel/c1.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(2) {
    background-image: url("../images/carousel/c2.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(3) {
    background-image: url("../images/carousel/c3.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-nf .carousel-item:nth-child(1) {
    background-image: url("../images/carousel/c1-slim.jpg"); }
  .jumbotron-carousel.jumbotron-carousel-nf .carousel-item:nth-child(2) {
    background-image: url("../images/carousel/c2-slim.jpg"); }
  .jumbotron-carousel.jumbotron-carousel-nf .carousel-item:nth-child(3) {
    background-image: url("../images/carousel/c3-slim.jpg"); } }

.cw-carousel-txt .citation {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1.2rem; }

.cw-carousel-txt .auteur {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 1.4rem; }

.cw-carousel-txt .carousel-indicators li {
  background-color: rgba(245, 132, 34, 0.05); }

.cw-carousel-txt .carousel-inner {
  margin: auto;
  width: calc(100% - 110px);
  min-height: 300px; }

.cw-carousel-txt .carousel-caption {
  display: contents;
  color: #000 !important; }

.cw-carousel-txt .carousel-control-prev, .cw-carousel-txt .carousel-control-next {
  top: calc(50% - 20px);
  background-color: rgba(245, 132, 34, 0.05);
  width: 40px;
  height: 40px;
  border-radius: 50%; }

@media (min-width: 992px) {
  .cw-carousel-txt .carousel-inner {
    max-width: 600px; } }

.region-jumbotron {
  display: flex;
  position: relative;
  min-height: calc(100vh - 60px - 0px); }

.jumbotron-bloc-principal, .jumbotron-bloc-custom, .jumbotron-bloc-infos {
  z-index: 2; }

.jumbotron-bloc-bloc-principal-child-2 {
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  line-height: 1.1; }
  .jumbotron-bloc-bloc-principal-child-2 a {
    color: #fff; }

.jumbotron-denomination {
  color: white;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0em;
  text-transform: none; }
  .jumbotron-denomination strong {
    font-weight: 500; }

.jumbotron-slogan {
  color: white;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0em;
  text-transform: none; }
  .jumbotron-slogan strong {
    font-weight: 600; }

.jumbotron-telephone a {
  color: rgba(255, 255, 255, 0.85);
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0em;
  text-transform: none; }
  .jumbotron-telephone a:hover {
    color: #fff; }

.jumbotron-adresse a {
  color: rgba(255, 255, 255, 0.85);
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0em;
  text-transform: none; }
  .jumbotron-adresse a:hover {
    color: #fff; }

.jumbotron-bouton-1 {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0em;
  text-transform: none; }
  .jumbotron-bouton-1 a {
    color: rgba(255, 255, 255, 0.85); }
    .jumbotron-bouton-1 a:hover {
      color: #fff; }

.jumbotron-bouton-2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0em;
  text-transform: none; }
  .jumbotron-bouton-2 a {
    color: rgba(255, 255, 255, 0.85); }
    .jumbotron-bouton-2 a:hover {
      color: #fff; }

.not-front .region-jumbotron {
  min-height: 240px; }
  .not-front .region-jumbotron .jumbotron-bloc-principal .field {
    min-height: 240px; }

@media (min-width: 992px) {
  .region-jumbotron {
    min-height: calc(100vh - 130px - 0px); }
  .not-front .cw-jumbotron .jumbotron-bloc-principal .jumbotron-denomination {
    font-size: calc(2.8rem - 2rem); }
  .not-front .cw-jumbotron .jumbotron-bloc-principal .jumbotron-slogan {
    font-size: calc(2.875rem - 1rem); }
  .jumbotron-denomination {
    font-size: 2.8rem; }
  .jumbotron-slogan {
    font-size: 2.875rem; } }

.jumbotron-denomination {
  margin-top: 0; }

.jumbotron-slogan {
  margin-top: 1.5rem; }

.jumbotron-adresse {
  margin-top: 5px; }

.jumbotron-telephone {
  margin-top: 0; }

.jumbotron-bouton-1 {
  margin-top: 20px; }

.jumbotron-bouton-2 {
  margin-top: 5px; }

.jumbotron-bloc-principal-child-2 {
  margin-top: 0; }

@media (min-width: 992px) {
  .jumbotron-denomination {
    margin-top: 0; }
  .jumbotron-slogan {
    margin-top: 1rem; }
  .jumbotron-adresse {
    margin-top: 0; }
  .jumbotron-telephone {
    margin-top: 0; }
  .jumbotron-bouton-1 {
    margin-top: 30px; }
  .jumbotron-bouton-2 {
    margin-top: 0; }
  .jumbotron-bloc-principal-child-2 {
    margin-top: 0; }
  .not-front .jumbotron-denomination {
    margin-top: 0; }
  .not-front .jumbotron-slogan {
    margin-top: 0.75rem; }
  .not-front .jumbotron-adresse {
    margin-top: 0; }
  .not-front .jumbotron-telephone {
    margin-top: 0; }
  .not-front .jumbotron-bouton-1 {
    margin-top: 0; }
  .not-front .jumbotron-bouton-2 {
    margin-top: 0; }
  .not-front .jumbotron-bloc-principal-child-2 {
    margin-top: 0; } }

/************** ******************* **************/
/************** JUMBOTRON ANDROMEDE **************/
/************** ******************* **************/
.region-jumbotron {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: calc(100vh - 60px - 0px - 0); }

.jumbotron-bloc-principal {
  text-align: leftcenter; }
  .jumbotron-bloc-principal .field {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px 0;
    min-height: calc(100vh - 60px - 0px - 0); }
  .jumbotron-bloc-principal .content {
    margin: auto; }

.region-jumbotron, .jumbotron-bloc-principal {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }

[class*="jumbotron-bloc-principal-child-"] {
  padding: 0.5rem; }

.not-front .region-jumbotron {
  background-image: url("../images/carousel/c1-slim-mob.jpg"); }

.not-front .jumbotron-bloc-principal .field {
  min-height: calc(240px); }

.not-front .jumbotron-logo img {
  max-height: 57px; }

@media (max-width: 575.98px) {
  .not-front .jumbotron-logo img {
    max-height: 200px; } }

@media (min-width: 992px) {
  .region-jumbotron {
    min-height: calc(100vh - 130px - 0px); }
  .jumbotron-bloc-principal .field {
    min-height: calc(100vh - 130px - 0px - 0); }
  .not-front .region-jumbotron {
    background-image: url("../images/carousel/c1-slim.jpg"); }
    .not-front .region-jumbotron .jumbotron-bloc-principal.contextual-region {
      position: initial; }
  .not-front .jumbotron-bloc-principal .field {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between; }
    .not-front .jumbotron-bloc-principal .field [class*="jumbotron-bloc-principal-child-"] {
      flex: 1; }
      .not-front .jumbotron-bloc-principal .field [class*="jumbotron-bloc-principal-child-"]:first-child {
        text-align: center; }
      .not-front .jumbotron-bloc-principal .field [class*="jumbotron-bloc-principal-child-"]:last-child {
        text-align: center; } }

/************** ******* **************/
/************** OPTIONS **************/
/************** ******* **************/
.path-frontpage [class*="jumbotron-bloc-principal-child-"] {
  max-width: 690px; }

.jumbotron-bloc-principal {
  text-align: center; }

.jumbotron-carousel .carousel-caption {
  text-align: center; }

/************** ****************************** **************/
/************** JUMBOTRON ANDROMEDE BLOC INFOS **************/
/************** ****************************** **************/
/************** **************** **************/
/************** NAVBAR PRINCIPAL **************/
/************** **************** **************/
/************** ********** **************/
/************** NAVBAR TOP  **************/
/************** ********** **************/
/************** ****************************** **************/
/************** JUMBOTRON ANDROMEDE BLOC INFOS **************/
/************** ****************************** **************/
.jumbotron-bloc-infos {
  display: flex;
  min-height: 0;
  width: 100%;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.3); }
  .jumbotron-bloc-infos .content {
    padding: 15px 0.5rem;
    margin: auto;
    width: 70%;
    color: rgba(255, 255, 255, 0.85); }
    .jumbotron-bloc-infos .content a {
      color: rgba(255, 255, 255, 0.85); }
      .jumbotron-bloc-infos .content a:hover {
        color: #fff; }

@media (min-width: 992px) {
  .jumbotron-bloc-infos {
    min-height: 0; }
    .jumbotron-bloc-infos .field {
      display: flex;
      justify-content: center;
      align-items: center; } }

/************** **************************** **************/
/************** JUMBOTRON ANDROMEDE CAROUSEL **************/
/************** **************************** **************/
.jumbotron-carousel .carousel-caption {
  bottom: calc(0 + 3vh);
  font-weight: 300;
  padding: 0;
  text-align: leftcenter; }
  .jumbotron-carousel .carousel-caption p {
    font-size: 0.8rem;
    line-height: 1.1; }

.jumbotron-carousel [class*="carousel-control-"] {
  min-height: calc(100% - 0); }

.not-front .jumbotron-carousel .carousel-caption {
  display: none; }

@media (min-width: 992px) {
  .jumbotron-carousel .carousel-indicators {
    bottom: 12%; }
  .jumbotron-carousel .carousel-caption {
    bottom: calc(0 + 5vh); }
    .jumbotron-carousel .carousel-caption p {
      display: block; }
  .jumbotron-carousel [class*="carousel-control-"] {
    min-height: calc(100% - 0); }
  .not-front .jumbotron-carousel .carousel-item {
    min-height: 240px; }
  .not-front .jumbotron-carousel .carousel-caption {
    display: block;
    bottom: calc(60px + 0.75rem);
    text-align: center; }
    .not-front .jumbotron-carousel .carousel-caption p {
      display: none; } }

/************** ******* **************/
/************** OPTIONS **************/
/************** ******* **************/
.jumbotron-bloc-principal {
  width: 80%; }

@media (min-width: 768px) {
  .jumbotron-bloc-principal {
    width: 70%; } }

.jumbotron-carousel .carousel-item:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(0, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0) 80%); }

@media (min-width: 992px) {
  .not-front .jumbotron-bloc-principal:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.55) 0, rgba(0, 0, 0, 0.55) 90%); }
  .jumbotron-carousel .carousel-item:after {
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0) 80%); } }

.region-footer-second {
  background-color: #fff; }

.block-ft-coordonnees {
  background-color: transparent; }

.block-wf-contact {
  background-color: transparent; }

.ft-denomination {
  color: #111; }

.ft-slogan {
  color: #111; }

.ft-adresse {
  color: #111; }

.ft-telephone a {
  color: #111; }
  .ft-telephone a:hover {
    color: #007FFF; }

.ft-horaire {
  color: #111; }

.block-ft-coordonnees {
  padding: 3rem 30px;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.block-wf-contact {
  padding: 3rem 30px; }
  .block-wf-contact .webform-submission-form {
    padding: 0; }

.ft-logo img {
  max-width: 300px !important; }

.ft-denomination {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0em; }

.ft-slogan strong {
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.ft-adresse {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.ft-telephone {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.ft-horaire {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

@media (min-width: 992px) {
  .region-footer-second .section-wrapper {
    max-width: 1230px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto;
    display: flex; }
  .block-ft-coordonnees {
    padding: 4rem 3rem; }
  .block-wf-contact {
    padding: 4rem 3rem; } }

.region-footer-fifth {
  padding-top: 1.95rem;
  padding-bottom: 1.95rem;
  background: #f9f9f9; }

.infos-bottom {
  font-family: "Montserrat", sans-serif;
  font-size: 0.8rem;
  position: relative;
  z-index: 10;
  color: #111111;
  color: #111111; }
  .infos-bottom a, .infos-bottom a[type="button"] {
    color: #111111;
    color: #111111;
    width: 100%; }
  .infos-bottom a:hover, .infos-bottom a[type="button"]:hover {
    color: #111111;
    color: rgba(17, 17, 17, 0.8);
    text-decoration: none; }
  .infos-bottom .crea img {
    width: 60px;
    display: block;
    margin: 10px auto; }

@media (min-width: 992px) {
  .infos-bottom .crea img {
    float: right;
    margin: 4px 0 0 15px; } }

html {
  font-size: 14px; }

body {
  letter-spacing: 0em; }

.table th {
  border: none; }
  .table th h1, .table th h2, .table th h3, .table th h4, .table th h5, .table th h6, .table th .h1, .table th .h2, .table th .h3, .table th .h4, .table th .h5, .table th .h6 {
    margin: 0; }

@media (min-width: 768px) {
  html {
    font-size: 15px; }
  .path-frontpage h1.title {
    font-size: 2.86rem; }
  .path-frontpage .title-h2, .path-frontpage .block-wf-contact .title-h2 {
    font-size: 2.21rem; } }

@media (min-width: 992px) {
  html {
    font-size: 16px; } }

.node__content {
  font-size: 1rem; }

b,
strong {
  font-weight: 600; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  color: #111; }

.h1, h1 {
  position: relative;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-transform: none;
  line-height: 1.3;
  letter-spacing: 0em;
  color: #111;
  text-align: center;
  margin: 0 0 60px; }
  .h1 span, h1 span {
    display: inline-block;
    font-weight: 500; }
    .h1 span:after, h1 span:after {
      display: block;
      content: "";
      height: 5px;
      background: #007FFF;
      margin: 10px auto 23px;
      position: relative;
      width: 90px;
      max-width: 100%; }

.h2, h2, .title-h2 {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.7rem;
  line-height: 1.3;
  letter-spacing: 0em;
  margin: 30px 0 20px; }
  .h2 span, h2 span, .title-h2 span {
    display: inline-block; }

a {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  color: #007FFF;
  text-decoration: none; }
  a:hover {
    color: #3399ff;
    text-decoration: none; }

h1 a:hover, h1 a:focus, h2 a:hover, h2 a:focus, h3 a:hover, h3 a:focus, h4 a:hover, h4 a:focus, h5 a:hover, h5 a:focus, h6 a:hover, h6 a:focus {
  text-decoration: none; }

.wow {
  visibility: hidden; }

.service {
  margin-top: 70px; }

.btn-warning {
  color: white !important;
  text-decoration: none !important; }
  .btn-warning:hover, .btn-warning:focus, .btn-warning.active {
    color: white !important;
    text-decoration: none !important; }

.field--type-image img {
  border-radius: 0.313rem; }

p:last-child {
  margin-bottom: 0; }

ul {
  padding-left: 1.8rem; }

.form-actions.mb-3 {
  margin-bottom: 0 !important; }

small,
.small {
  font-size: 80%;
  font-weight: inherit; }

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

#drupal-live-announce {
  height: 0; }

.contextual-region .contextual {
  z-index: 9999; }
  .contextual-region .contextual .contextual-links li {
    background-color: #fff;
    color: #111; }

.cke_editable {
  background-color: #fff !important; }
  .cke_editable h1, .cke_editable h2, .cke_editable h3, .cke_editable h4, .cke_editable h5, .cke_editable h6, .cke_editable p {
    color: #000 !important; }
  .cke_editable a, .cke_editable a:hover {
    color: red !important; }
  .cke_editable div {
    background-color: #fff !important; }
  .cke_editable .cw-ibox, .cke_editable .cw-ibox div {
    background-color: #e9e9e9 !important; }

.toast {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 1270;
  width: 350px;
  background-color: rgba(255, 255, 255, 0.98);
  font-size: 0.8rem;
  line-height: 1em; }

@media (min-width: 992px) {
  .gin--vertical-toolbar #block-widgetsobox, .gin--vertical-toolbar #block-widgetbiimbox {
    left: 65px; } }

@media (max-width: 1199.98px) {
  #admin-toolbar-mobile-search-tab {
    display: none; }
  body:not(.toolbar-horizontal).toolbar-fixed.affix-top #navbar-main {
    top: 0; }
  body:not(.toolbar-horizontal).toolbar-fixed.affix-scroll #navbar-main {
    top: 39px; } }

#main {
  padding-top: 3rem; }

.not-front #main {
  padding-bottom: 3rem; }

.block-page-title-block {
  max-width: 1140px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }

form.user-login-form,
.node--type-webform .block-system-main-block {
  max-width: 1140px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.sf-articles-section, .sf-galerie-section, .cw-cards-section.galeries-section {
  max-width: 1920px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

body.path-sitemap .content .sitemap {
  max-width: 1140px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-xs {
  max-width: 400px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-sm {
  max-width: 520px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-md {
  max-width: 850px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-lg {
  max-width: 1000px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-xxl {
  max-width: 1400px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-xxxl {
  max-width: 1600px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-full {
  max-width: 1920px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.label-primary {
  display: inline-block;
  background-color: #F58422;
  color: #fff;
  padding: 10px 30px;
  font-size: 0.7rem;
  line-height: 1;
  border-radius: 4px; }

@media (min-width: 992px) {
  #main {
    padding-top: 4rem; }
  .not-front #main {
    padding-bottom: 4rem; } }

.block-addtoany {
  text-align: center; }
  .block-addtoany .title-h4 {
    color: #545353; }
  .block-addtoany .a2a_kit {
    display: flex;
    justify-content: center; }
    .block-addtoany .a2a_kit a {
      margin: 0 5px; }
      .block-addtoany .a2a_kit a span.a2a_svg {
        -moz-transition: all 0.15s ease-in-out;
        -o-transition: all 0.15s ease-in-out;
        -webkit-transition: all 0.15s ease-in-out;
        transition: all 0.15s ease-in-out;
        overflow: initial;
        background-color: initial !important; }
    .block-addtoany .a2a_kit a:hover {
      -moz-transition: all 0.1s ease-in-out;
      -o-transition: all 0.1s ease-in-out;
      -webkit-transition: all 0.1s ease-in-out;
      transition: all 0.1s ease-in-out; }
      .block-addtoany .a2a_kit a:hover span.a2a_svg {
        -webkit-filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.1));
        -moz-filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.1));
        filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.1));
        opacity: 1 !important; }
  .block-addtoany span.a2a_svg {
    height: 63px;
    width: 63px; }
    .block-addtoany span.a2a_svg svg {
      max-width: 100%;
      max-height: 100%;
      padding: 13px;
      background-color: #007FFF;
      border-radius: 50%; }
      .block-addtoany span.a2a_svg svg path {
        fill: #fff; }

.title-h4 {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.1rem;
  line-height: 1.3;
  letter-spacing: 0em;
  margin-bottom: 1.2rem; }

.block-call-to-action .title-h2 {
  position: relative;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 2.04rem;
  line-height: 1.3;
  letter-spacing: 0em;
  color: #111;
  margin-bottom: 15px; }
  .block-call-to-action .title-h2 span:after {
    display: block;
    content: "";
    height: 5px;
    background: #007FFF;
    margin: 10px auto 23px;
    position: relative;
    width: 90px;
    max-width: 100%; }

.block-call-to-action .cta-number {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  text-transform: none;
  font-size: 1.35rem;
  line-height: 1;
  letter-spacing: 0em;
  color: #111; }
  .block-call-to-action .cta-number b {
    font-weight: 600; }
  .block-call-to-action .cta-number i {
    font-size: 0.85em; }
  .block-call-to-action .cta-number a {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    color: #111;
    text-decoration: none; }
    .block-call-to-action .cta-number a:hover {
      color: #2b2b2b;
      text-decoration: none; }

.block-call-to-action-adresse {
  line-height: 1.2em;
  padding: 0 15px;
  color: #111; }

.parallax {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-position: 50% 50% \9  !important;
  height: auto;
  background-size: cover; }

[class*="block-parallax-"] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  min-height: 45vh; }
  [class*="block-parallax-"] .content {
    display: flex;
    align-content: center;
    justify-content: center;
    flex-direction: column;
    z-index: 1;
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    text-transform: none;
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: 0em;
    color: #fff; }
    [class*="block-parallax-"] .content .text-loud, [class*="block-parallax-"] .content .loud-text {
      font-family: "Oswald", sans-serif;
      font-weight: 500;
      text-transform: none;
      font-size: 1.7rem;
      line-height: 1.3;
      letter-spacing: 0em;
      color: #fff; }
  [class*="block-parallax-"]:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to top, rgba(17, 17, 17, 0.48) 0%, rgba(17, 17, 17, 0.48) 80%); }

.block-parallax-front {
  background-image: url("../images/parallax-front-mob.jpg"); }

@media (min-width: 576px) {
  [class*="block-parallax-"] .content .text-loud, [class*="block-parallax-"] .content .loud-text {
    font-size: 2.55rem; } }

@media (min-width: 768px) {
  .block-parallax-front {
    background-image: url("../images/parallax-front.jpg"); } }

@media (min-width: 992px) {
  [class*="block-parallax-"] {
    min-height: 85vh; } }

.region-featured-bottom-first {
  background-color: transparent;
  position: relative; }

.region-featured-bottom-second {
  background-color: transparent; }

.block-forces {
  color: #343434;
  background: #f9f9f9; }
  .block-forces .title-h2 {
    position: relative;
    z-index: 1;
    color: #111; }
    .block-forces .title-h2 span:after {
      display: block;
      content: "";
      height: 5px;
      background: #007FFF;
      margin: 10px auto 23px;
      position: relative;
      width: 90px;
      max-width: 100%; }
  .block-forces .fa {
    font-size: 85px; }
  .block-forces .srv-title {
    font-size: 20px; }

.block-references {
  position: relative;
  color: #343434;
  background: #f9f9f9; }
  .block-references .title-h2 {
    position: relative;
    z-index: 1;
    color: #111; }
    .block-references .title-h2 span:after {
      display: block;
      content: "";
      height: 5px;
      background: #007FFF;
      margin: 10px auto 23px;
      position: relative;
      width: 90px;
      max-width: 100%; }

/************** ******************** **************/
/************** MAP : VOIR CATALOGUE **************/
/************** ******************** **************/
.region-footer-third {
  background-color: #fff; }

.block-map {
  width: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }
  .block-map .map a:not([class*="contextual-links"]) {
    display: block;
    width: 100%;
    height: 445px;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer; }
  .block-map .map a {
    background-image: url("../images/map-mob.jpg"); }

.block-map-intervention {
  background-image: url("../images/map-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  color: #000;
  font-weight: 300; }
  .block-map-intervention .title-h2 {
    color: #000; }
    .block-map-intervention .title-h2::before {
      display: block;
      content: "";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 2.5rem;
      margin-bottom: 20px;
      color: #F58422; }

@media (min-width: 768px) {
  .block-map .map a {
    background-image: url("../images/map.jpg"); }
  .block-map .map a {
    max-height: 445px; } }

@media (min-width: 992px) {
  .block-map-intervention {
    min-height: 500px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center; } }

.map-denomination {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0em; }

.map-slogan strong {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1.4; }

.map-adresse {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.map-telephone {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4; }

.map-horaire {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.map-mail {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4; }

.map-denomination {
  color: #343434; }

.map-slogan {
  color: #343434; }

.map-adresse {
  color: #343434; }

.map-telephone a {
  color: #343434; }
  .map-telephone a:hover {
    color: #007FFF; }

.map-horaire {
  color: #343434; }

.map-mail a {
  color: #343434; }
  .map-mail a:hover {
    color: #007FFF; }

.form-control:not([class*="button"]) {
  background-color: #f9f9f9;
  color: #2d2d2d; }
  .form-control:not([class*="button"])::placeholder {
    color: #adadad;
    text-transform: initial; }
  .form-control:not([class*="button"]):hover, .form-control:not([class*="button"]):focus {
    outline: solid 1px #f1f1f1; }
    .form-control:not([class*="button"]):hover::placeholder, .form-control:not([class*="button"]):focus::placeholder {
      color: #cecece; }

.flb-block .form-control:not([class*="button"]) {
  background-color: #f9f9f9;
  color: #2d2d2d; }
  .flb-block .form-control:not([class*="button"])::placeholder {
    color: #adadad; }
  .flb-block .form-control:not([class*="button"]):hover, .flb-block .form-control:not([class*="button"]):focus {
    outline: solid 1px #f1f1f1; }
    .flb-block .form-control:not([class*="button"]):hover::placeholder, .flb-block .form-control:not([class*="button"]):focus::placeholder {
      color: #cecece; }

.block-wf-contact .form-control:not([class*="button"]) {
  background-color: #f9f9f9;
  color: #2d2d2d; }
  .block-wf-contact .form-control:not([class*="button"])::placeholder {
    color: #adadad; }
  .block-wf-contact .form-control:not([class*="button"]):hover, .block-wf-contact .form-control:not([class*="button"]):focus {
    outline: solid 1px #f1f1f1; }
    .block-wf-contact .form-control:not([class*="button"]):hover::placeholder, .block-wf-contact .form-control:not([class*="button"]):focus::placeholder {
      color: #cecece; }

.webform-flexbox {
  margin: 0 -0.3rem 0.6rem; }

.webform-flex--container {
  margin: 0 0.3rem; }

.block-wf-contact .title-h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 2rem;
  color: #111;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.4rem;
  line-height: 1.3;
  letter-spacing: 0em;
  text-align: center; }
  .block-wf-contact .title-h2 span:after {
    display: block;
    content: "";
    height: 5px;
    background: #007FFF;
    margin: 10px auto 23px;
    position: relative;
    width: 90px;
    max-width: 100%; }

.block-wf-contact .text-muted {
  color: black !important; }
  .block-wf-contact .text-muted a {
    color: black; }
    .block-wf-contact .text-muted a:hover {
      color: #111; }

.form-item-acceptation-rgpd {
  margin-top: 1rem;
  margin-bottom: 1rem; }
  .form-item-acceptation-rgpd .webform-element-description {
    line-height: 1.3em;
    font-size: 0.69rem; }

@media (min-width: 992px) {
  .page-node-2 .node__content {
    display: flex; }
    .page-node-2 .node__content > div:first-child {
      flex: 0 0 41.66667%;
      max-width: 41.66667%;
      padding-right: 30px; }
    .page-node-2 .node__content > div:last-child {
      flex: 0 0 58.33333%;
      max-width: 58.33333%; } }

.block-actualites {
  background: #E9E9E9;
  background: linear-gradient(270deg, #E9E9E9 0%, #fff 100%); }
  .block-actualites .title-h2, .block-actualites .view-header {
    text-align: center;
    max-width: 1300px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; }
  .block-actualites .cw-card-title {
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    text-transform: none;
    font-size: 1.3rem;
    line-height: 1em;
    letter-spacing: 0em; }
  .block-actualites .view-header {
    position: relative;
    font-size: 1rem;
    font-weight: 600;
    line-height: 0.12em;
    color: #87b0cb;
    text-transform: uppercase;
    margin-bottom: 4rem;
    letter-spacing: 0.02em; }
    .block-actualites .view-header::before, .block-actualites .view-header::after {
      content: '';
      position: absolute;
      top: 0;
      width: 17vw;
      height: 1px;
      background-color: #87b0cb; }
    .block-actualites .view-header::before {
      left: 0; }
    .block-actualites .view-header::after {
      right: 0; }
  .block-actualites .cw-cards-hz .cw-card {
    margin: 0; }
  .block-actualites .carousel {
    width: 100%; }

.node--type-actualite > .node__content {
  display: flex;
  flex-direction: column;
  align-items: center; }
  .node--type-actualite > .node__content .actu-content {
    width: 100%; }

.node--type-actualite .actu-date {
  display: flex;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 0.8rem;
  line-height: 1em;
  letter-spacing: 0.08em;
  color: #111;
  margin-top: 3rem;
  margin-bottom: 1.5rem; }

@media (min-width: 768px) {
  .block-actualites .view-header::before, .block-actualites .view-header::after {
    width: 35%; } }

@media (min-width: 992px) {
  .node--type-actualite #main-wrapper .field--type-image img, .node--type-reference #main-wrapper .field--type-image img {
    display: block;
    margin: auto; } }

.galeries-section {
  margin-top: 60px; }

.field[class*="-galerie-photos"], .field[class*="-galerie-videos"] {
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  padding: 3rem 0 0; }
  .field[class*="-galerie-photos"] .field__item, .field[class*="-galerie-videos"] .field__item {
    width: 100%;
    margin: 0.5%; }

[class*="cw-galerie-mini-"] .field-item {
  background-size: 350px !important;
  background-position: center !important;
  margin: 5px !important;
  background-color: white; }

.cw-galerie-mini-1 .field-item {
  width: calc(50% - 4 * 5px) !important; }

.cw-galerie-mini-2 .field-item {
  width: calc(100% - 2 * 5px) !important;
  max-width: 100% !important; }

@media (min-width: 768px) {
  .field[class*="-galerie-photos"], .field[class*="-galerie-videos"] {
    flex-direction: row; }
    .field[class*="-galerie-photos"] .field__item, .field[class*="-galerie-videos"] .field__item {
      width: 48%; } }

@media (min-width: 1200px) {
  .field[class*="-galerie-photos"] .field__item, .field[class*="-galerie-videos"] .field__item {
    width: 32%; } }

#block-googlereviewslist {
  background-color: #f9f9f9;
  padding-top: 3rem;
  padding-bottom: 3rem; }
  #block-googlereviewslist .title-h2, #block-googlereviewslist .reviews-container {
    max-width: 1500px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center; }
  #block-googlereviewslist .title-h2 {
    margin-top: 0;
    margin-bottom: 1.5em; }
    #block-googlereviewslist .title-h2:after {
      content: '';
      background-image: url("../images/logo-google.png");
      background-size: contain;
      background-repeat: no-repeat;
      position: relative;
      top: 2px;
      height: 44px;
      max-height: 1.25em;
      width: 137px;
      max-width: 3.8em;
      margin-left: 0.25em; }
  #block-googlereviewslist .reviews-container {
    flex-wrap: wrap;
    gap: 20px; }
  #block-googlereviewslist .review-container {
    min-height: 250px;
    width: 450px;
    max-width: 100%;
    background-color: #fff;
    padding: 30px 40px;
    margin-bottom: 0; }
    #block-googlereviewslist .review-container a {
      display: flex;
      flex-direction: column; }
  #block-googlereviewslist .review-rating-container {
    position: relative; }
    #block-googlereviewslist .review-rating-container .review-author-name {
      position: absolute;
      top: 16px;
      left: 58px;
      color: #000; }
  #block-googlereviewslist .review-rating {
    margin-top: 12px; }
  #block-googlereviewslist .review-date {
    color: #adadad;
    font-size: 13px;
    align-self: end;
    margin-bottom: 1px; }
  #block-googlereviewslist .stars-wrapper svg {
    height: 13px; }
    #block-googlereviewslist .stars-wrapper svg path {
      fill: #e8bf2a; }
    #block-googlereviewslist .stars-wrapper svg:last-child {
      display: none; }
  #block-googlereviewslist .review-text {
    margin-top: 10px;
    display: -webkit-box;
    line-clamp: 5;
    -webkit-line-clamp: 5;
    /* Nombre de lignes */
    -webkit-box-orient: vertical;
    overflow: hidden; }

@media (min-width: 992px) {
  #block-googlereviewslist {
    padding-top: 4rem;
    padding-bottom: 4rem; }
    #block-googlereviewslist .review-container {
      min-height: 265px; } }

/**********************************************************************************************************/
/*****    NOTE: Le nombre de colonnes en "lg" est défini directement via la galerie dans drupal
          pour laisser le choix à l'utilisateur. Seul le nb de colonnes en mobile est défini ici.    *****/
/*** on détermine ici le nombre de colonnes par resolution ***/
/*** détermine espacement entre les img. Mettre 0 pour qu'elles soient collées ensemble.

/* ---- grid ---- */
.galerie-mansonary {
  margin-top: 60px;
  /* clear fix */
  /* ---- .grid-item ---- */ }
  .galerie-mansonary .grid {
    background: transparent;
    margin: 0 20px;
    padding: 3rem 0 0; }
  .galerie-mansonary .grid:after {
    content: '';
    display: block;
    clear: both; }
  .galerie-mansonary .grid-sizer,
  .galerie-mansonary .grid-item {
    width: 100%; }
  .galerie-mansonary .grid-item {
    padding: 5px;
    box-shadow: none; }
    .galerie-mansonary .grid-item .grid-item-link {
      background-image: url("../images/bg-zoom.png");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      overflow: hidden; }
      .galerie-mansonary .grid-item .grid-item-link img {
        display: block;
        width: 100%;
        -moz-transition: opacity 1s ease, transform 1.2s ease;
        -o-transition: opacity 1s ease, transform 1.2s ease;
        -webkit-transition: opacity 1s ease, transform 1.2s ease;
        transition: opacity 1s ease, transform 1.2s ease; }
      .galerie-mansonary .grid-item .grid-item-link img:hover {
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2);
        opacity: 0.3;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
        filter: alpha(opacity=30); }
      .galerie-mansonary .grid-item .grid-item-link:hover {
        background-color: #F58422; }

@media (min-width: 576px) {
  .galerie-mansonary .grid-sizer,
  .galerie-mansonary .grid-item {
    width: 50%; } }

@media (min-width: 768px) {
  .galerie-mansonary .grid-sizer,
  .galerie-mansonary .grid-item {
    width: 33.33333%; } }

@media (min-width: 992px) {
  .galerie-mansonary .grid {
    margin: 0 auto; }
  .galerie-mansonary .nb_col_3 {
    width: 33.33333%; }
  .galerie-mansonary .nb_col_4 {
    width: 25%; }
  .galerie-mansonary .nb_col_5 {
    width: 20%; }
  .galerie-mansonary .nb_col_6 {
    width: 16.66667%; } }

.multi-bloc-style-1 .multibloc-title, .multi-bloc-style-1-background-1 .multibloc-title, .multi-bloc-style-1-background-2 .multibloc-title {
  margin-top: 0;
  text-align: center; }

.multi-bloc-style-1 .multibloc-img, .multi-bloc-style-1-background-1 .multibloc-img, .multi-bloc-style-1-background-2 .multibloc-img {
  margin-bottom: 2rem;
  text-align: center; }
  .multi-bloc-style-1 .multibloc-img img, .multi-bloc-style-1-background-1 .multibloc-img img, .multi-bloc-style-1-background-2 .multibloc-img img {
    border-radius: 0.313rem; }

.multi-bloc-style-1 .multibloc-text, .multi-bloc-style-1-background-1 .multibloc-text, .multi-bloc-style-1-background-2 .multibloc-text {
  padding-left: 15px;
  padding-right: 15px; }

.multi-bloc-style-1 .field[class*="-galerie-photos"], .multi-bloc-style-1 .field[class*="-galerie-videos"], .multi-bloc-style-1-background-1 .field[class*="-galerie-photos"], .multi-bloc-style-1-background-1 .field[class*="-galerie-videos"], .multi-bloc-style-1-background-2 .field[class*="-galerie-photos"], .multi-bloc-style-1-background-2 .field[class*="-galerie-videos"] {
  padding: 2rem 0 0; }

.multi-bloc-style-1 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-photos"], .multi-bloc-style-1 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-videos"], .multi-bloc-style-1-background-1 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-photos"], .multi-bloc-style-1-background-1 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-videos"], .multi-bloc-style-1-background-2 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-photos"], .multi-bloc-style-1-background-2 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-videos"] {
  padding: 0; }

.multi-bloc-style-1 .multibloc {
  padding-left: 30px;
  padding-right: 30px; }

.multi-bloc-style-1-background-1 .multibloc-content {
  padding: 0.5%; }

.multi-bloc-style-1-background-1 .multibloc-img {
  padding: 0.5%; }

.multi-bloc-style-1-background-1 .multibloc-text {
  padding: 0; }

.multi-bloc-style-1-background-1 .multibloc {
  padding: 30px;
  border-radius: 0.0939rem;
  background: #fcfcfc; }

.multi-bloc-style-1-background-2 .multibloc-content {
  border-radius: 0.0939rem;
  background: #fcfcfc;
  padding: 30px; }

.page-multi-bloc-template-1 .multibloc:nth-last-child(1n+2) {
  margin-bottom: 6rem; }

.page-multi-bloc-template-1 .multibloc-title {
  margin-top: 0;
  text-align: center; }

.page-multi-bloc-template-1 .multibloc-img {
  margin-bottom: 2rem;
  text-align: center; }
  .page-multi-bloc-template-1 .multibloc-img img {
    border-radius: 0.313rem; }

.page-multi-bloc-template-1 .multibloc-text {
  padding-left: 15px;
  padding-right: 15px; }

.page-multi-bloc-template-1 .field[class*="-galerie-photos"], .page-multi-bloc-template-1 .field[class*="-galerie-videos"] {
  padding: 2rem 0 0; }

.page-multi-bloc-template-1 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-photos"], .page-multi-bloc-template-1 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-videos"] {
  padding: 0; }

.page-multi-bloc {
  justify-content: center; }

.page-multi-bloc-margin .multibloc:nth-last-child(1n+2) {
  margin-bottom: 6rem; }

[class*="cw-grid-col-"] {
  display: grid;
  grid-gap: 30px; }

@media (min-width: 768px) {
  .cw-grid-col-md-33-66 {
    grid-template-columns: 1fr 2fr; }
  .cw-grid-col-md-44-55 {
    grid-template-columns: 4fr 5fr; }
  .cw-grid-col-md-50-50 {
    grid-template-columns: 1fr 1fr; }
  .cw-grid-col-md-55-44 {
    grid-template-columns: 5fr 4fr; }
  .cw-grid-col-md-66-33 {
    grid-template-columns: 2fr 1fr; } }

#sf-secteurs .intro {
  margin-bottom: 20px; }

.node--type-soref-article > .node__content {
  display: flex;
  flex-direction: column;
  align-items: center; }
  .node--type-soref-article > .node__content .field--name-body {
    width: 100%; }

.node--type-soref-article .field--name-field-article-image {
  margin: 0 auto 55px;
  max-width: fit-content; }

.node--type-soref-article .field--name-field-soref-article-image {
  margin-bottom: 2.5rem;
  text-align: center; }

.block-soref-queries, .soref-section-activities-xxl {
  margin-top: 5rem;
  font-size: 0.8rem;
  line-height: 1.3; }
  .block-soref-queries .title-h2, .soref-section-activities-xxl .title-h2 {
    font-size: 1.1rem;
    line-height: 1.1;
    color: #cecece;
    font-weight: 400;
    text-align: center; }
  .block-soref-queries .cw-inline-ul, .soref-section-activities-xxl .cw-inline-ul {
    text-align: center; }
  .block-soref-queries .cw-list-ul, .soref-section-activities-xxl .cw-list-ul {
    text-align: left;
    list-style: none; }
    .block-soref-queries .cw-list-ul ul, .soref-section-activities-xxl .cw-list-ul ul {
      list-style: none; }
    .block-soref-queries .cw-list-ul li:before, .soref-section-activities-xxl .cw-list-ul li:before {
      content: "\f111";
      font-family: "Font Awesome 5 Free";
      font-style: normal;
      position: relative;
      left: 0;
      top: -1px;
      margin-right: 10px;
      font-size: 0.4rem;
      font-weight: 800; }

.soref-section .cw-list-ul {
  font-size: 0.8rem; }

#soref-footer-content-collapse {
  max-height: 0px;
  overflow: hidden;
  transition: max-height 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  width: 100%;
  border-radius: 3px;
  z-index: 10000; }
  #soref-footer-content-collapse.show {
    max-height: 100vh;
    transition: max-height 0.5s ease-in-out; }
  #soref-footer-content-collapse .soref-footer-content ul {
    list-style-type: none;
    padding: 0; }
    #soref-footer-content-collapse .soref-footer-content ul li {
      padding: 5px 10px 5px 15px;
      margin-bottom: 4px;
      display: flex;
      align-items: center; }
      #soref-footer-content-collapse .soref-footer-content ul li:before {
        content: "\f0c8";
        font-family: "Font Awesome 5 Free";
        font-style: normal;
        position: relative;
        left: 3px;
        top: 0;
        margin-right: 12px;
        font-size: 0.5rem;
        font-weight: 800; }
      #soref-footer-content-collapse .soref-footer-content ul li:nth-child(odd) {
        background-color: #fcfcfc;
        background-color: rgba(233, 233, 233, 0.4);
        background-color: rgba(233, 233, 233, 0.4); }
        #soref-footer-content-collapse .soref-footer-content ul li:nth-child(odd):before {
          color: rgba(129, 129, 129, 0.43);
          color: rgba(129, 129, 129, 0.43); }
      #soref-footer-content-collapse .soref-footer-content ul li:nth-child(even) {
        background-color: rgba(233, 233, 233, 0.4);
        background-color: rgba(233, 233, 233, 0.4); }
        #soref-footer-content-collapse .soref-footer-content ul li:nth-child(even):before {
          color: rgba(129, 129, 129, 0.43);
          color: rgba(129, 129, 129, 0.43); }
  #soref-footer-content-collapse .soref-footer-content .soref-footer-txt a {
    font-weight: bold; }
  #soref-footer-content-collapse .soref-footer-content .soref-footer-title {
    height: 25px;
    display: flex;
    vertical-align: top;
    align-items: end; }

.soref-bottom {
  font-family: "Montserrat", sans-serif;
  font-size: 0.8rem;
  position: relative;
  z-index: 10;
  color: #111111;
  color: #111111; }
  .soref-bottom a:link, .soref-bottom a:hover, .soref-bottom a:visited {
    color: #111111;
    color: #111111;
    text-decoration: none; }
  .soref-bottom a {
    width: 100%; }

@media (min-width: 992px) {
  .activities-xxl-ul {
    display: flex;
    flex-direction: row;
    justify-content: space-between; }
    .activities-xxl-ul ul {
      width: 48%; } }

/************** GLOBALE **************/
.flb-btn button {
  padding: 9px 15px;
  margin: 0 15px 0 0;
  font-size: 0.75rem; }

.user-logged-in .block-float > .contextual {
  position: fixed;
  top: 235px;
  right: 0;
  z-index: 1030; }

.user-logged-in .flb-block {
  top: calc(130px + 180px); }

.flb-block {
  display: flex;
  flex-direction: row;
  position: fixed;
  right: -1px;
  top: 310px;
  padding: 0;
  z-index: 100;
  -webkit-filter: drop-shadow(-5px 7px 25px rgba(0, 0, 0, 0.1));
  -moz-filter: drop-shadow(-5px 7px 25px rgba(0, 0, 0, 0.1));
  filter: drop-shadow(-5px 7px 25px rgba(0, 0, 0, 0.1)); }
  .flb-block .flb-label {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0em;
    text-transform: none;
    writing-mode: vertical-rl;
    text-orientation: mixed; }
  .flb-block .flb-icon i {
    font-size: 70%;
    margin-top: 15px; }
  .flb-block .flb-title {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    background-color: #fffb00;
    background-color: #fffb00;
    position: relative;
    width: 40px;
    height: fit-content;
    padding: 15px;
    border-radius: 0.313rem 0 0 0.313rem;
    margin: 0;
    color: #111;
    cursor: pointer; }
  .flb-block .flb-content {
    display: flex;
    flex-direction: column;
    -moz-transition: all 1.5s ease-in-out;
    -o-transition: all 1.5s ease-in-out;
    -webkit-transition: all 1.5s ease-in-out;
    transition: all 1.5s ease-in-out;
    background-color: white;
    background-color: white;
    box-shadow: -5px 7px 25px 0px rgba(0, 0, 0, 0.1);
    box-sizing: content-box;
    width: 270px;
    max-height: calc(100vh - 130px - 310px);
    overflow: hidden;
    border-radius: 0 0 0 0.313rem; }
    .flb-block .flb-content .flb-wrapper {
      color: #343434;
      padding: 15px;
      width: 270px;
      max-height: 100vh;
      overflow-x: hidden;
      overflow-y: auto; }
      .flb-block .flb-content .flb-wrapper form .webform-flexbox {
        display: block !important; }
    .flb-block .flb-content .block-float-denomination {
      font-family: "Montserrat", sans-serif;
      font-weight: 600;
      text-transform: none;
      font-size: 1.25rem;
      line-height: 1.2;
      letter-spacing: 0em; }
    .flb-block .flb-content .block-float-metier {
      font-family: "Montserrat", sans-serif;
      font-weight: 400;
      text-transform: none;
      font-size: 0.875rem;
      line-height: 1.2;
      letter-spacing: 0em; }
    .flb-block .flb-content .block-float-adresse {
      font-family: "Montserrat", sans-serif;
      font-weight: 400;
      text-transform: none;
      font-size: 1rem;
      line-height: 1.2;
      letter-spacing: 0em; }
    .flb-block .flb-content .block-float-telephone {
      font-family: "Montserrat", sans-serif;
      font-weight: 400;
      text-transform: none;
      font-size: 1rem;
      line-height: 1.2;
      letter-spacing: 0em; }
    .flb-block .flb-content .btn {
      padding: 18px; }
  .flb-block form .captcha {
    display: block; }
    .flb-block form .captcha img {
      -webkit-filter: grayscale(100%);
      -moz-filter: grayscale(100%);
      filter: grayscale(100%);
      margin: 0 auto; }
  .flb-block form label {
    font-size: 0.8rem;
    font-weight: 400;
    color: #adadad; }
  .flb-block form .js-form-item {
    margin: 0 0 10px;
    width: 100%; }
  .flb-block form .form-actions {
    padding: 0; }
  .flb-block form .form-select {
    font-size: 80%; }

.flb-block.mini {
  right: -42px; }
  .flb-block.mini .flb-content {
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    width: 0; }

.flb-block .webform-progressbar {
  display: none; }

.flb-block .webform-datepicker > * {
  margin: 0 !important; }

/************** ********************** ******************************/
/************** webform-component-radio-checkbox-rgpd **************/
/************** ********************** *****************************/
.flb-block .content form .webform-component--telephone {
  margin-bottom: 0; }

.flb-block .form-rgpd input.form-rgpd {
  margin-top: -3px; }

/************ **************************** **************/
/************ RAPPEL GRATUIT EN RESPONSIVE **************/
/************ **************************** **************/
.overlay-mobile:before {
  content: '';
  display: block;
  background-color: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 80; }

@media (min-width: 992px) {
  .flb-block.mini {
    right: -1px; }
  .flb-btn {
    display: none; } }

.pagination {
  justify-content: center;
  padding-top: 8rem;
  font-size: 1.3rem;
  font-weight: 600; }
  .pagination .pager__item--next a[rel="next"] {
    margin-left: 45px; }
  .pagination .page-item a[rel="prev"] {
    margin-right: 45px; }
  .pagination .page-item a[title="Aller à la page précédente"] {
    position: relative; }
    .pagination .page-item a[title="Aller à la page précédente"]:after {
      content: "";
      position: absolute;
      top: 0.15rem;
      padding: 0.5rem 0.75rem;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 0.75rem;
      line-height: 1.5rem;
      left: 0; }
    .pagination .page-item a[title="Aller à la page précédente"] span {
      display: none; }
  .pagination .pager__item--next a[title="Aller à la page suivante"] {
    position: relative; }
    .pagination .pager__item--next a[title="Aller à la page suivante"]:after {
      content: "";
      position: absolute;
      top: 0.15rem;
      padding: 0.5rem 0.75rem;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 0.75rem;
      line-height: 1.5rem;
      right: 0; }
    .pagination .pager__item--next a[title="Aller à la page suivante"] span {
      display: none; }
  .pagination .page-item a[title="Aller à la première page"] {
    position: relative;
    margin-right: 15px; }
    .pagination .page-item a[title="Aller à la première page"]:after {
      content: "";
      position: absolute;
      top: 0.15rem;
      padding: 0.5rem 0.75rem;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 0.75rem;
      line-height: 1.5rem;
      left: 0; }
    .pagination .page-item a[title="Aller à la première page"] span {
      display: none; }
  .pagination .page-item a[title="Aller à la dernière page"] {
    position: relative;
    margin-left: 15px; }
    .pagination .page-item a[title="Aller à la dernière page"]:after {
      content: "";
      position: absolute;
      top: 0.15rem;
      padding: 0.5rem 0.75rem;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 0.75rem;
      line-height: 1.5rem;
      right: 0; }
    .pagination .page-item a[title="Aller à la dernière page"] span {
      display: none; }

body #tarteaucitronRoot {
  font-family: "Montserrat", sans-serif; }
  body #tarteaucitronRoot button {
    margin-top: 10px !important; }
    body #tarteaucitronRoot button span::before {
      font: normal normal normal 14px/1 FontAwesome; }
  body #tarteaucitronRoot button.tarteaucitronAllow span::before {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    color: #fff;
    content: '\f00c'; }
  body #tarteaucitronRoot button.tarteaucitronDeny span::before {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    color: #9d9d9d;
    content: '\f00d'; }
  body #tarteaucitronRoot span#tarteaucitronDisclaimerAlert {
    font-family: "Montserrat", sans-serif;
    line-height: 1.5em; }
    body #tarteaucitronRoot span#tarteaucitronDisclaimerAlert .cookie-big-txt {
      font-weight: 400;
      font-size: 20px; }
  body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow {
    color: #fff !important;
    background-color: #909090;
    margin-left: 10px; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow:hover {
      color: #54483c !important; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow:hover {
      background-color: #c3c3c3; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow:hover span::before, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow:active span::before, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow:focus span::before {
      color: #54483c; }
  body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny {
    color: #111 !important;
    background-color: white;
    margin-left: 10px; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:hover {
      color: #54483c !important; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:hover {
      background-color: #c3c3c3; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:hover, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:active, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:focus {
      box-shadow: initial; }
      body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:hover span::before, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:active span::before, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:focus span::before {
        color: #54483c; }
  body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton {
    border-radius: 0.313rem;
    padding: 15px 25px;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25);
    font-size: 14px !important;
    line-height: 1.2;
    text-decoration: none;
    font-weight: 400;
    min-width: 130px; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton:hover span::before, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton:active span::before, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton:focus span::before {
      -moz-transition: 0.2s;
      -o-transition: 0.2s;
      -webkit-transition: 0.2s;
      transition: 0.2s; }
  body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert,
  body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl {
    background-color: transparent;
    color: #9d9d9d;
    border: unset;
    text-transform: uppercase;
    font-size: 13px;
    font-family: "Montserrat", sans-serif; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert span::before,
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl span::before {
      padding-right: 3px; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert::after,
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl::after {
      content: '';
      display: block;
      height: 1px;
      width: 100%;
      margin: 0 auto;
      margin-top: 6px;
      opacity: 0; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert:hover::after, body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert:focus::after, body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert:active::after,
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl:hover::after,
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl:focus::after,
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl:active::after {
      background-color: #9d9d9d;
      opacity: 1;
      -moz-transition: opacity 0.3s ease-in-out;
      -o-transition: opacity 0.3s ease-in-out;
      -webkit-transition: opacity 0.3s ease-in-out;
      transition: opacity 0.3s ease-in-out; }
  body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert {
    margin-top: 25px !important; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert span::before {
      font-family: "Font Awesome 5 free";
      color: #9d9d9d;
      font-weight: 900;
      content: '\f013'; }
  body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl span::before {
    font-family: "Font Awesome 5 free";
    color: #9d9d9d;
    font-weight: 900;
    content: '\f023'; }
  body #tarteaucitronRoot #tarteaucitronServices {
    border-radius: 5px;
    font-family: "Montserrat", sans-serif;
    background-color: #fff;
    margin-top: 5px;
    padding-bottom: 15px;
    /**** STYLES DES BOUTONS DE LA POP UP COOKIE *****/ }
    body #tarteaucitronRoot #tarteaucitronServices button::before {
      font: normal normal normal 14px/1 FontAwesome; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronDetails {
      background: #ededed;
      color: #000;
      box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25);
      margin-left: 13px; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine {
      background-color: #fff;
      border-color: transparent !important;
      padding-bottom: 15px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine:active {
        background-color: #fff; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH1, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH2 {
        font-weight: 400; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH1 {
        color: #111; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH2 {
        color: #9d9d9d;
        margin-left: 33px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo {
        background-color: #fff;
        color: #111;
        border: none;
        line-height: 1.6em; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog {
          background-color: transparent;
          font-size: 16px;
          color: #9d9d9d;
          text-transform: uppercase; }
          body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog::before {
            font-family: "Font Awesome 5 free";
            color: #9d9d9d;
            font-weight: 900;
            content: '\f023';
            padding-right: 3px; }
          body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog::after {
            content: '';
            display: block;
            height: 1px;
            width: 100%;
            margin: 0 auto;
            margin-top: 6px;
            opacity: 0; }
          body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog:hover::after, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog:focus::after, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog:active::after {
            background-color: #9d9d9d;
            opacity: 1;
            -moz-transition: opacity 0.3s ease-in-out;
            -o-transition: opacity 0.3s ease-in-out;
            -webkit-transition: opacity 0.3s ease-in-out;
            transition: opacity 0.3s ease-in-out; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder {
      border-color: transparent !important;
      border-top: 2px solid #dfdfdf !important;
      margin: 20px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronTitle,
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronLine {
        background-color: #fff; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronTitle:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronTitle:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronTitle:active,
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronLine:hover,
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronLine:focus,
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronLine:active {
          background-color: #fff; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronTitle > button {
        color: #000;
        padding: 5px 15px;
        font-size: 16px;
        font-weight: 400; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronName .tarteaucitronH3, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronName .tarteaucitronListCookies {
        font-size: 14px;
        line-height: 1.6em;
        display: inline; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronName .tarteaucitronListCookies {
        color: #b9b9b9;
        position: relative;
        padding-left: 15px; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronName .tarteaucitronListCookies:before {
          content: '-';
          position: absolute;
          left: 4px;
          top: -1px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronAsk {
        margin-right: 4px;
        padding-bottom: 15px;
        padding-top: 10px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder #tarteaucitronServicesTitle_mandatory {
        margin-top: 15px; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder #tarteaucitronServicesTitle_mandatory .tarteaucitronListCookies::before {
          content: ''; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed,
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied {
      border-radius: 0.313rem;
      padding: 15px 25px;
      box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25);
      font-size: 14px !important;
      line-height: 1.2;
      text-decoration: none;
      font-weight: 400;
      min-width: 125px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:active, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:active, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:focus,
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover,
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:active,
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:active, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:focus {
        -moz-transition: 0.2s;
        -o-transition: 0.2s;
        -webkit-transition: 0.2s;
        transition: 0.2s; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:active span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:focus span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:active span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:focus span::before,
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover span::before,
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:active span::before,
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:focus span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:active span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:focus span::before {
          -moz-transition: 0.2s;
          -o-transition: 0.2s;
          -webkit-transition: 0.2s;
          transition: 0.2s; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow {
      color: #fff !important;
      background-color: #909090; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:hover {
        color: #54483c !important; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:hover {
        background-color: #c3c3c3; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:disabled {
        color: #fff !important;
        background-color: #909090; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:disabled:hover {
          color: #fff !important; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:disabled:hover {
          background-color: #909090; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:disabled:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:disabled:active span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:disabled:focus span::before {
          color: #fff; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:active span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:focus span::before {
        color: #54483c; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed {
      border: 2px solid #9d9d9d;
      color: #fff !important;
      background-color: #9d9d9d; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:hover {
        border: 2px solid rgba(195, 195, 195, 0); }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:hover {
        color: #54483c !important; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:hover {
        background-color: #c3c3c3; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied {
      border: 2px solid #9d9d9d;
      box-shadow: none; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover {
        border: 2px solid rgba(0, 0, 0, 0); }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied {
      color: #111 !important;
      background-color: white;
      margin-left: 10px;
      margin-right: 10px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover {
        color: #54483c !important; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover {
        background-color: #c3c3c3; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:disabled, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:disabled {
        background-color: rgba(245, 132, 34, 0.2);
        box-shadow: none; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:active, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:active {
        box-shadow: none; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:focus span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:active span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:focus span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:active span::before {
          -moz-transition: 0.2s;
          -o-transition: 0.2s;
          -webkit-transition: 0.2s;
          transition: 0.2s;
          color: #54483c; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed #tarteaucitronAllAllowed {
      background-color: #909090;
      color: #fff; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed #tarteaucitronAllAllowed {
      border-color: #909090; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied #tarteaucitronAllDenied {
      background-color: #909090;
      color: #fff !important;
      box-shadow: none;
      border-color: transparent; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied #tarteaucitronAllDenied span::before {
        color: #fff; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronAllow {
      background-color: #9d9d9d; }
    body #tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected {
      background-color: #909090; }
    body #tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected {
      background-color: #909090; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAllow:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAllow:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAllow:active,
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronDeny:hover,
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronDeny:focus,
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronDeny:active {
      opacity: 1 !important; }
  body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
    background: #fff;
    color: #9d9d9d;
    font-size: 14px;
    text-transform: uppercase;
    padding: 15px;
    right: 5px;
    top: 28px;
    z-index: 100;
    width: 100px; }
    body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel .close-cookie-x {
      color: #9d9d9d;
      padding: 5px;
      width: 9px;
      background-image: url("../images/close.png");
      background-repeat: no-repeat;
      background-position: center center;
      display: inline-block; }

#tarteaucitronManager {
  -webkit-appearance: initial; }

/*** Tableau cookie ***/
.cw-table-container .cw-tab-cookie thead tr td {
  text-align: left; }

.cw-table-container .cw-tab-cookie tbody tr td p {
  text-align: left; }

@media (max-width: 1199.98px) {
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronDeny {
    display: none !important; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
    position: relative; }
  html body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder {
    padding-bottom: 40px; }
  /*** Tableau cookie ***/
  .cw-table-container .cw-tab-cookie tbody tr td:before {
    font-weight: 600;
    font-size: 18px; }
  .cw-table-container .cw-tab-cookie tbody tr td:nth-child(1):before {
    content: "- Nom du cookie -"; }
  .cw-table-container .cw-tab-cookie tbody tr td:nth-child(2):before {
    content: "- Editeur du cookie -"; }
  .cw-table-container .cw-tab-cookie tbody tr td:nth-child(3):before {
    content: "- Finalite / Fonction -"; }
  .cw-table-container .cw-tab-cookie tbody tr td:nth-child(4):before {
    content: "- Conservation -"; } }

@media (min-width: 768px) {
  body #tarteaucitronRoot button {
    margin-top: 0px !important; }
  body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed,
  body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied {
    padding: 15px 7px; }
  body #tarteaucitronRoot span#tarteaucitronDisclaimerAlert .cookie-big-txt {
    font-size: 24px; } }

@media (min-width: 768px) {
  body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed,
  body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied {
    padding: 15px 25px; }
  /*** Tableau cookie ***/
  .cw-table-container .cw-tab-cookie tbody tr td {
    white-space: unset !important;
    text-align: left !important;
    width: 25% !important; }
  .cw-table-container .cw-tab-cookie tbody tr td:nth-child(0n+1),
  .cw-table-container .cw-tab-cookie tbody tr td:nth-child(0n+2),
  .cw-table-container .cw-tab-cookie tbody tr td:last-child {
    max-width: 15%; } }

.form-rgpd input.form-rgpd {
  margin-top: 1px; }

.form-rgpd label {
  font-size: 12px;
  line-height: 1.3em;
  color: #747474; }

.rappel-gratuit .content form .webform-component--telephone,
.flottant-rappel-gratuit .content form .webform-component--telephone,
.flottant-reservation .content form .webform-component--telephone {
  margin-bottom: 5px; }

.rappel-gratuit .form-rgpd input.form-rgpd,
.flottant-rappel-gratuit .form-rgpd input.form-rgpd,
.flottant-reservation .form-rgpd input.form-rgpd {
  margin-top: -3px; }

.field--name-field-avt-aprs-container-bloc {
  padding: 3rem 0 0; }

.avant-apres-galerie-photo {
  display: flex;
  justify-content: center; }

.beer-slider {
  display: inline-block;
  position: relative;
  overflow: hidden;
  margin: 0 15px 30px;
  border-radius: 0.313rem;
  max-width: 540px; }
  .beer-slider *, .beer-slider:before, .beer-slider:after,
  .beer-slider *:before,
  .beer-slider *:after {
    box-sizing: border-box; }
  .beer-slider img, .beer-slider svg {
    vertical-align: bottom; }
  .beer-slider > * {
    height: 100%; }
  .beer-slider > img {
    max-width: 100%;
    height: auto; }

.beer-reveal {
  position: absolute;
  left: 0;
  top: 0;
  right: 50%;
  overflow: hidden;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.35s; }
  .beer-reveal > :first-child {
    width: 200%;
    max-width: none;
    height: 100%; }
  .beer-reveal > img:first-child {
    height: auto; }

.beer-range {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  height: 100%;
  margin: 0;
  left: -1px;
  width: calc(100% + 2px);
  cursor: pointer;
  -webkit-appearance: slider-horizontal !important;
  -moz-appearance: none;
  opacity: 0;
  -ms-touch-action: auto;
  touch-action: auto; }
  .beer-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 300vh; }
  .beer-range::-moz-range-thumb {
    -webkit-appearance: none;
    height: 300vh; }
  .beer-range::-ms-tooltip {
    display: none; }

.beer-handle {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  color: #000;
  background: rgba(255, 255, 255, 0.5);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0);
  transition: background 0.3s, box-shadow 0.3s, opacity 0.5s 0.25s; }
  .beer-handle:before, .beer-handle:after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    top: 50%;
    border-top: solid 2px;
    border-left: solid 2px;
    transform-origin: 0 0; }
  .beer-handle:before {
    left: 10px;
    transform: rotate(-45deg); }
  .beer-handle:after {
    right: 0;
    transform: rotate(135deg); }

.beer-range:focus ~ .beer-handle {
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.4); }

.beer-slider[data-beer-label]:after,
.beer-reveal[data-beer-label]:after {
  content: attr(data-beer-label);
  position: absolute;
  top: 1.5rem;
  line-height: 1;
  padding: 0.5rem;
  border-radius: 0.125rem;
  background: rgba(255, 255, 255, 0.75); }

.beer-slider[data-beer-label]:after {
  right: 1.5rem; }

.beer-reveal[data-beer-label]:after {
  left: 1.5rem; }

.beer-slider[data-beer-label=""]:after,
.beer-reveal[data-beer-label=""]:after {
  content: none; }

.beer-ready .beer-reveal, .beer-ready .beer-handle {
  opacity: 1; }

.avisgo {
  color: #343434; }

.avisgo-background {
  background-color: white;
  box-shadow: 3px 17px 20px 7px #1a468f12; }

.avisgo-border {
  border: 1px solid #fff; }

.avisgo-avis-note b {
  color: #f68200; }

.avisgo-avis .avisgo-avis-title a {
  color: #343434; }

.node--type-partenaire #block-cw-sass-bs4-content {
  text-align: center; }
  .node--type-partenaire #block-cw-sass-bs4-content img {
    margin: auto;
    padding: 20px; }

.bloc-partenaire {
  box-sizing: border-box;
  width: 100%;
  padding: 70px 0 85px;
  background-color: #f9f9f9; }
  .bloc-partenaire .title-h2 {
    margin-top: 0;
    margin-bottom: 50px;
    color: #111;
    text-align: center; }
    .bloc-partenaire .title-h2:after {
      display: block;
      content: "";
      height: 5px;
      background: #007FFF;
      margin: 10px auto 23px;
      position: relative;
      width: 90px;
      max-width: 100%; }
  .bloc-partenaire .view-content {
    height: 140px;
    width: 230px;
    margin: 0 auto; }
    .bloc-partenaire .view-content .item-list {
      height: 140px;
      overflow: hidden; }
    .bloc-partenaire .view-content ul {
      display: flex;
      align-items: center;
      position: relative;
      padding: 0;
      margin: 0; }
      .bloc-partenaire .view-content ul li {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100px;
        width: 43%;
        padding: 20px;
        margin: 20px;
        text-align: center;
        background-color: #f9f9f9;
        box-shadow: 0 0 0 rgba(0, 0, 0, 0);
        border-radius: 0.313rem; }
        .bloc-partenaire .view-content ul li a {
          pointer-events: none; }
        .bloc-partenaire .view-content ul li img {
          max-height: 60px;
          width: auto; }

@media (min-width: 768px) {
  .bloc-partenaire .view-content {
    width: 690px; } }

@media (min-width: 1200px) {
  .bloc-partenaire .view-content {
    width: 1150px;
    margin: 0 auto; } }

@media (min-width: 1200px) and (max-width: 1300px) {
  .bloc-partenaire .view-content {
    width: 920px; } }

/********* HEADER FRONT *********/
.jumbotron-slogan.slogan-2 {
  font-size: 1.6rem;
  margin-top: 1rem; }

@media (min-width: 992px) {
  .jumbotron-slogan.slogan-2 {
    font-size: 2rem;
    margin-top: 0.75rem; }
  .not-front .jumbotron-slogan.slogan-2 {
    font-size: 1.5rem !important;
    margin-top: 0.25rem; } }

@media (min-width: 992px) and (max-width: 1610px) {
  .region-jumbotron .jumbotron-bloc-principal {
    width: 90%; }
  .region-jumbotron {
    background-position-x: 10%; } }

@media (max-width: 991.98px) {
  .region-jumbotron:after {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.52) 50%, rgba(0, 0, 0, 0) 100%) !important; }
  .not-front .jumbotron-bloc-principal:after {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.43) 100%) !important; }
  .jumbotron-bloc-principal .field {
    align-items: center; }
  .region-jumbotron .jumbotron-bloc-principal {
    text-align: center !important;
    width: 85%; } }

@media (max-width: 480px) {
  .jumbotron-slogan {
    font-size: 1.65rem; }
  .jumbotron-slogan.slogan-2 {
    font-size: 1.25rem; } }

/********* HEADER NOT FRONT *********/
@media (min-width: 992px) {
  .not-front .jumbotron-bloc-principal-child-2 {
    flex: 0.45 !important; }
    .not-front .jumbotron-bloc-principal-child-2 .jumbotron-bouton-1 a {
      margin: 0 !important; }
      .not-front .jumbotron-bloc-principal-child-2 .jumbotron-bouton-1 a:first-child {
        margin-bottom: 25px !important; }
  .not-front .region-jumbotron .jumbotron-bloc-principal {
    max-width: 940px; } }

@media (min-width: 992px) and (max-width: 1400px) {
  .not-front .jumbotron-bloc-principal-child-1 {
    padding-right: 20px; }
  .not-front .region-jumbotron .jumbotron-bloc-principal {
    width: 90%; } }

/********* NAVBAR *********/
@media (max-width: 480px) {
  .navbar .navbar-logo img {
    max-width: 110px; } }

/********* BLOC INFOS *********/
/********* BLOC ACTU *********/
/********* BLOC FLOTTANT ********/
.flb-block .flb-title {
  border-radius: 0; }
  .flb-block .flb-title .flb-label {
    font-weight: 500;
    font-size: 18px; }

@media (max-width: 480px) {
  .flb-block .flb-content {
    max-height: 100vh; }
  .flb-block {
    top: 230px !important; } }

/********* H1 *********/
@media (max-width: 991.98px) {
  h1.title {
    margin: 0 0 20px; } }

h1.title {
  margin: 0 0 35px; }

/********* DAMIER *********/
.cw-damier h2 span {
  margin-bottom: 0 !important; }

.cw-damier .damier-style-two .col-txt-one p {
  color: #111; }

.cw-imgs-puzzle .img-background:hover .show-more {
  background-color: rgba(0, 0, 0, 0.95); }

.cw-damier .btn-slide span {
  font-family: "Montserrat", sans-serif;
  bottom: 3px; }
  @media (min-width: 576px) {
    .cw-damier .btn-slide span {
      color: #383838; } }

@media (min-width: 1600px) {
  .cw-damier .damier-style-one [class*="col-txt-"], .cw-damier .damier-style-one .col-img.col-img-center, .cw-damier .damier-style-two [class*="col-txt-"], .cw-damier .damier-style-two .col-img.col-img-center, .cw-damier .damier-style-three [class*="col-txt-"], .cw-damier .damier-style-three .col-img.col-img-center {
    padding: 4rem 80px; } }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .cw-damier [class*="col-txt-"], .cw-damier .col-img.col-img-center {
    padding: 4rem 35px; } }

/********* BOUTONS **********/
/********* BLOC SHARETHIS **********/
.block-call-to-action .cta-number {
  margin: 15px 0 30px !important; }

.block-addtoany.cw-py {
  padding-top: 2.25rem !important; }

/********* BLOC POINTS FORTS *********/
@media (min-width: 1200px) {
  .cw-pictos > div {
    min-width: 290px; } }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .cw-pictos > div {
    min-width: 270px; } }

@media (max-width: 991.98px) {
  .cw-pictos > div {
    margin: 25px 10px !important;
    min-width: 300px; } }

@media (max-width: 767.98px) {
  .cw-pictos > div {
    margin: 25px 72px !important; } }

@media (max-width: 480px) {
  .cw-pictos > div {
    margin: 25px 10px !important; }
    .cw-pictos > div .picto-legende {
      font-size: 1.15rem; } }

@media (max-width: 991.98px) {
  .block-forces .container-sm, .block-forces .container-md, .block-forces .container-lg, .block-forces .container-xxl, .block-references .container-sm, .block-references .container-md, .block-references .container-lg, .block-references .container-xxl, .parallax .container-sm, .parallax .container-md, .parallax .container-lg, .parallax .container-xxl {
    max-width: 730px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; } }

/********* BLOC REFERENCES *********/
/********* BLOC PARALLAX *********/
/*@media (max-width: 991px){
  .block-parallax-front{
    background-size: 330% !important;
    background-attachment: fixed;
    .cw-py{
      padding-top: 1.5rem !important;
      padding-bottom: 1.5rem !important;
    }
  }
}*/
@media (max-width: 480px) {
  .block-parallax-front {
    background-size: 270% !important; } }

/********* BLOC AVIS GOOGLE *********/
/********* BLOC AVISGO *********/
/********* CARTOUCHE FOOTER *********/
.ft-slogan strong {
  font-size: 1.75rem;
  font-weight: 500; }

@media (max-width: 1250px) {
  .ft-logo img {
    max-width: 100% !important; } }

/********* BLOC FORMULAIRE FOOTER ************/
/********* BLOC MAP *********/
/********* BLOC BOTTOM *********/
/********* CARDS ARTICLE *********/
/********* PAGES NOT-FRONT ***********/
/********* DIVERS ET CORRECTIONS ************/
ul.cw-inline-ul li a:before {
  color: #007FFF; }

.cw-follow-us-only a strong {
  font-weight: 500;
  font-size: 24px; }

.cw-follow-us-various {
  font-family: "Oswald", sans-serif;
  font-size: 1.125rem; }
  .cw-follow-us-various b {
    font-weight: 500; }

.breadcrumb-item.active {
  color: #007FFF; }

.cw-boxshadow-2 {
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.25); }

.cw-boxradius-2 {
  border-radius: 15px !important; }

.field--name-body ul:not([class*="cw-inline-ul"]) li:before {
  margin-right: 7px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvX2NvbXBhc3Muc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9mdW5jdGlvbnMvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2Z1bmN0aW9ucy9fY3Jvc3NfYnJvd3Nlcl9zdXBwb3J0LnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2Z1bmN0aW9ucy9fZ3JhZGllbnRfc3VwcG9ydC5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9mdW5jdGlvbnMvX2NvbnN0YW50cy5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9mdW5jdGlvbnMvX2Rpc3BsYXkuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19jb2xvcnMuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9jb2xvci9fY29udHJhc3Quc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL19nZW5lcmFsLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19yZXNldC5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9yZXNldC9fdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvZ2VuZXJhbC9faGFja3Muc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX3N1cHBvcnQuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL190YWctY2xvdWQuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX21pbi5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvX3Nwcml0ZXMuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL3Nwcml0ZXMvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL3Nwcml0ZXMvX3Nwcml0ZS1pbWcuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL190YWJsZXMuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL3RhYmxlcy9fYWx0ZXJuYXRpbmctcm93cy1hbmQtY29sdW1ucy5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvdGFibGVzL19ib3JkZXJzLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy90YWJsZXMvX3NjYWZmb2xkaW5nLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvbGlua3MvX2hvdmVyLWxpbmsuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9saW5rcy9fbGluay1jb2xvcnMuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9saW5rcy9fdW5zdHlsZWQtbGluay5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L19saXN0cy5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19ob3Jpem9udGFsLWxpc3Quc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9saXN0cy9fYnVsbGV0cy5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19pbmxpbmUtbGlzdC5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19pbmxpbmUtYmxvY2stbGlzdC5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19pbmxpbmUtYmxvY2suc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fc2hhcmVkLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvX3RleHQuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS90ZXh0L19lbGxpcHNpcy5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX25vd3JhcC5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX3JlcGxhY2VtZW50LnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvdGV4dC9fZm9yY2Utd3JhcC5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L192ZXJ0aWNhbF9yaHl0aG0uc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvbGF5b3V0L19ncmlkLWJhY2tncm91bmQuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9faW1hZ2VzLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtc2l6ZS5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9fY3NzMy5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX29wYWNpdHkuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190ZXh0LXNoYWRvdy5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19jb2x1bW5zLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JveC1zaXppbmcuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYm94LnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtY2xpcC5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19iYWNrZ3JvdW5kLW9yaWdpbi5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19mb250LWZhY2Uuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19yZWdpb25zLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2h5cGhlbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2ZpbHRlci5zY3NzIiwiLi4vLi4vLi4vLi4vX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19waWUuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdXNlci1pbnRlcmZhY2Uuc2NzcyIsIi4uLy4uLy4uLy4uL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fZmxleGJveC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsInZhcmlhYmxlcy9fdmFyaWFibGVzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19vcHRpb25zLnNjc3MiLCJ2YXJpYWJsZXMvX29wdGlvbnMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2NvbG9yLXN5c3RlbS5zY3NzIiwidmFyaWFibGVzL19jb2xvcnMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX3NwYWNpbmcuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2dyaWQuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2NvbXBvbmVudHMuc2NzcyIsInZhcmlhYmxlcy9fc2l6ZXMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX3R5cG9ncmFwaHkuc2NzcyIsInZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC1jdy9fdGFibGVzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19idXR0b25zLWZvcm1zLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19idXR0b25zLnNjc3MiLCJ2YXJpYWJsZXMvX2J1dHRvbnMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2Zvcm1zLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19uYXYtbmF2YmFyLnNjc3MiLCJ2YXJpYWJsZXMvX25hdmJhci5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC1jdy9fZHJvcGRvd25zLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19wYWdpbmF0aW9uLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19qdW1ib3Ryb24uc2NzcyIsInZhcmlhYmxlcy9fanVtYm90cm9uLnNjc3MiLCJ2YXJpYWJsZXMvX2p1bWJvdHJvbi1hbmRyb21lZGUuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2NhcmRzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L190b2FzdHMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2JyZWFkY3J1bWJzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19jYXJvdXNlbC5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC1jdy9pbXBvcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19kZXByZWNhdGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdXRpbGl0aWVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2VtYmVkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9faW50ZXJhY3Rpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19vdmVyZmxvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJpbnQuc2NzcyIsInRvb2xzL19taXhpbi5zY3NzIiwidG9vbHMvX21peGluLWJ1dHRvbnMuc2NzcyIsInRvb2xzL19idXR0b25zLXdpZHRoLnNjc3MiLCJ0b29scy9fb3BhY2l0eS5zY3NzIiwidG9vbHMvX2J1dHRvbnMuc2NzcyIsInRvb2xzL19jdy1hbGlnbi5zY3NzIiwidG9vbHMvX2N3LWJveC5zY3NzIiwidG9vbHMvcXVlcmllcy9fY3ctYm94LnNjc3MiLCJ0b29scy9fY3ctbW9kZWwuc2NzcyIsInRvb2xzL3F1ZXJpZXMvX2N3LW1vZGVsLnNjc3MiLCJ0b29scy9fY3ctc2hhcGUtZGl2aWRlci5zY3NzIiwidG9vbHMvX2N3LXNwYWNpbmcuc2NzcyIsInRvb2xzL19jdy10b29scy5zY3NzIiwidG9vbHMvX2N3LXR4dC5zY3NzIiwidG9vbHMvcXVlcmllcy9fY3ctdHh0LnNjc3MiLCJ0b29scy9fY3ctY2hpbGRyZW4uc2NzcyIsInRvb2xzL19jdy1jbGlwLXBhdGguc2NzcyIsInRvb2xzL19jb2xvcmJveC5zY3NzIiwidG9vbHMvX2FuaW1fZm9ybS5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL19hbmltYXRlLnNjc3MiLCJ0b29scy9hbmltYXRpb24vX2NvcmUuc2NzcyIsInRvb2xzL2FuaW1hdGlvbi9fc2hhcmVkLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9fYXR0ZW50aW9uLXNlZWtlcnMuc2NzcyIsInRvb2xzL2FuaW1hdGlvbi9hbmltYXRlL19ib3VuY2luZy5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL2FuaW1hdGUvYm91bmNpbmcvX2JvdW5jaW5nLWV4aXRzLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9ib3VuY2luZy9fYm91bmNpbmctZW50cmFuY2VzLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9fZmFkaW5nLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9mYWRpbmcvX2ZhZGluZy1leGl0cy5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL2FuaW1hdGUvZmFkaW5nL19mYWRpbmctZW50cmFuY2VzLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9fZmxpcHBlcnMuc2NzcyIsInRvb2xzL2FuaW1hdGlvbi9hbmltYXRlL19saWdodHNwZWVkLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9fcm90YXRpbmcuc2NzcyIsInRvb2xzL2FuaW1hdGlvbi9hbmltYXRlL3JvdGF0aW5nL19yb3RhdGluZy1leGl0cy5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL2FuaW1hdGUvcm90YXRpbmcvX3JvdGF0aW5nLWVudHJhbmNlcy5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL2FuaW1hdGUvX3NwZWNpYWxzLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1ib2R5LWRlZmF1bHQuc2NzcyIsImdhYmFyaXRzL2NvbnRlbnQvcXVlcmllcy9fY3ctYm9keS1kZWZhdWx0LnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1icmVhZGNydW1iLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1jYXJkLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1jYXJkLWFuZHJvbWVkZS5zY3NzIiwiZ2FiYXJpdHMvY29udGVudC9fY3ctY2FyZC1ib2RlLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1jYXJkLWZpbGUuc2NzcyIsImdhYmFyaXRzL2NvbnRlbnQvX2N3LWNvbmZpZy1jYXJkLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1jb250ZXh0LnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1kYW1pZXIuc2NzcyIsImdhYmFyaXRzL2NvbnRlbnQvcXVlcmllcy9fY3ctZGFtaWVyLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1kYW1pZXItcGFyYWdyYXBoLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L3F1ZXJpZXMvX2N3LWRhbWllci1wYXJhZ3JhcGguc2NzcyIsImdhYmFyaXRzL2NvbnRlbnQvX2N3LWRhbWllci1udW1iZXJzLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1ncmlkLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy10aW1lbGluZS5zY3NzIiwiZ2FiYXJpdHMvY29udGVudC9fY3ctYWNjb3JkaW9uLnNjc3MiLCJnYWJhcml0cy9oZWFkZXJzL19uYXZiYXIuc2NzcyIsImdhYmFyaXRzL2hlYWRlcnMvcXVlcmllcy9fbmF2YmFyLnNjc3MiLCJnYWJhcml0cy9oZWFkZXJzL19uYXZiYXItb3B0aW9ucy5zY3NzIiwiZ2FiYXJpdHMvaGVhZGVycy9fY2Fyb3VzZWwuc2NzcyIsImdhYmFyaXRzL2hlYWRlcnMvX2p1bWJvdHJvbi5zY3NzIiwiZ2FiYXJpdHMvaGVhZGVycy9qdW1ib3Ryb24tYW5kcm9tZWRlL19qdW1ib3Ryb24tYW5kcm9tZWRlLnNjc3MiLCJnYWJhcml0cy9oZWFkZXJzL2p1bWJvdHJvbi1hbmRyb21lZGUvX2p1bWJvdHJvbi1hbmRyb21lZGUtbmF2YmFyLnNjc3MiLCJnYWJhcml0cy9oZWFkZXJzL2p1bWJvdHJvbi1hbmRyb21lZGUvX2p1bWJvdHJvbi1hbmRyb21lZGUtYmxvYy1pbmZvcy5zY3NzIiwiZ2FiYXJpdHMvaGVhZGVycy9qdW1ib3Ryb24tYW5kcm9tZWRlL19qdW1ib3Ryb24tYW5kcm9tZWRlLWNhcm91c2VsLnNjc3MiLCJnYWJhcml0cy9mb290ZXJzL19mb290ZXIuc2NzcyIsImdhYmFyaXRzL2Zvb3RlcnMvX2Zvb3Rlci1hbmRyb21lZGUuc2NzcyIsImdhYmFyaXRzL2JvdHRvbXMvX2JvdHRvbS1kZWZhdWx0LnNjc3MiLCJtb2R1bGVzL19yZWJvb3Quc2NzcyIsIm1vZHVsZXMvX2FkbWluLnNjc3MiLCJtb2R1bGVzL19jb250ZW50LnNjc3MiLCJtb2R1bGVzL19hZGR0b2FueS5zY3NzIiwibW9kdWxlcy9fY2FsbC10b2FjdGlvbi5zY3NzIiwibW9kdWxlcy9fcGFyYWxsYXguc2NzcyIsIm1vZHVsZXMvcXVlcmllcy9fcGFyYWxsYXguc2NzcyIsIm1vZHVsZXMvX2ZlYXR1cmVkLnNjc3MiLCJtb2R1bGVzL19tYXAuc2NzcyIsIm1vZHVsZXMvcXVlcmllcy9fbWFwLnNjc3MiLCJtb2R1bGVzL19tYXAtd2l0aC1jb250ZW50LnNjc3MiLCJtb2R1bGVzL19mb3JtLnNjc3MiLCJtb2R1bGVzL19hY3R1YWxpdGVzLnNjc3MiLCJtb2R1bGVzL3F1ZXJpZXMvX2FjdHVhbGl0ZXMuc2NzcyIsIm1vZHVsZXMvX2dhbGVyaWUuc2NzcyIsIm1vZHVsZXMvcXVlcmllcy9fZ2FsZXJpZS5zY3NzIiwibW9kdWxlcy9fZ29vZ2xlLXJldmlld3Muc2NzcyIsIm1vZHVsZXMvX21hc29ucnkuc2NzcyIsIm1vZHVsZXMvcXVlcmllcy9fbWFzb25yeS5zY3NzIiwibW9kdWxlcy9fbXVsdGktYmxvYy5zY3NzIiwibW9kdWxlcy9fc29yZWYuc2NzcyIsIm1vZHVsZXMvcXVlcmllcy9fc29yZWYuc2NzcyIsIm1vZHVsZXMvX2Zsb2F0LWJsb2NrLnNjc3MiLCJtb2R1bGVzL3F1ZXJpZXMvX2Zsb2F0LWJsb2NrLnNjc3MiLCJtb2R1bGVzL19wYWdpbmF0aW9uLnNjc3MiLCJtb2R1bGVzL19jb29raWUtcmdwZC5zY3NzIiwibW9kdWxlcy9fYXZhbnQtYXByZXMuc2NzcyIsIm1vZHVsZXMvX2F2aXNnb19jb25maWcuc2NzcyIsIm1vZHVsZXMvX3BhcnRlbmFpcmVzLnNjc3MiLCJtb2R1bGVzL3F1ZXJpZXMvX3BhcnRlbmFpcmVzLnNjc3MiLCJfc3VyY2hhcmdlLWRldi5zY3NzIiwiX3N1cmNoYXJnZS1wcm9kLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29tcGFzcyBtaXhpbnNcbkBpbXBvcnQgXCJjb21wYXNzXCI7XG5cbi8vQGltcG9ydCB1cmwoZm9udC1hd2Vzb21lLm1pbi5jc3MpO1xuXG4vLyB2YXJpYWJsZXMuXG5AaW1wb3J0IFwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiOyAvL2Jvb3RzdHJhcFxuQGltcG9ydCBcInZhcmlhYmxlcy92YXJpYWJsZXNcIjsgLy9jd1xuQGltcG9ydCBcInZhcmlhYmxlcy9ib290c3RyYXAtY3cvaW1wb3J0XCI7IC8vYm9vdHN0cmFwXG4vL0BpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvbWRib290c3RyYXAvc2Nzcy9tZGItZnJlZS5zY3NzXCI7IC8vbWF0ZXJpYWwgZGVzaWduIGJvb3RzdHJhcFxuXG4vLyBDVyBNaXhpblxuQGltcG9ydCBcInRvb2xzL21peGluXCI7XG5AaW1wb3J0IFwidG9vbHMvbWl4aW4tYnV0dG9uc1wiO1xuQGltcG9ydCBcInRvb2xzL2J1dHRvbnMtd2lkdGhcIjtcbkBpbXBvcnQgXCJ0b29scy9vcGFjaXR5XCI7XG5cbi8vIENXIFRvb2xzLlxuQGltcG9ydCBcInRvb2xzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJ0b29scy9jdy1hbGlnblwiO1xuQGltcG9ydCBcInRvb2xzL2N3LWJveFwiO1xuQGltcG9ydCBcInRvb2xzL2N3LW1vZGVsXCI7XG5AaW1wb3J0IFwidG9vbHMvY3ctc2hhcGUtZGl2aWRlclwiO1xuQGltcG9ydCBcInRvb2xzL2N3LXNwYWNpbmdcIjtcbkBpbXBvcnQgXCJ0b29scy9jdy10b29sc1wiO1xuQGltcG9ydCBcInRvb2xzL2N3LXR4dFwiO1xuQGltcG9ydCBcInRvb2xzL2N3LWNoaWxkcmVuXCI7XG5AaW1wb3J0IFwidG9vbHMvY3ctY2xpcC1wYXRoXCI7XG5AaW1wb3J0IFwidG9vbHMvY29sb3Jib3hcIjtcbkBpbXBvcnQgXCJ0b29scy9hbmltX2Zvcm1cIjtcbkBpbXBvcnQgXCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZVwiO1xuXG4vLyBHYWJhcml0c1xuQGltcG9ydCBcImdhYmFyaXRzL2NvbnRlbnQvY3ctYm9keS1kZWZhdWx0XCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1jYXJkXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1jYXJkLWFuZHJvbWVkZVwiO1xuQGltcG9ydCBcImdhYmFyaXRzL2NvbnRlbnQvY3ctY2FyZC1ib2RlXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1jYXJkLWZpbGVcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWNvbmZpZy1jYXJkXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1jb250ZXh0XCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1kYW1pZXJcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWRhbWllci1wYXJhZ3JhcGhcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWRhbWllci1udW1iZXJzXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1ncmlkXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy10aW1lbGluZVwiO1xuQGltcG9ydCBcImdhYmFyaXRzL2NvbnRlbnQvY3ctYWNjb3JkaW9uXCI7XG5cbi8vIENhdGFsb2d1ZSBIZWFkZXJzXG5AaW1wb3J0IFwiZ2FiYXJpdHMvaGVhZGVycy9uYXZiYXJcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9oZWFkZXJzL25hdmJhci1vcHRpb25zXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvaGVhZGVycy9jYXJvdXNlbFwiO1xuQGltcG9ydCBcImdhYmFyaXRzL2hlYWRlcnMvanVtYm90cm9uXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvaGVhZGVycy9qdW1ib3Ryb24tYW5kcm9tZWRlL2p1bWJvdHJvbi1hbmRyb21lZGVcIjtcbi8vQGltcG9ydCBcImdhYmFyaXRzL2hlYWRlcnMvanVtYm90cm9uLWJvZGUvanVtYm90cm9uLWJvZGVcIjsgLyooZMOpY29tbWVudGVyIEBpbXBvcnQgXCJqdW1ib3Ryb24tYm9kZVwiOyBkYW5zIF92YXJpYWJsZXMuc2NzcykqL1xuXG4vLyBDYXRhbG9ndWUgRm9vdGVyc1xuQGltcG9ydCBcImdhYmFyaXRzL2Zvb3RlcnMvZm9vdGVyXCI7XG4vL0BpbXBvcnQgXCJnYWJhcml0cy9mb290ZXJzL2Zvb3Rlci1kZWZhdWx0XCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvZm9vdGVycy9mb290ZXItYW5kcm9tZWRlXCI7XG5cbi8vIENhdGFsb2d1ZSBCb3R0b21cbkBpbXBvcnQgXCJnYWJhcml0cy9ib3R0b21zL2JvdHRvbS1kZWZhdWx0XCI7XG5cbi8vIENXIFRoZW1pbmdcbkBpbXBvcnQgXCJtb2R1bGVzL3JlYm9vdFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvYWRtaW5cIjtcblxuQGltcG9ydCBcIm1vZHVsZXMvY29udGVudFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvYWRkdG9hbnlcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2NhbGwtdG9hY3Rpb25cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhcmFsbGF4XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9mZWF0dXJlZFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvbWFwXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9tYXAtd2l0aC1jb250ZW50XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9mb3JtXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9hY3R1YWxpdGVzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9nYWxlcmllXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9nb29nbGUtcmV2aWV3c1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvbWFzb25yeVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvbXVsdGktYmxvY1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvc29yZWZcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Zsb2F0LWJsb2NrXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jb29raWUtcmdwZFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvYXZhbnQtYXByZXNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2F2aXNnb19jb25maWdcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhcnRlbmFpcmVzXCI7XG5cbi8vIFN1cmNoYXJnZVxuQGltcG9ydCAnc3VyY2hhcmdlLWRldic7XG5AaW1wb3J0ICdzdXJjaGFyZ2UtcHJvZCc7XG4iLCJAaW1wb3J0IFwiY29tcGFzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJjb21wYXNzL3V0aWxpdGllc1wiO1xuQGltcG9ydCBcImNvbXBhc3MvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImNvbXBhc3MvY3NzM1wiO1xuIiwiQGltcG9ydCBcImZ1bmN0aW9ucy9saXN0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jcm9zc19icm93c2VyX3N1cHBvcnRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZ3JhZGllbnRfc3VwcG9ydFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb25zdGFudHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZGlzcGxheVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb2xvcnNcIjtcbiIsIi8vXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgbGlzdCBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9saWIvY29tcGFzcy9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2xpc3RzLnJiXG4vL1xuXG5cbi8vIGNvbXBhY3QgaXMgcGFydCBvZiBsaWJzYXNzXG5cbkBmdW5jdGlvbiAtY29tcGFzcy1udGgoJGxpc3QsICRwbGFjZSkge1xuICAvLyBZZXAsIFNhc3MtbGlzdHMgYXJlIDEtaW5kZXhlZC5cbiAgQGlmICRwbGFjZSA9PSBcImZpcnN0XCIge1xuICAgICRwbGFjZTogMTtcbiAgfVxuICBAaWYgJHBsYWNlID09IFwibGFzdFwiIHtcbiAgICAkcGxhY2U6IGxlbmd0aCgkbGlzdCk7XG4gIH1cbiAgQHJldHVybiBudGgoJGxpc3QsICRwbGFjZSk7XG59XG5cbi8vIGNvbXBhc3NfbGlzdCBjYW4ndCBiZSBpbXBsZW1lbnRlZCBpbiBzYXNzIHNjcmlwdFxuXG5AZnVuY3Rpb24gLWNvbXBhc3Mtc3BhY2UtbGlzdCgkaXRlbTEsICRpdGVtMjpudWxsLCAkaXRlbTM6bnVsbCwgJGl0ZW00Om51bGwsICRpdGVtNTpudWxsLCAkaXRlbTY6bnVsbCwgJGl0ZW03Om51bGwsICRpdGVtODpudWxsLCAkaXRlbTk6bnVsbCkge1xuICAkaXRlbXM6ICgpO1xuICAvLyBTdXBwb3J0IGZvciBwb2x5bW9ycGhpc20uXG4gIEBpZiB0eXBlLW9mKCRpdGVtMSkgPT0gJ2xpc3QnIHtcbiAgICAvLyBQYXNzaW5nIGEgc2luZ2xlIGFycmF5IG9mIHByb3BlcnRpZXMuXG4gICAgJGl0ZW1zOiAkaXRlbTE7XG4gIH0gQGVsc2Uge1xuICAgICRpdGVtczogJGl0ZW0xICRpdGVtMiAkaXRlbTMgJGl0ZW00ICRpdGVtNSAkaXRlbTYgJGl0ZW03ICRpdGVtOCAkaXRlbTk7XG4gIH1cblxuICAkZnVsbDogZmlyc3QtdmFsdWUtb2YoJGl0ZW1zKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkaXRlbXMpIHtcbiAgICAkaXRlbTogbnRoKCRpdGVtcywgJGkpO1xuICAgIEBpZiAkaXRlbSAhPSBudWxsIHtcbiAgICAgICRmdWxsOiAkZnVsbCAkaXRlbTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRmdWxsO1xufVxuXG5AZnVuY3Rpb24gLWNvbXBhc3MtbGlzdC1zaXplKCRsaXN0KSB7XG4gIEByZXR1cm4gbGVuZ3RoKCRsaXN0KTtcbn1cblxuQGZ1bmN0aW9uIC1jb21wYXNzLXNsaWNlKCRsaXN0LCAkc3RhcnQsICRlbmQ6IGZhbHNlKSB7XG4gIEBpZiAkZW5kID09IGZhbHNlIHtcbiAgICAkZW5kOiBsZW5ndGgoJGxpc3QpO1xuICB9XG4gICRmdWxsOiBudGgoJGxpc3QsICRzdGFydCk7XG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgKyAxIHRocm91Z2ggJGVuZCB7XG4gICAgJGZ1bGw6ICRmdWxsLCBudGgoJGxpc3QsICRpKTtcbiAgfVxuICBAcmV0dXJuICRmdWxsO1xufVxuXG5AZnVuY3Rpb24gcmVqZWN0KCRsaXN0LCAkcmVqZWN0MSwgJHJlamVjdDI6bnVsbCwgJHJlamVjdDM6bnVsbCwgJHJlamVjdDQ6bnVsbCwgJHJlamVjdDU6bnVsbCwgJHJlamVjdDY6bnVsbCwgJHJlamVjdDc6bnVsbCwgJHJlamVjdDg6bnVsbCwgJHJlamVjdDk6bnVsbCkge1xuICAkcmVqZWN0czogJHJlamVjdDEsICRyZWplY3QyLCAkcmVqZWN0MywgJHJlamVjdDQsICRyZWplY3Q1LCAkcmVqZWN0NiwgJHJlamVjdDcsICRyZWplY3Q4LCAkcmVqZWN0OTtcblxuICAkZnVsbDogZmFsc2U7XG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgaW5kZXgoJHJlamVjdHMsICRpdGVtKSB7fVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkZnVsbCB7XG4gICAgICAgICRmdWxsOiAkZnVsbCwgJGl0ZW07XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRmdWxsOiAkaXRlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkZnVsbDtcbn1cblxuQGZ1bmN0aW9uIGZpcnN0LXZhbHVlLW9mKCRsaXN0KSB7XG4gIEByZXR1cm4gbnRoKCRsaXN0LCAxKTtcbn1cblxuQGZ1bmN0aW9uIGNvbXBhY3QoJHZhcnMuLi4pIHtcbiAgJHNlcGFyYXRvcjogbGlzdC1zZXBhcmF0b3IoJHZhcnMpO1xuICAkbGlzdDogKCk7XG4gIEBlYWNoICR2YXIgaW4gJHZhcnMge1xuICAgICAgQGlmICR2YXIge1xuICAgICAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICR2YXIsICRzZXBhcmF0b3IpO1xuICAgICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBjcm9zcyBicm93c2VyIHN1cHBvcnQgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvbGliL2NvbXBhc3Mvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9jcm9zc19icm93c2VyX3N1cHBvcnQucmJcbi8vIFxuXG5AZnVuY3Rpb24gcHJlZml4ZWQoJHByZWZpeCwgJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgJHByb3BlcnRpZXM6ICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTk7XG4gICRwcmVmaXhlZDogZmFsc2U7XG4gIEBlYWNoICRpdGVtIGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgdHlwZS1vZigkaXRlbSkgPT0gJ3N0cmluZycge1xuICAgICAgJHByZWZpeGVkOiAkcHJlZml4ZWQgb3Igc3RyLWluZGV4KCRpdGVtLCAndXJsJykgIT0gMSBhbmQgc3RyLWluZGV4KCRpdGVtLCAncmdiJykgIT0gMSBhbmQgc3RyLWluZGV4KCRpdGVtLCAnIycpICE9IDE7XG4gICAgfSBAZWxzZWlmIHR5cGUtb2YoJGl0ZW0pID09ICdjb2xvcicge1xuICAgIH0gQGVsc2VpZiAkaXRlbSAhPSBudWxsIHtcbiAgICAgICRwcmVmaXhlZDogdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcHJlZml4ZWQ7XG59XG5cbkBmdW5jdGlvbiBwcmVmaXgoJHByZWZpeCwgJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgJHByb3BlcnRpZXM6IFwiXCI7XG5cbiAgLy8gU3VwcG9ydCBmb3IgcG9seW1vcnBoaXNtLlxuICBAaWYgdHlwZS1vZigkcHJvcGVydHkxKSA9PSAnbGlzdCcge1xuICAgIC8vIFBhc3NpbmcgYSBzaW5nbGUgYXJyYXkgb2YgcHJvcGVydGllcy5cbiAgICAkcHJvcGVydGllczogJHByb3BlcnR5MTtcbiAgfSBAZWxzZSB7XG4gICAgLy8gUGFzc2luZyBtdWx0aXBsZSBwcm9wZXJ0aWVzLlxuICAgICRwcm9wZXJ0aWVzOiAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5O1xuICB9XG5cbiAgJHByb3BzOiBmYWxzZTtcbiAgQGVhY2ggJGl0ZW0gaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiAkaXRlbSA9PSBudWxsIHt9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmIHByZWZpeGVkKCRwcmVmaXgsICRpdGVtKSB7XG4gICAgICAgICRpdGVtOiAjeyRwcmVmaXh9LSN7JGl0ZW19O1xuICAgICAgfVxuICAgICAgQGlmICRwcm9wcyB7XG4gICAgICAgICRwcm9wczogJHByb3BzLCAkaXRlbTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHByb3BzOiAkaXRlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcHJvcHM7XG59XG5cbkBmdW5jdGlvbiAtc3ZnKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctc3ZnJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtb3dnKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctb3dnJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtd2Via2l0KCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctd2Via2l0JywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtbW96KCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctbW96JywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtbygkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLW8nLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1waWUoJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1waWUnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cbiIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGdyYWRpZW50IHN1cHBvcnQgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi92MC4xMi4yL2xpYi9jb21wYXNzL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvZ3JhZGllbnRfc3VwcG9ydC5yYlxuLy8gXG5cbkBmdW5jdGlvbiBjb2xvci1zdG9wcygkaXRlbTEsICRpdGVtMjpudWxsLCAkaXRlbTM6bnVsbCwgJGl0ZW00Om51bGwsICRpdGVtNTpudWxsLCAkaXRlbTY6bnVsbCwgJGl0ZW03Om51bGwsICRpdGVtODpudWxsLCAkaXRlbTk6bnVsbCkge1xuICAkaXRlbXM6ICRpdGVtMiwgJGl0ZW0zLCAkaXRlbTQsICRpdGVtNSwgJGl0ZW02LCAkaXRlbTcsICRpdGVtOCwgJGl0ZW05O1xuICAkZnVsbDogJGl0ZW0xO1xuICBAZWFjaCAkaXRlbSBpbiAkaXRlbXMge1xuICAgIEBpZiAkaXRlbSAhPSBudWxsIHtcbiAgICAgICRmdWxsOiAkZnVsbCwgJGl0ZW07XG4gICAgfSAgICBcbiAgfVxuICBAcmV0dXJuICRmdWxsO1xufSIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGNvbnN0YW50cyBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9saWIvY29tcGFzcy9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2NvbnN0YW50cy5yYlxuLy8gXG5cbkBmdW5jdGlvbiBvcHBvc2l0ZS1wb3NpdGlvbigkZnJvbSkge1xuICAgIEBpZiAoJGZyb20gPT0gdG9wKSB7XG4gICAgICAgIEByZXR1cm4gYm90dG9tO1xuICAgIH0gQGVsc2UgaWYgKCRmcm9tID09IGJvdHRvbSkge1xuICAgICAgICBAcmV0dXJuIHRvcDtcbiAgICB9IEBlbHNlIGlmICgkZnJvbSA9PSBsZWZ0KSB7XG4gICAgICAgIEByZXR1cm4gcmlnaHQ7XG4gICAgfSBAZWxzZSBpZiAoJGZyb20gPT0gcmlnaHQpIHtcbiAgICAgICAgQHJldHVybiBsZWZ0O1xuICAgIH0gQGVsc2UgaWYgKCRmcm9tID09IGNlbnRlcikge1xuICAgICAgICBAcmV0dXJuIGNlbnRlcjtcbiAgICB9XG59XG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBkaXNwbGF5IGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2Ivc3RhYmxlL2NvcmUvbGliL2NvbXBhc3MvY29yZS9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2Rpc3BsYXkucmJcbi8vIFxuXG5AZnVuY3Rpb24gZWxlbWVudHMtb2YtdHlwZSgkdHlwZSl7XG4gICAgQGlmICgkdHlwZSA9PSBibG9jayl7XG4gICAgICAgIEByZXR1cm4gYWRkcmVzcywgYXJ0aWNsZSwgYXNpZGUsIGJsb2NrcXVvdGUsIGNlbnRlciwgZGlyLCBkaXYsIGRkLCBkZXRhaWxzLCBkbCwgZHQsIGZpZWxkc2V0LCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvcm0sIGZvb3RlciwgZnJhbWVzZXQsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGhyLCBoZWFkZXIsIGhncm91cCwgaXNpbmRleCwgbWFpbiwgbWVudSwgbmF2LCBub2ZyYW1lcywgbm9zY3JpcHQsIG9sLCBwLCBwcmUsIHNlY3Rpb24sIHN1bW1hcnksIHVsO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGlubGluZSl7XG4gICAgICAgIEByZXR1cm4gYSwgYWJiciwgYWNyb255bSwgYXVkaW8sIGIsIGJhc2Vmb250LCBiZG8sIGJpZywgYnIsIGNhbnZhcywgY2l0ZSwgY29kZSwgY29tbWFuZCwgZGF0YWxpc3QsIGRmbiwgZW0sIGVtYmVkLCBmb250LCBpLCBpbWcsIGlucHV0LCBrZXlnZW4sIGtiZCwgbGFiZWwsIG1hcmssIG1ldGVyLCBvdXRwdXQsIHByb2dyZXNzLCBxLCBycCwgcnQsIHJ1YnksIHMsIHNhbXAsIHNlbGVjdCwgc21hbGwsIHNwYW4sIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdGV4dGFyZWEsIHRpbWUsIHR0LCB1LCB2YXIsIHZpZGVvLCB3YnI7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaW5saW5lLWJsb2NrKXtcbiAgICAgICAgQHJldHVybiBpbWc7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUpe1xuICAgICAgICBAcmV0dXJuIHRhYmxlO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGxpc3QtaXRlbSl7XG4gICAgICAgIEByZXR1cm4gbGk7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtcm93LWdyb3VwKXtcbiAgICAgICAgQHJldHVybiB0Ym9keTtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1oZWFkZXItZ3JvdXApe1xuICAgICAgICBAcmV0dXJuIHRoZWFkO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLWZvb3Rlci1ncm91cCl7XG4gICAgICAgIEByZXR1cm4gdGZvb3Q7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtcm93KXtcbiAgICAgICAgQHJldHVybiB0cjtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1jZWxsKXtcbiAgICAgICAgQHJldHVybiB0aCwgdGQ7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaHRtbDUtYmxvY2spe1xuICAgICAgICBAcmV0dXJuIGFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeTtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBodG1sNS1pbmxpbmUpe1xuICAgICAgICBAcmV0dXJuIGF1ZGlvLCBjYW52YXMsIGNvbW1hbmQsIGRhdGFsaXN0LCBlbWJlZCwga2V5Z2VuLCBtYXJrLCBtZXRlciwgb3V0cHV0LCBwcm9ncmVzcywgcnAsIHJ0LCBydWJ5LCB0aW1lLCB2aWRlbywgd2JyO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGh0bWw1KXtcbiAgICAgICAgQHJldHVybiBhcnRpY2xlLCBhc2lkZSwgYXVkaW8sIGNhbnZhcywgY29tbWFuZCwgZGF0YWxpc3QsIGRldGFpbHMsIGVtYmVkLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIGtleWdlbiwgbWFpbiwgbWFyaywgbWVudSwgbWV0ZXIsIG5hdiwgb3V0cHV0LCBwcm9ncmVzcywgcnAsIHJ0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCB2aWRlbywgd2JyO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRleHQtaW5wdXQpe1xuICAgICAgICBAcmV0dXJuIGlucHV0LCB0ZXh0YXJlYTtcbiAgICB9XG59XG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBjb2xvcnMgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvY29yZS9saWIvY29tcGFzcy9jb3JlL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvY29sb3JzLnJiXG4vL1xuXG4vLyBhIGdlbmVyaWNpemVkIHZlcnNpb24gb2YgbGlnaHRlbi9kYXJrZW4gc28gdGhhdCBuZWdhdGl2ZSB2YWx1ZXMgY2FuIGJlIHVzZWQuXG5AZnVuY3Rpb24gYWRqdXN0LWxpZ2h0bmVzcygkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIGFkanVzdC1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRhbW91bnQpO1xufVxuXG4vLyBTY2FsZXMgYSBjb2xvcidzIGxpZ2h0bmVzcyBieSBzb21lIHBlcmNlbnRhZ2UuXG4vLyBJZiB0aGUgYW1vdW50IGlzIG5lZ2F0aXZlLCB0aGUgY29sb3IgaXMgc2NhbGVkIGRhcmtlciwgaWYgcG9zaXRpdmUsIGl0IGlzIHNjYWxlZCBsaWdodGVyLlxuLy8gVGhpcyB3aWxsIG5ldmVyIHJldHVybiBhIHB1cmUgbGlnaHQgb3IgZGFyayBjb2xvciB1bmxlc3MgdGhlIGFtb3VudCBpcyAxMDAlLlxuQGZ1bmN0aW9uIHNjYWxlLWxpZ2h0bmVzcygkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGFtb3VudCk7XG59XG5cbi8vIGEgZ2VuZXJpY2l6ZWQgdmVyc2lvbiBvZiBzYXR1cmF0ZS9kZXNhdHVyYXRlIHNvIHRoYXQgbmVnYXRpdmUgdmFsdWVzIGNhbiBiZSB1c2VkLlxuQGZ1bmN0aW9uIGFkanVzdC1zYXR1cmF0aW9uKCRjb2xvciwgJGFtb3VudCkge1xuICAgIEByZXR1cm4gYWRqdXN0LWNvbG9yKCRjb2xvciwgJHNhdHVyYXRpb246ICRhbW91bnQpO1xufVxuXG4vLyBTY2FsZXMgYSBjb2xvcidzIHNhdHVyYXRpb24gYnkgc29tZSBwZXJjZW50YWdlLlxuLy8gSWYgdGhlIGFtb3VudCBpcyBuZWdhdGl2ZSwgdGhlIGNvbG9yIGlzIGRlc2F0dXJhdGVkLCBpZiBwb3NpdGl2ZSwgaXQgaXMgc2F0dXJhdGVkLlxuLy8gVGhpcyB3aWxsIG5ldmVyIHJldHVybiBhIHB1cmUgc2F0dXJhdGVkIG9yIGRlc2F0dXJhdGVkIGNvbG9yIHVubGVzcyB0aGUgYW1vdW50IGlzIDEwMCUuXG5AZnVuY3Rpb24gc2NhbGUtc2F0dXJhdGlvbigkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJHNhdHVyYXRpb246ICRhbW91bnQpO1xufVxuXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudGFnZSkge1xuICAgIEByZXR1cm4gbWl4KCMwMDAwMDAsICRjb2xvciwgJHBlcmNlbnRhZ2UpO1xufVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50YWdlKSB7XG4gICAgQHJldHVybiBtaXgoI2ZmZmZmZiwgJGNvbG9yLCAkcGVyY2VudGFnZSk7XG59XG5cbiIsIkBpbXBvcnQgXCJ1dGlsaXRpZXMvY29sb3JcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZ2VuZXJhbFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zcHJpdGVzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3RhYmxlc1wiO1xuXG4vLyBkZXByZWNhdGVkXG5AaW1wb3J0IFwidHlwb2dyYXBoeS9saW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvbGlzdHNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3RleHRcIjtcbiIsIkBpbXBvcnQgXCJjb2xvci9jb250cmFzdFwiOyIsIiRjb250cmFzdGVkLWRhcmstZGVmYXVsdDogICAjMDAwICFkZWZhdWx0O1xuJGNvbnRyYXN0ZWQtbGlnaHQtZGVmYXVsdDogICNmZmYgIWRlZmF1bHQ7XG4kY29udHJhc3RlZC1saWdodG5lc3MtdGhyZXNob2xkOiAzMCUgIWRlZmF1bHQ7XG5cbi8vIFJldHVybnMgdGhlIGAkbGlnaHRgIGNvbG9yIHdoZW4gdGhlIGAkY29sb3JgIGlzIGRhcmtcbi8vIGFuZCB0aGUgYCRkYXJrYCBjb2xvciB3aGVuIHRoZSBgJGNvbG9yYCBpcyBsaWdodC5cbi8vIFRoZSBgJHRocmVzaG9sZGAgaXMgYSBwZXJjZW50IGJldHdlZW4gYDAlYCBhbmQgYDEwMCVgIGFuZCBpdCBkZXRlcm1pbmVzXG4vLyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgYCRjb2xvcmAgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi5cbkBmdW5jdGlvbiBjb250cmFzdC1jb2xvcihcbiAgJGNvbG9yLFxuICAkZGFyazogJGNvbnRyYXN0ZWQtZGFyay1kZWZhdWx0LFxuICAkbGlnaHQ6ICRjb250cmFzdGVkLWxpZ2h0LWRlZmF1bHQsXG4gICR0aHJlc2hvbGQ6ICRjb250cmFzdGVkLWxpZ2h0bmVzcy10aHJlc2hvbGRcbikge1xuICBAcmV0dXJuIGlmKGxpZ2h0bmVzcygkY29sb3IpIDwgJHRocmVzaG9sZCwgJGxpZ2h0LCAkZGFyaylcbn1cblxuLy8gU2V0cyB0aGUgc3BlY2lmaWVkIGJhY2tncm91bmQgY29sb3IgYW5kIGNhbGN1bGF0ZXMgYSBkYXJrIG9yIGxpZ2h0IGNvbnRyYXN0ZWQgdGV4dCBjb2xvci5cbi8vIFRoZSBhcmd1bWVudHMgYXJlIHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBbY29udHJhc3QtY29sb3IgZnVuY3Rpb25dKCNmdW5jdGlvbi1jb250cmFzdC1jb2xvcikuXG5AbWl4aW4gY29udHJhc3RlZChcbiAgJGJhY2tncm91bmQtY29sb3IsXG4gICRkYXJrOiAkY29udHJhc3RlZC1kYXJrLWRlZmF1bHQsXG4gICRsaWdodDogJGNvbnRyYXN0ZWQtbGlnaHQtZGVmYXVsdCxcbiAgJHRocmVzaG9sZDogJGNvbnRyYXN0ZWQtbGlnaHRuZXNzLXRocmVzaG9sZFxuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBjb2xvcjogY29udHJhc3QtY29sb3IoJGJhY2tncm91bmQtY29sb3IsICRkYXJrLCAkbGlnaHQsICR0aHJlc2hvbGQpO1xufSIsIkBpbXBvcnQgXCJnZW5lcmFsL3Jlc2V0XCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImdlbmVyYWwvZmxvYXRcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL3RhZy1jbG91ZFwiO1xuQGltcG9ydCBcImdlbmVyYWwvaGFja3NcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL21pblwiO1xuIiwiLy8gVGhpcyBtb2R1bGUgaGFzIG1vdmVkLlxuQGltcG9ydCBcIi4uLy4uL3Jlc2V0L3V0aWxpdGllc1wiO1xuIiwiLy8gQmFzZWQgb24gW0VyaWMgTWV5ZXIncyByZXNldCAyLjBdKGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvaW5kZXguaHRtbClcbi8vIEdsb2JhbCByZXNldCBydWxlcy5cbi8vIEZvciBtb3JlIHNwZWNpZmljIHJlc2V0cywgdXNlIHRoZSByZXNldCBtaXhpbnMgcHJvdmlkZWQgYmVsb3dcbkBtaXhpbiBnbG9iYWwtcmVzZXQge1xuICBodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbiAgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuICBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG4gIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG4gIGIsIHUsIGksIGNlbnRlcixcbiAgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbiAgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG4gIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuICBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgXG4gIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgXG4gIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxuICB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc2V0LWJveC1tb2RlbDtcbiAgICBAaW5jbHVkZSByZXNldC1mb250OyB9XG4gIC8vIFVubGlrZSBFcmljJ3Mgb3JpZ2luYWwgcmVzZXQsIHdlIHJlc2V0IHRoZSBodG1sIGVsZW1lbnQgdG8gYmUgY29tcGF0aWJsZVxuICAvLyB3aXRoIHRoZSB2ZXJ0aWNhbCByaHl0aG0gbWl4aW5zLlxuICBodG1sIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib2R5OyB9XG4gIG9sLCB1bCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZTsgfVxuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGU7IH1cbiAgY2FwdGlvbiwgdGgsIHRkIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZS1jZWxsOyB9XG4gIHEsIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXF1b3RhdGlvbjsgfVxuICBhIGltZyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlcjsgfVxuICBAaW5jbHVkZSByZXNldC1odG1sNTsgfVxuXG4vLyBSZXNldCBhbGwgZWxlbWVudHMgd2l0aGluIHNvbWUgc2VsZWN0b3Igc2NvcGUuIFRvIHJlc2V0IHRoZSBzZWxlY3RvciBpdHNlbGYsXG4vLyBtaXhpbiB0aGUgYXBwcm9wcmlhdGUgcmVzZXQgbWl4aW4gZm9yIHRoYXQgZWxlbWVudCB0eXBlIGFzIHdlbGwuIFRoaXMgY291bGQgYmVcbi8vIHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBzdHlsZSBhIHBhcnQgb2YgeW91ciBwYWdlIGluIGEgZHJhbWF0aWNhbGx5IGRpZmZlcmVudCB3YXkuXG5AbWl4aW4gbmVzdGVkLXJlc2V0IHtcbiAgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG4gIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbiAgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuICBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuICBiLCB1LCBpLCBjZW50ZXIsXG4gIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG4gIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxuICB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbiAgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIFxuICBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIFxuICBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbiAgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWw7XG4gICAgQGluY2x1ZGUgcmVzZXQtZm9udDsgfVxuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGU7IH1cbiAgY2FwdGlvbiwgdGgsIHRkIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZS1jZWxsOyB9XG4gIHEsIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXF1b3RhdGlvbjsgfVxuICBhIGltZyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlcjsgfSB9XG5cbi8vIFJlc2V0IHRoZSBib3ggbW9kZWwgbWVhc3VyZW1lbnRzLlxuQG1peGluIHJlc2V0LWJveC1tb2RlbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi8vIFJlc2V0IHRoZSBmb250IGFuZCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gcmVzZXQtZm9udCB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8vIFJlc2V0cyB0aGUgb3V0bGluZSB3aGVuIGZvY3VzLlxuLy8gRm9yIGFjY2Vzc2liaWxpdHkgeW91IG5lZWQgdG8gYXBwbHkgc29tZSBzdHlsaW5nIGluIGl0cyBwbGFjZS5cbkBtaXhpbiByZXNldC1mb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cblxuLy8gUmVzZXQgYSBib2R5IGVsZW1lbnQuXG5AbWl4aW4gcmVzZXQtYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi8vIFJlc2V0IHRoZSBsaXN0IHN0eWxlIG9mIGFuIGVsZW1lbnQuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLy8gUmVzZXQgYSB0YWJsZVxuQG1peGluIHJlc2V0LXRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxuLy8gUmVzZXQgYSB0YWJsZSBjZWxsIChgdGhgLCBgdGRgKVxuQG1peGluIHJlc2V0LXRhYmxlLWNlbGwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8vIFJlc2V0IGEgcXVvdGF0aW9uIChgcWAsIGBibG9ja3F1b3RlYClcbkBtaXhpbiByZXNldC1xdW90YXRpb24ge1xuICBxdW90ZXM6IG5vbmU7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyBcbiAgICBjb250ZW50OiBub25lOyB9IH1cblxuLy8gUmVzZXRzIHRoZSBib3JkZXIuXG5AbWl4aW4gcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlciB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4vLyBVbnJlY29nbml6ZWQgZWxlbWVudHMgYXJlIGRpc3BsYXllZCBpbmxpbmUuXG4vLyBUaGlzIHJlc2V0IHByb3ZpZGVzIGEgYmFzaWMgcmVzZXQgZm9yIGJsb2NrIGh0bWw1IGVsZW1lbnRzXG4vLyBzbyB0aGV5IGFyZSByZW5kZXJlZCBjb3JyZWN0bHkgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCByZWNvZ25pemUgdGhlbVxuLy8gYW5kIHJlc2V0IGluIGJyb3dzZXJzIHRoYXQgaGF2ZSBkZWZhdWx0IHN0eWxlcyBmb3IgdGhlbS5cbkBtaXhpbiByZXNldC1odG1sNSB7XG4gICN7ZWxlbWVudHMtb2YtdHlwZShodG1sNS1ibG9jayl9IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8vIFJlc2V0cyB0aGUgZGlzcGxheSBvZiBpbmxpbmUgYW5kIGJsb2NrIGVsZW1lbnRzIHRvIHRoZWlyIGRlZmF1bHQgZGlzcGxheVxuLy8gYWNjb3JkaW5nIHRvIHRoZWlyIHRhZyB0eXBlLiBFbGVtZW50cyB0aGF0IGhhdmUgYSBkZWZhdWx0IGRpc3BsYXkgdGhhdCB2YXJpZXMgYWNyb3NzXG4vLyB2ZXJzaW9ucyBvZiBodG1sIG9yIGJyb3dzZXIgYXJlIG5vdCBoYW5kbGVkIGhlcmUsIGJ1dCB0aGlzIGNvdmVycyB0aGUgOTAlIHVzZSBjYXNlLlxuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyAgICAgLy8gVHVybiBvZmYgdGhlIGRpc3BsYXkgZm9yIGJvdGggb2YgdGhlc2UgY2xhc3Nlc1xuLy8gICAgIC51bnJlZ2lzdGVyZWQtb25seSwgLnJlZ2lzdGVyZWQtb25seVxuLy8gICAgICAgZGlzcGxheTogbm9uZVxuLy8gICAgIC8vIE5vdyB0dXJuIG9ubHkgb25lIG9mIHRoZW0gYmFjayBvbiBkZXBlbmRpbmcgb24gc29tZSBvdGhlciBjb250ZXh0LlxuLy8gICAgIGJvZHkucmVnaXN0ZXJlZFxuLy8gICAgICAgK3Jlc2V0LWRpc3BsYXkoXCIucmVnaXN0ZXJlZC1vbmx5XCIpXG4vLyAgICAgYm9keS51bnJlZ2lzdGVyZWRcbi8vICAgICAgICtyZXNldC1kaXNwbGF5KFwiLnVucmVnaXN0ZXJlZC1vbmx5XCIpXG5AbWl4aW4gcmVzZXQtZGlzcGxheSgkc2VsZWN0b3I6IFwiXCIsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICN7YXBwZW5kLXNlbGVjdG9yKGVsZW1lbnRzLW9mLXR5cGUoXCJpbmxpbmVcIiksICRzZWxlY3Rvcil9IHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG4gICN7YXBwZW5kLXNlbGVjdG9yKGVsZW1lbnRzLW9mLXR5cGUoXCJibG9ja1wiKSwgJHNlbGVjdG9yKX0ge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH1cbiIsIi8vIEBkb2Mgb2ZmXG4vLyBFeHRlbmRzIHRoZSBib3R0b20gb2YgdGhlIGVsZW1lbnQgdG8gZW5jbG9zZSBhbnkgZmxvYXRzIGl0IGNvbnRhaW5zLlxuLy8gQGRvYyBvblxuXG5AaW1wb3J0IFwiaGFja3NcIjtcblxuLy8gVGhpcyBiYXNpYyBtZXRob2QgaXMgcHJlZmVycmVkIGZvciB0aGUgdXN1YWwgY2FzZSwgd2hlbiBwb3NpdGlvbmVkXG4vLyBjb250ZW50IHdpbGwgbm90IHNob3cgb3V0c2lkZSB0aGUgYm91bmRzIG9mIHRoZSBjb250YWluZXIuXG4vL1xuLy8gUmVjb21tZW5kYXRpb25zIGluY2x1ZGUgdXNpbmcgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGEgd2lkdGguXG4vLyBDcmVkaXQ6IFtxdWlya3Ntb2RlLm9yZ10oaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9ibG9nL2FyY2hpdmVzLzIwMDUvMDMvY2xlYXJpbmdfZmxvYXRzLmh0bWwpXG5AbWl4aW4gY2xlYXJmaXgge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xufVxuXG4vLyBUaGlzIG9sZGVyIG1ldGhvZCBmcm9tIFBvc2l0aW9uIElzIEV2ZXJ5dGhpbmcgY2FsbGVkXG4vLyBbRWFzeSBDbGVhcmluZ10oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZWFzeWNsZWFyaW5nLmh0bWwpXG4vLyBoYXMgdGhlIGFkdmFudGFnZSBvZiBhbGxvd2luZyBwb3NpdGlvbmVkIGVsZW1lbnRzIHRvIGhhbmdcbi8vIG91dHNpZGUgdGhlIGJvdW5kcyBvZiB0aGUgY29udGFpbmVyIGF0IHRoZSBleHBlbnNlIG9mIG1vcmUgdHJpY2t5IENTUy5cbkBtaXhpbiBsZWdhY3ktcGllLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudCAgICA6IFwiXFwwMDIwXCI7XG4gICAgZGlzcGxheSAgICA6IGJsb2NrO1xuICAgIGhlaWdodCAgICAgOiAwO1xuICAgIGNsZWFyICAgICAgOiBib3RoO1xuICAgIG92ZXJmbG93ICAgOiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eSA6IGhpZGRlbjtcbiAgfVxuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xufVxuXG4vLyBUaGlzIGlzIGFuIHVwZGF0ZWQgdmVyc2lvbiBvZiB0aGUgUElFIGNsZWFyZml4IG1ldGhvZCB0aGF0IHJlZHVjZXMgdGhlIGFtb3VudCBvZiBDU1Mgb3V0cHV0LlxuLy8gSWYgeW91IG5lZWQgdG8gc3VwcG9ydCBGaXJlZm94IGJlZm9yZSAzLjUgeW91IG5lZWQgdG8gdXNlIGBsZWdhY3ktcGllLWNsZWFyZml4YCBpbnN0ZWFkLlxuLy9cbi8vIEFkYXB0ZWQgZnJvbTogW0EgbmV3IG1pY3JvIGNsZWFyZml4IGhhY2tdKGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLylcbkBtaXhpbiBwaWUtY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGUgYHpvb21gIGFwcHJvYWNoIGdlbmVyYXRlcyBsZXNzIENTUyBidXQgZG9lcyBub3QgdmFsaWRhdGUuXG4vLyBTZXQgdGhpcyB0byBgYmxvY2tgIHRvIHVzZSB0aGUgZGlzcGxheS1wcm9wZXJ0eSB0byBoYWNrIHRoZVxuLy8gZWxlbWVudCB0byBnYWluIGxheW91dC5cbiRkZWZhdWx0LWhhcy1sYXlvdXQtYXBwcm9hY2g6IHpvb20gIWRlZmF1bHQ7XG5cbi8vIFRoaXMgbWl4aW4gY2F1c2VzIGFuIGVsZW1lbnQgbWF0Y2hpbmcgdGhlIHNlbGVjdG9yXG4vLyB0byBnYWluIHRoZSBcImhhc0xheW91dFwiIHByb3BlcnR5IGluIGludGVybmV0IGV4cGxvcmVyLlxuLy8gTW9yZSBpbmZvcm1hdGlvbiBvbiBbaGFzTGF5b3V0XShodHRwOi8vcmVmZXJlbmNlLnNpdGVwb2ludC5jb20vY3NzL2hhc2xheW91dCkuXG5AbWl4aW4gaGFzLWxheW91dCgkYXBwcm9hY2g6ICRkZWZhdWx0LWhhcy1sYXlvdXQtYXBwcm9hY2gpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgIEBpZiAkYXBwcm9hY2ggPT0gem9vbSB7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LXpvb207XG4gICAgfSBAZWxzZSBpZiAkYXBwcm9hY2ggPT0gYmxvY2sge1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC1ibG9jaztcbiAgICB9IEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiVW5rbm93biBoYXMtbGF5b3V0IGFwcHJvYWNoOiAjeyRhcHByb2FjaH1cIjtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtem9vbTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhhcy1sYXlvdXQtem9vbSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyB7XG4gICAgKnpvb206IDE7XG4gIH1cbn1cblxuQG1peGluIGhhcy1sYXlvdXQtYmxvY2sge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgLy8gVGhpcyBtYWtlcyBpZTYgZ2V0IGxheW91dFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyBhbmQgdGhpcyBwdXRzIGl0IGJhY2sgdG8gYmxvY2tcbiAgICAmIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxufVxuXG4vLyBBIGhhY2sgdG8gc3VwcGx5IElFNiAoYW5kIGJlbG93KSB3aXRoIGEgZGlmZmVyZW50IHByb3BlcnR5IHZhbHVlLlxuLy8gW1JlYWQgbW9yZV0oaHR0cDovL3d3dy5jc3Nwb3J0YWwuY29tL2Nzcy1oYWNrcy8jaW5fY3NzLWltcG9ydGFudCkuXG5AbWl4aW4gYmFuZy1oYWNrKCRwcm9wZXJ0eSwgJHZhbHVlLCAkaWU2LXZhbHVlKSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiB7XG4gICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JGllNi12YWx1ZX07XG4gIH1cbn1cbiIsIi8vIFVzdWFsbHkgY29tcGFzcyBoYWNrcyBhcHBseSB0byBib3RoIGllNiAmIDcgLS0gc2V0IHRoaXMgdG8gZmFsc2UgdG8gZGlzYWJsZSBzdXBwb3J0IGZvciBib3RoLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgaWU2IGhhY2tzXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllNjogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgaWU3IGhhY2tzXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllNzogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgbGVnYWN5IGllOCBoYWNrc1xuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTg6ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUgIWRlZmF1bHQ7XG5cbi8vIEBwcml2YXRlXG4vLyBUaGUgdXNlciBjYW4gc2ltcGx5IHNldCAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIGFuZCA2LCA3LCBhbmQgOCB3aWxsIGJlIHNldCBhY2NvcmRpbmdseSxcbi8vIEJ1dCBpbiBjYXNlIHRoZSB1c2VyIHNldCBlYWNoIG9mIHRob3NlIGV4cGxpY2l0bHksIHdlIG5lZWQgdG8gc3luYyB0aGUgdmFsdWUgb2Zcbi8vIHRoaXMgY29tYmluZWQgdmFyaWFibGUuXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllOiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllODtcblxuLy8gV2hldGhlciB0byBvdXRwdXQgbGVnYWN5IHN1cHBvcnQgZm9yIG1vemlsbGEuXG4vLyBVc3VhbGx5IHRoaXMgbWVhbnMgaGFja3MgdG8gc3VwcG9ydCBGaXJlZm94IDMuNiBvciBlYXJsaWVyLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1tb3ppbGxhOiB0cnVlO1xuXG4vLyBTdXBwb3J0IGZvciBtb3ppbGxhIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1tb3opLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igd2Via2l0IGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC13ZWJraXQpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igd2Via2l0J3Mgb3JpZ2luYWwgKG5vbi1zdGFuZGFyZCkgZ3JhZGllbnQgc3ludGF4LlxuJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igb3BlcmEgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLW8pLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3IgbWljcm9zb2Z0IGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1tcykuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCAgICA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBraHRtbCBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgta2h0bWwpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIHN2ZyBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzLlxuLy8gU2V0dGluZyB0aGlzIHRvIHRydWUgbWlnaHQgYWRkIHNpZ25pZmljYW50IHNpemUgdG8geW91clxuLy8gZ2VuZXJhdGVkIHN0eWxlc2hlZXRzLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIENTUyBQSUUgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLXBpZSkuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8gSW1wbGVtZW50YXRpb24gb2YgZmxvYXQ6bGVmdCB3aXRoIGZpeCBmb3IgdGhlXG4vLyBbZG91YmxlLW1hcmdpbiBidWcgaW4gSUU1LzZdKGh0dHA6Ly93d3cucG9zaXRpb25pc2V2ZXJ5dGhpbmcubmV0L2V4cGxvcmVyL2RvdWJsZWQtbWFyZ2luLmh0bWwpXG5AbWl4aW4gZmxvYXQtbGVmdCB7XG4gIEBpbmNsdWRlIGZsb2F0KGxlZnQpOyB9XG5cbi8vIEltcGxlbWVudGF0aW9uIG9mIGZsb2F0OnJpZ2h0IHdpdGggZml4IGZvciB0aGVcbi8vIFtkb3VibGUtbWFyZ2luIGJ1ZyBpbiBJRTUvNl0oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZXhwbG9yZXIvZG91YmxlZC1tYXJnaW4uaHRtbClcbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIEBpbmNsdWRlIGZsb2F0KHJpZ2h0KTsgfVxuXG4vLyBEaXJlY3Rpb24gaW5kZXBlbmRlbnQgZmxvYXQgbWl4aW4gdGhhdCBmaXhlcyB0aGVcbi8vIFtkb3VibGUtbWFyZ2luIGJ1ZyBpbiBJRTUvNl0oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZXhwbG9yZXIvZG91YmxlZC1tYXJnaW4uaHRtbClcbkBtaXhpbiBmbG9hdCgkc2lkZTogbGVmdCkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiB1bnF1b3RlKCRzaWRlKTsgfVxuXG4vLyBSZXNldHMgZmxvYXRlZCBlbGVtZW50cyBiYWNrIHRvIHRoZWlyIGRlZmF1bHQgb2YgYGZsb2F0OiBub25lYCBhbmQgZGVmYXVsdHNcbi8vIHRvIGBkaXNwbGF5OiBibG9ja2AgdW5sZXNzIHlvdSBwYXNzIGBpbmxpbmVgIGFzIGFuIGFyZ3VtZW50XG4vL1xuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyAgICAgYm9keS5ob21lcGFnZVxuLy8gICAgICAgI2Zvb3RlciBsaVxuLy8gICAgICAgICArZmxvYXQtbGVmdFxuLy8gICAgIGJvZHkuc2lnbnVwXG4vLyAgICAgICAjZm9vdGVyIGxpXG4vLyAgICAgICAgICtyZXNldC1mbG9hdFxuQG1peGluIHJlc2V0LWZsb2F0KCRkaXNwbGF5OiBibG9jaykge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogJGRpc3BsYXk7IH0iLCIvLyBFbWl0cyBzdHlsZXMgZm9yIGEgdGFnIGNsb3VkXG5AbWl4aW4gdGFnLWNsb3VkKCRiYXNlLXNpemU6IDFlbSkge1xuICBmb250LXNpemU6ICRiYXNlLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxLjIgKiAkYmFzZS1zaXplO1xuICAueHhzLCAueHMsIC5zLCAubCwgLnhsLCAueHhsIHtcbiAgICBsaW5lLWhlaWdodDogMS4yICogJGJhc2Utc2l6ZTsgfVxuICAueHhzIHtcbiAgICBmb250LXNpemU6ICRiYXNlLXNpemUgLyAyOyB9XG4gIC54cyB7XG4gICAgZm9udC1zaXplOiAyICogJGJhc2Utc2l6ZSAvIDM7IH1cbiAgLnMge1xuICAgIGZvbnQtc2l6ZTogMyAqICRiYXNlLXNpemUgLyA0OyB9XG4gIC5sIHtcbiAgICBmb250LXNpemU6IDQgKiAkYmFzZS1zaXplIC8gMzsgfVxuICAueGwge1xuICAgIGZvbnQtc2l6ZTogMyAqICRiYXNlLXNpemUgLyAyOyB9XG4gIC54eGwge1xuICAgIGZvbnQtc2l6ZTogMiAqICRiYXNlLXNpemU7IH0gfVxuIiwiQGltcG9ydCBcImhhY2tzXCI7XG5cbi8vKipcbi8vIENyb3NzIGJyb3dzZXIgbWluLWhlaWdodCBtaXhpbi5cbkBtaXhpbiBtaW4taGVpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBoYWNrZWQtbWluaW11bShoZWlnaHQsICR2YWx1ZSk7IH1cblxuLy8qKlxuLy8gQ3Jvc3MgYnJvd3NlciBtaW4td2lkdGggbWl4aW4uXG5AbWl4aW4gbWluLXdpZHRoKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBoYWNrZWQtbWluaW11bSh3aWR0aCwgJHZhbHVlKTsgfVxuXG4vLyBAcHJpdmF0ZSBUaGlzIG1peGluIGlzIG5vdCBtZWFudCB0byBiZSB1c2VkIGRpcmVjdGx5LlxuQG1peGluIGhhY2tlZC1taW5pbXVtKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG4gIG1pbi0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgQGluY2x1ZGUgYmFuZy1oYWNrKCRwcm9wZXJ0eSwgYXV0bywgJHZhbHVlKTsgfVxuIiwiQGltcG9ydCBcInNwcml0ZXMvYmFzZVwiO1xuQGltcG9ydCBcInNwcml0ZXMvc3ByaXRlLWltZ1wiO1xuIiwiLy8gRGV0ZXJtaW5lcyB0aG9zZSBzdGF0ZXMgZm9yIHdoaWNoIHlvdSB3YW50IHRvIGVuYWJsZSBtYWdpYyBzcHJpdGUgc2VsZWN0b3JzXG4kc3ByaXRlLXNlbGVjdG9yczogaG92ZXIsIHRhcmdldCwgYWN0aXZlICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgYW4gZWxlbWVudCB0byB0aGUgb3JpZ2luYWxcbi8vIGRpbWVuc2lvbnMgb2YgYW4gaW1hZ2UgYmVmb3JlIGl0IHdhcyBpbmNsdWRlZCBpbiB0aGUgc3ByaXRlLlxuQG1peGluIHNwcml0ZS1kaW1lbnNpb25zKCRtYXAsICRzcHJpdGUpIHtcbiAgaGVpZ2h0OiBpbWFnZS1oZWlnaHQoc3ByaXRlLWZpbGUoJG1hcCwgJHNwcml0ZSkpO1xuICB3aWR0aDogaW1hZ2Utd2lkdGgoc3ByaXRlLWZpbGUoJG1hcCwgJHNwcml0ZSkpO1xufVxuXG4vLyBTZXQgdGhlIGJhY2tncm91bmQgcG9zaXRpb24gb2YgdGhlIGdpdmVuIHNwcml0ZSBgJG1hcGAgdG8gZGlzcGxheSB0aGVcbi8vIHNwcml0ZSBvZiB0aGUgZ2l2ZW4gYCRzcHJpdGVgIG5hbWUuIFlvdSBjYW4gbW92ZSB0aGUgaW1hZ2UgcmVsYXRpdmUgdG8gaXRzXG4vLyBuYXR1cmFsIHBvc2l0aW9uIGJ5IHBhc3NpbmcgYCRvZmZzZXQteGAgYW5kIGAkb2Zmc2V0LXlgLlxuQG1peGluIHNwcml0ZS1iYWNrZ3JvdW5kLXBvc2l0aW9uKCRtYXAsICRzcHJpdGUsICRvZmZzZXQteDogMCwgJG9mZnNldC15OiAwKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHNwcml0ZS1wb3NpdGlvbigkbWFwLCAkc3ByaXRlLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7ICBcbn1cblxuXG4vLyBEZXRlcm1pbmVzIGlmIHlvdSB3YW50IHRvIGluY2x1ZGUgbWFnaWMgc2VsZWN0b3JzIGluIHlvdXIgc3ByaXRlc1xuJGRpc2FibGUtbWFnaWMtc3ByaXRlLXNlbGVjdG9yczpmYWxzZSAhZGVmYXVsdDtcblxuLy8gSW5jbHVkZSB0aGUgcG9zaXRpb24gYW5kIChvcHRpb25hbGx5KSBkaW1lbnNpb25zIG9mIHRoaXMgYCRzcHJpdGVgXG4vLyBpbiB0aGUgZ2l2ZW4gc3ByaXRlIGAkbWFwYC4gVGhlIHNwcml0ZSB1cmwgc2hvdWxkIGNvbWUgZnJvbSBlaXRoZXIgYSBiYXNlXG4vLyBjbGFzcyBvciB5b3UgY2FuIHNwZWNpZnkgdGhlIGBzcHJpdGUtdXJsYCBleHBsaWNpdGx5IGxpa2UgdGhpczpcbi8vXG4vLyAgICAgYmFja2dyb3VuZDogJG1hcCBuby1yZXBlYXQ7XG5AbWl4aW4gc3ByaXRlKCRtYXAsICRzcHJpdGUsICRkaW1lbnNpb25zOiBmYWxzZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgQGluY2x1ZGUgc3ByaXRlLWJhY2tncm91bmQtcG9zaXRpb24oJG1hcCwgJHNwcml0ZSwgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICBAaWYgJGRpbWVuc2lvbnMge1xuICAgIEBpbmNsdWRlIHNwcml0ZS1kaW1lbnNpb25zKCRtYXAsICRzcHJpdGUpO1xuICB9XG4gIEBpZiBub3QoJGRpc2FibGUtbWFnaWMtc3ByaXRlLXNlbGVjdG9ycykge1xuICAgIEBpbmNsdWRlIHNwcml0ZS1zZWxlY3RvcnMoJG1hcCwgJHNwcml0ZSwgJHNwcml0ZSwgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICB9XG59XG5cbi8vIEluY2x1ZGUgdGhlIHNlbGVjdG9ycyBmb3IgdGhlIGAkc3ByaXRlYCBnaXZlbiB0aGUgYCRtYXBgIGFuZCB0aGUgXG4vLyBgJGZ1bGwtc3ByaXRlLW5hbWVgXG4vLyBAcHJpdmF0ZVxuQG1peGluIHNwcml0ZS1zZWxlY3RvcnMoJG1hcCwgJHNwcml0ZS1uYW1lLCAkZnVsbC1zcHJpdGUtbmFtZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgQGVhY2ggJHNlbGVjdG9yIGluICRzcHJpdGUtc2VsZWN0b3JzIHtcbiAgICBAaWYgc3ByaXRlX2hhc19zZWxlY3RvcigkbWFwLCAkc3ByaXRlLW5hbWUsICRzZWxlY3Rvcikge1xuICAgICAgJjojeyRzZWxlY3Rvcn0sICYuI3skZnVsbC1zcHJpdGUtbmFtZX1fI3skc2VsZWN0b3J9LCAmLiN7JGZ1bGwtc3ByaXRlLW5hbWV9LSN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3ByaXRlLWJhY2tncm91bmQtcG9zaXRpb24oJG1hcCwgXCIjeyRzcHJpdGUtbmFtZX1fI3skc2VsZWN0b3J9XCIsICRvZmZzZXQteCwgJG9mZnNldC15KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gR2VuZXJhdGVzIGEgY2xhc3MgZm9yIGVhY2ggc3BhY2Ugc2VwYXJhdGVkIG5hbWUgaW4gYCRzcHJpdGUtbmFtZXNgLlxuLy8gVGhlIGNsYXNzIHdpbGwgYmUgb2YgdGhlIGZvcm0gLjxtYXAtbmFtZT4tPHNwcml0ZS1uYW1lPi5cbi8vXG4vLyBJZiBhIGJhc2UgY2xhc3MgaXMgcHJvdmlkZWQsIHRoZW4gZWFjaCBjbGFzcyB3aWxsIGV4dGVuZCBpdC5cbi8vXG4vLyBJZiBgJGRpbWVuc2lvbnNgIGlzIGB0cnVlYCwgdGhlIHNwcml0ZSBkaW1lbnNpb25zIHdpbGwgc3BlY2lmaWVkLlxuQG1peGluIHNwcml0ZXMoJG1hcCwgJHNwcml0ZS1uYW1lcywgJGJhc2UtY2xhc3M6IGZhbHNlLCAkZGltZW5zaW9uczogZmFsc2UsICRwcmVmaXg6IHNwcml0ZS1tYXAtbmFtZSgkbWFwKSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgQGVhY2ggJHNwcml0ZS1uYW1lIGluICRzcHJpdGUtbmFtZXMge1xuICAgIEBpZiBzcHJpdGVfZG9lc19ub3RfaGF2ZV9wYXJlbnQoJG1hcCwgJHNwcml0ZS1uYW1lKSB7XG4gICAgICAkZnVsbC1zcHJpdGUtbmFtZTogXCIjeyRwcmVmaXh9LSN7JHNwcml0ZS1uYW1lfVwiO1xuICAgICAgLiN7JGZ1bGwtc3ByaXRlLW5hbWV9IHtcbiAgICAgICAgQGlmICRiYXNlLWNsYXNzIHsgQGV4dGVuZCAjeyRiYXNlLWNsYXNzfTsgfVxuICAgICAgICBAaW5jbHVkZSBzcHJpdGUoJG1hcCwgJHNwcml0ZS1uYW1lLCAkZGltZW5zaW9ucywgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vIEBkb2Mgb2ZmXG4vLyBFeGFtcGxlIDE6XG4vL1xuLy8gICAgIGEudHdpdHRlclxuLy8gICAgICAgK3Nwcml0ZS1pbWcoXCJpY29ucy0zMi5wbmdcIiwgMSlcbi8vICAgICBhLmZhY2Vib29rXG4vLyAgICAgICArc3ByaXRlLWltZyhcImljb25zLTMycG5nXCIsIDIpXG4vL1xuLy8gRXhhbXBsZSAyOlxuLy9cbi8vICAgICBhXG4vLyAgICAgICArc3ByaXRlLWJhY2tncm91bmQoXCJpY29ucy0zMi5wbmdcIilcbi8vICAgICAgIGEudHdpdHRlclxuLy8gICAgICAgICArc3ByaXRlLWNvbHVtbigxKVxuLy8gICAgICAgYS5mYWNlYm9va1xuLy8gICAgICAgICArc3ByaXRlLXJvdygyKVxuLy8gQGRvYyBvblxuXG4kc3ByaXRlLWRlZmF1bHQtc2l6ZTogMzJweCAhZGVmYXVsdDtcblxuJHNwcml0ZS1kZWZhdWx0LW1hcmdpbjogMHB4ICFkZWZhdWx0O1xuXG4kc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGg6ICRzcHJpdGUtZGVmYXVsdC1zaXplICFkZWZhdWx0O1xuXG4kc3ByaXRlLWltYWdlLWRlZmF1bHQtaGVpZ2h0OiAkc3ByaXRlLWRlZmF1bHQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gU2V0cyBhbGwgdGhlIHJ1bGVzIGZvciBhIHNwcml0ZSBmcm9tIGEgZ2l2ZW4gc3ByaXRlIGltYWdlIHRvIHNob3cganVzdCBvbmUgb2YgdGhlIHNwcml0ZXMuXG4vLyBUbyByZWR1Y2UgZHVwbGljYXRpb24gdXNlIGEgc3ByaXRlLWJnIG1peGluIGZvciBjb21tb24gcHJvcGVydGllcyBhbmQgYSBzcHJpdGUtc2VsZWN0IG1peGluIGZvciBwb3NpdGlvbmluZy5cbkBtaXhpbiBzcHJpdGUtaW1nKCRpbWcsICRjb2wsICRyb3c6IDEsICR3aWR0aDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LXdpZHRoLCAkaGVpZ2h0OiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtaGVpZ2h0LCAkbWFyZ2luOiAkc3ByaXRlLWRlZmF1bHQtbWFyZ2luKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1iYWNrZ3JvdW5kKCRpbWcsICR3aWR0aCwgJGhlaWdodCk7XG4gIEBpbmNsdWRlIHNwcml0ZS1wb3NpdGlvbigkY29sLCAkcm93LCAkd2lkdGgsICRoZWlnaHQsICRtYXJnaW4pOyBcbn1cblxuLy8gU2V0cyBydWxlcyBjb21tb24gZm9yIGFsbCBzcHJpdGVzLCBhc3N1bWVzIHlvdSB3YW50IGEgc3F1YXJlLCBidXQgYWxsb3dzIGEgcmVjdGFuZ3VsYXIgcmVnaW9uLlxuQG1peGluIHNwcml0ZS1iYWNrZ3JvdW5kKCRpbWcsICR3aWR0aDogJHNwcml0ZS1kZWZhdWx0LXNpemUsICRoZWlnaHQ6ICR3aWR0aCkge1xuICBAaW5jbHVkZSBzcHJpdGUtYmFja2dyb3VuZC1yZWN0YW5nbGUoJGltZywgJHdpZHRoLCAkaGVpZ2h0KTsgXG59XG5cbi8vIFNldHMgcnVsZXMgY29tbW9uIGZvciBhbGwgc3ByaXRlcywgYXNzdW1lcyBhIHJlY3Rhbmd1bGFyIHJlZ2lvbi5cbkBtaXhpbiBzcHJpdGUtYmFja2dyb3VuZC1yZWN0YW5nbGUoJGltZywgJHdpZHRoOiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGgsICRoZWlnaHQ6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQpIHtcbiAgYmFja2dyb3VuZDogaW1hZ2UtdXJsKCRpbWcpIG5vLXJlcGVhdDtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyBcbn1cblxuLy8gQWxsb3dzIGhvcml6b250YWwgc3ByaXRlIHBvc2l0aW9uaW5nIG9wdGltaXplZCBmb3IgYSBzaW5nbGUgcm93IG9mIHNwcml0ZXMuXG5AbWl4aW4gc3ByaXRlLWNvbHVtbigkY29sLCAkd2lkdGg6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC13aWR0aCwgJG1hcmdpbjogJHNwcml0ZS1kZWZhdWx0LW1hcmdpbikge1xuICBAaW5jbHVkZSBzcHJpdGUtcG9zaXRpb24oJGNvbCwgMSwgJHdpZHRoLCAwcHgsICRtYXJnaW4pOyBcbn1cblxuLy8gQWxsb3dzIHZlcnRpY2FsIHNwcml0ZSBwb3NpdGlvbmluZyBvcHRpbWl6ZWQgZm9yIGEgc2luZ2xlIGNvbHVtbiBvZiBzcHJpdGVzLlxuQG1peGluIHNwcml0ZS1yb3coJHJvdywgJGhlaWdodDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LWhlaWdodCwgJG1hcmdpbjogJHNwcml0ZS1kZWZhdWx0LW1hcmdpbikge1xuICBAaW5jbHVkZSBzcHJpdGUtcG9zaXRpb24oMSwgJHJvdywgMHB4LCAkaGVpZ2h0LCAkbWFyZ2luKTsgXG59XG5cbi8vIEFsbG93cyB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbCBzcHJpdGUgcG9zaXRpb25pbmcgZnJvbSBhIGdyaWQgb2YgZXF1YWwgZGltZW5zaW9uZWQgc3ByaXRlcy5cbkBtaXhpbiBzcHJpdGUtcG9zaXRpb24oJGNvbCwgJHJvdzogMSwgJHdpZHRoOiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGgsICRoZWlnaHQ6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQsICRtYXJnaW46ICRzcHJpdGUtZGVmYXVsdC1tYXJnaW4pIHtcbiAgJHg6ICgkY29sIC0gMSkgKiAtJHdpZHRoIC0gKCRjb2wgLSAxKSAqICRtYXJnaW47XG4gICR5OiAoJHJvdyAtIDEpICogLSRoZWlnaHQgLSAoJHJvdyAtIDEpICogJG1hcmdpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHggJHk7IFxufVxuXG5cblxuLy8gU2ltaWxhciB0byAnc3ByaXRlLXJlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMnIGJ1dCBkb2VzIG5vdCBhdXRtYXRpY2x5IHNldCB0aGUgZGVtZW5zaW9uc1xuQG1peGluIHNwcml0ZS1yZXBsYWNlLXRleHQgKCRtYXAsICRzcHJpdGUsICRkaW1lbnNpb25zOiBmYWxzZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHsgICAgXG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbiAgQGluY2x1ZGUgc3ByaXRlKCRtYXAsICRzcHJpdGUsICRkaW1lbnNpb25zLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRtYXA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi8vIFNpbWlsYXIgdG8gJ3JlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMnIGJ1dCB3aXRoIHNwcml0ZXNcbi8vIFRvIHVzZSwgY3JlYXRlIHlvdXIgc3ByaXRlIGFuZCB0aGVuIHBhc3MgaXQgaW4gdGhlIGAkbWFwYCBwYXJhbVxuLy8gVGhlIG5hbWUgb2YgdGhlIGltYWdlIGluIHRoZSBzcHJpdGUgZm9sZGVyIHNob3VsZCBiZSBgJGltZy1uYW1lYFxuQG1peGluIHNwcml0ZS1yZXBsYWNlLXRleHQtd2l0aC1kaW1lbnNpb25zICgkbWFwLCAkc3ByaXRlLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCl7ICAgIFxuICBAaW5jbHVkZSBzcHJpdGUtcmVwbGFjZS10ZXh0ICgkbWFwLCAkc3ByaXRlLCB0cnVlLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG59IiwiQGltcG9ydCBcInRhYmxlcy9hbHRlcm5hdGluZy1yb3dzLWFuZC1jb2x1bW5zXCI7XG5AaW1wb3J0IFwidGFibGVzL2JvcmRlcnNcIjtcbkBpbXBvcnQgXCJ0YWJsZXMvc2NhZmZvbGRpbmdcIjtcbiIsIkBtaXhpbiBhbHRlcm5hdGluZy1yb3dzLWFuZC1jb2x1bW5zKCRldmVuLXJvdy1jb2xvciwgJG9kZC1yb3ctY29sb3IsICRkYXJrLWludGVyc2VjdGlvbiwgJGhlYWRlci1jb2xvcjogd2hpdGUsICRmb290ZXItY29sb3I6IHdoaXRlKSB7XG4gIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgICYuZXZlbiwgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItY29sb3IgLSAkZGFyay1pbnRlcnNlY3Rpb247IH0gfVxuICB0ciB7XG4gICAgJi5vZGQsICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgIHRkIHtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2RkLXJvdy1jb2xvcjtcbiAgICAgICAmLmV2ZW4sICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2RkLXJvdy1jb2xvciAtICRkYXJrLWludGVyc2VjdGlvbjsgfSB9IH1cbiAgICB9XG4gIHRyLmV2ZW4ge1xuICAgIHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRldmVuLXJvdy1jb2xvcjtcbiAgICAgICYuZXZlbiwgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV2ZW4tcm93LWNvbG9yIC0gJGRhcmstaW50ZXJzZWN0aW9uOyB9IH0gfVxuICB0Zm9vdCB7XG4gICAgdGgsIHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItY29sb3I7XG4gICAgICAmLmV2ZW4sICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItY29sb3IgLSAkZGFyay1pbnRlcnNlY3Rpb247IH0gfSB9IH1cbiIsIkBtaXhpbiBvdXRlci10YWJsZS1ib3JkZXJzKCR3aWR0aDogMnB4LCAkY29sb3I6IGJsYWNrKSB7XG4gIGJvcmRlcjogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgdGhlYWQge1xuICAgIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkY29sb3I7IH0gfVxuICB0Zm9vdCB7XG4gICAgdGgsIHRkIHtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkY29sb3I7IH0gfVxuICB0aCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkY29sb3I7IH0gfSB9XG5cbkBtaXhpbiBpbm5lci10YWJsZS1ib3JkZXJzKCR3aWR0aDogMnB4LCAkY29sb3I6IGJsYWNrKSB7XG4gIHRoLCB0ZCB7XG4gICAgYm9yZGVyOiB7XG4gICAgICByaWdodDogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGJvdHRvbTogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGxlZnQtd2lkdGg6IDBweDtcbiAgICAgIHRvcC13aWR0aDogMHB4OyB9O1xuICAgICY6bGFzdC1jaGlsZCxcbiAgICAmLmxhc3Qge1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwcHg7IH0gfVxuXG4vLyBJRTggaWdub3JlcyBydWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBvbiB0aGUgc2FtZSBsaW5lIGFzIDpsYXN0LWNoaWxkXG4vLyBzZWUgaHR0cDovL3d3dy5yaWNoYXJkc2NhcnJvdHQuY28udWsvcG9zdHMvdmlldy9pZTgtbGFzdC1jaGlsZC1idWcgZm9yIGRldGFpbHNcblxuICB0Ym9keSwgdGZvb3Qge1xuICAgIHRyOmxhc3QtY2hpbGQge1xuICAgICAgdGgsIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4OyB9IH1cbiAgICB0ci5sYXN0IHtcbiAgICAgIHRoLCB0ZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDBweDsgfSB9IH0gfVxuIiwiQG1peGluIHRhYmxlLXNjYWZmb2xkaW5nIHtcbiAgdGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICAmLm51bWVyaWMge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfSB9XG4iLCJAaW1wb3J0IFwibGlua3MvaG92ZXItbGlua1wiO1xuQGltcG9ydCBcImxpbmtzL2xpbmstY29sb3JzXCI7XG5AaW1wb3J0IFwibGlua3MvdW5zdHlsZWQtbGlua1wiO1xuIiwiLy8gYSBsaW5rIHRoYXQgb25seSBoYXMgYW4gdW5kZXJsaW5lIHdoZW4geW91IGhvdmVyIG92ZXIgaXRcbkBtaXhpbiBob3Zlci1saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfSB9XG4iLCIvLyBTZXQgYWxsIHRoZSBjb2xvcnMgZm9yIGEgbGluayB3aXRoIG9uZSBtaXhpbiBjYWxsLlxuLy8gT3JkZXIgb2YgYXJndW1lbnRzIGlzOlxuLy9cbi8vIDEuIG5vcm1hbFxuLy8gMi4gaG92ZXJcbi8vIDMuIGFjdGl2ZVxuLy8gNC4gdmlzaXRlZFxuLy8gNS4gZm9jdXNcbi8vXG4vLyBUaG9zZSBzdGF0ZXMgbm90IHNwZWNpZmllZCB3aWxsIGluaGVyaXQuXG4vLyBNaXhpbiB0byBhbiBhbmNob3IgbGluayBsaWtlIHNvOlxuLy8gICAgIGFcbi8vICAgICAgICtsaW5rLWNvbG9ycygjMDBjLCAjMGNjLCAjYzBjLCAjY2NjLCAjY2MwKVxuXG5AbWl4aW4gbGluay1jb2xvcnMoJG5vcm1hbCwgJGhvdmVyOiBmYWxzZSwgJGFjdGl2ZTogZmFsc2UsICR2aXNpdGVkOiBmYWxzZSwgJGZvY3VzOiBmYWxzZSkge1xuICBjb2xvcjogJG5vcm1hbDtcbiAgQGlmICR2aXNpdGVkIHtcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICR2aXNpdGVkOyB9IH1cbiAgQGlmICRmb2N1cyB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGZvY3VzOyB9IH1cbiAgQGlmICRob3ZlciB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGhvdmVyOyB9IH1cbiAgQGlmICRhY3RpdmUge1xuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkYWN0aXZlOyB9IH0gfVxuIiwiLy8gQSBsaW5rIHRoYXQgbG9va3MgYW5kIGFjdHMgbGlrZSB0aGUgdGV4dCBpdCBpcyBjb250YWluZWQgd2l0aGluXG5AbWl4aW4gdW5zdHlsZWQtbGluayB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIGN1cnNvcjogaW5oZXJpdDtcbiAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH0gfVxuIiwiQGltcG9ydCBcImxpc3RzL2hvcml6b250YWwtbGlzdFwiO1xuQGltcG9ydCBcImxpc3RzL2lubGluZS1saXN0XCI7XG5AaW1wb3J0IFwibGlzdHMvaW5saW5lLWJsb2NrLWxpc3RcIjtcbkBpbXBvcnQgXCJsaXN0cy9idWxsZXRzXCI7XG4iLCIvLyBIb3Jpem9udGFsIGxpc3QgbGF5b3V0IG1vZHVsZS5cbi8vXG4vLyBFYXN5IG1vZGUgdXNpbmcgc2ltcGxlIGRlc2NlbmRhbnQgbGkgc2VsZWN0b3JzOlxuLy9cbi8vICAgdWwubmF2XG4vLyAgICAgK2hvcml6b250YWwtbGlzdFxuLy9cbi8vIEFkdmFuY2VkIG1vZGU6XG4vLyBJZiB5b3UgbmVlZCB0byB0YXJnZXQgdGhlIGxpc3QgaXRlbXMgdXNpbmcgYSBkaWZmZXJlbnQgc2VsZWN0b3IgdGhlbiB1c2Vcbi8vICtob3Jpem9udGFsLWxpc3QtY29udGFpbmVyIG9uIHlvdXIgdWwvb2wgYW5kICtob3Jpem9udGFsLWxpc3QtaXRlbSBvbiB5b3VyIGxpLlxuLy8gVGhpcyBtYXkgaGVscCB3aGVuIHdvcmtpbmcgb24gbGF5b3V0cyBpbnZvbHZpbmcgbmVzdGVkIGxpc3RzLiBGb3IgZXhhbXBsZTpcbi8vXG4vLyAgIHVsLm5hdlxuLy8gICAgICtob3Jpem9udGFsLWxpc3QtY29udGFpbmVyXG4vLyAgICAgPiBsaVxuLy8gICAgICAgK2hvcml6b250YWwtbGlzdC1pdGVtXG5cbkBpbXBvcnQgXCJidWxsZXRzXCI7XG5AaW1wb3J0IFwiLi4vLi4vdXRpbGl0aWVzL2dlbmVyYWwvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvZ2VuZXJhbC9yZXNldFwiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9nZW5lcmFsL2Zsb2F0XCI7XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBzZWxlY3RvciB0aGF0IHRhcmdldCBhIHVsIG9yIG9sIHRoYXQgaXMgbWVhbnRcbi8vIHRvIGhhdmUgYSBob3Jpem9udGFsIGxheW91dC4gVXNlZCB0byBpbXBsZW1lbnQgK2hvcml6b250YWwtbGlzdC5cbkBtaXhpbiBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsO1xuICBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuXG4vLyBDYW4gYmUgbWl4ZWQgaW50byBhbnkgbGkgc2VsZWN0b3IgdGhhdCBpcyBtZWFudCB0byBwYXJ0aWNpcGF0ZSBpbiBhIGhvcml6b250YWwgbGF5b3V0LlxuLy8gVXNlZCB0byBpbXBsZW1lbnQgK2hvcml6b250YWwtbGlzdC5cbi8vXG4vLyA6bGFzdC1jaGlsZCBpcyBub3QgZnVsbHkgc3VwcG9ydGVkXG4vLyBzZWUgaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9jc3MvY29udGVudHMuaHRtbCN0MjkgZm9yIHRoZSBzdXBwb3J0IG1hdHJpeFxuLy9cbi8vIElFOCBpZ25vcmVzIHJ1bGVzIHRoYXQgYXJlIGluY2x1ZGVkIG9uIHRoZSBzYW1lIGxpbmUgYXMgOmxhc3QtY2hpbGRcbi8vIHNlZSBodHRwOi8vd3d3LnJpY2hhcmRzY2Fycm90dC5jby51ay9wb3N0cy92aWV3L2llOC1sYXN0LWNoaWxkLWJ1ZyBmb3IgZGV0YWlsc1xuLy9cbi8vIFNldHRpbmcgYCRwYWRkaW5nYCB0byBgZmFsc2VgIGRpc2FibGVzIHRoZSBwYWRkaW5nIGJldHdlZW4gbGlzdCBlbGVtZW50c1xuQG1peGluIGhvcml6b250YWwtbGlzdC1pdGVtKCRwYWRkaW5nOiA0cHgsICRkaXJlY3Rpb246IGxlZnQpIHtcbiAgQGluY2x1ZGUgbm8tYnVsbGV0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaW5jbHVkZSBmbG9hdCgkZGlyZWN0aW9uKTtcbiAgQGlmICRwYWRkaW5nIHtcbiAgICBwYWRkaW5nOiB7XG4gICAgICBsZWZ0OiAkcGFkZGluZztcbiAgICAgIHJpZ2h0OiAkcGFkZGluZztcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCwgJi5maXJzdCB7IHBhZGRpbmctI3skZGlyZWN0aW9ufTogMDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IHBhZGRpbmctI3tvcHBvc2l0ZS1wb3NpdGlvbigkZGlyZWN0aW9uKX06IDA7IH1cbiAgICAmLmxhc3QgeyBwYWRkaW5nLSN7b3Bwb3NpdGUtcG9zaXRpb24oJGRpcmVjdGlvbil9OiAwOyB9XG4gIH1cbn1cblxuLy8gQSBsaXN0KG9sLHVsKSB0aGF0IGlzIGxheWVkIG91dCBzdWNoIHRoYXQgdGhlIGVsZW1lbnRzIGFyZSBmbG9hdGVkIGxlZnQgYW5kIHdvbid0IHdyYXAuXG4vLyBUaGlzIGlzIG5vdCBhbiBpbmxpbmUgbGlzdC5cbi8vXG4vLyBTZXR0aW5nIGAkcGFkZGluZ2AgdG8gYGZhbHNlYCBkaXNhYmxlcyB0aGUgcGFkZGluZyBiZXR3ZWVuIGxpc3QgZWxlbWVudHNcbkBtaXhpbiBob3Jpem9udGFsLWxpc3QoJHBhZGRpbmc6IDRweCwgJGRpcmVjdGlvbjogbGVmdCkge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyO1xuICBsaSB7XG4gICAgQGluY2x1ZGUgaG9yaXpvbnRhbC1saXN0LWl0ZW0oJHBhZGRpbmcsICRkaXJlY3Rpb24pOyB9IH1cbiIsIi8vIFR1cm4gb2ZmIHRoZSBidWxsZXQgZm9yIGFuIGVsZW1lbnQgb2YgYSBsaXN0XG5AbWl4aW4gbm8tYnVsbGV0IHtcbiAgbGlzdC1zdHlsZS1pbWFnZSA6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtdHlwZSAgOiBub25lO1xuICBtYXJnaW4tbGVmdCAgICAgIDogMDtcbn1cblxuLy8gdHVybnMgb2ZmIHRoZSBidWxsZXRzIGZvciBhbiBlbnRpcmUgbGlzdFxuQG1peGluIG5vLWJ1bGxldHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaSB7IEBpbmNsdWRlIG5vLWJ1bGxldDsgfVxufVxuXG4vLyBNYWtlIGEgbGlzdCh1bC9vbCkgaGF2ZSBhbiBpbWFnZSBidWxsZXQuXG4vL1xuLy8gVGhlIG1peGluIHNob3VsZCBiZSB1c2VkIGxpa2UgdGhpcyBmb3IgYW4gaWNvbiB0aGF0IGlzIDV4Nzpcbi8vXG4vLyAgICAgdWwucHJldHR5XG4vLyAgICAgICArcHJldHR5LWJ1bGxldHMoXCJteS1pY29uLnBuZ1wiLCA1cHgsIDdweClcbi8vXG4vLyBBZGRpdGlvbmFsbHksIGlmIHRoZSBpbWFnZSBkaW1lbnNpb25zIGFyZSBub3QgcHJvdmlkZWQsXG4vLyBUaGUgaW1hZ2UgZGltZW5zaW9ucyB3aWxsIGJlIGV4dHJhY3RlZCBmcm9tIHRoZSBpbWFnZSBpdHNlbGYuXG4vL1xuLy8gICAgIHVsLnByZXR0eVxuLy8gICAgICAgK3ByZXR0eS1idWxsZXRzKFwibXktaWNvbi5wbmdcIilcbi8vXG5AbWl4aW4gcHJldHR5LWJ1bGxldHMoJGJ1bGxldC1pY29uLCAkd2lkdGg6IGltYWdlLXdpZHRoKCRidWxsZXQtaWNvbiksICRoZWlnaHQ6IGltYWdlLWhlaWdodCgkYnVsbGV0LWljb24pLCAkbGluZS1oZWlnaHQ6IDE4cHgsICRwYWRkaW5nOiAxNHB4KSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiBpbWFnZS11cmwoJGJ1bGxldC1pY29uKSBuby1yZXBlYXQgKCRwYWRkaW5nIC0gJHdpZHRoKSAvIDIgKCRsaW5lLWhlaWdodCAtICRoZWlnaHQpIC8gMjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIG1ha2VzIGEgbGlzdCBpbmxpbmUuXG5cbkBtaXhpbiBpbmxpbmUtbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgJiwgJiBsaSB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuXG4vLyBtYWtlcyBhbiBpbmxpbmUgbGlzdCBkZWxpbWl0ZWQgd2l0aCB0aGUgcGFzc2VkIHN0cmluZy5cbi8vIERlZmF1bHRzIHRvIG1ha2luZyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LlxuLy9cbi8vIFBsZWFzZSBtYWtlIG5vdGUgb2YgdGhlIGJyb3dzZXIgc3VwcG9ydCBpc3N1ZXMgYmVmb3JlIHVzaW5nIHRoaXMgbWl4aW46XG4vL1xuLy8gdXNlIG9mIGBjb250ZW50YCBhbmQgYDphZnRlcmAgaXMgbm90IGZ1bGx5IHN1cHBvcnRlZCBpbiBhbGwgYnJvd3NlcnMuXG4vLyBTZWUgcXVpcmtzbW9kZSBmb3IgdGhlIFtzdXBwb3J0IG1hdHJpeF0oaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9jc3MvY29udGVudHMuaHRtbCN0MTUpXG4vL1xuLy8gYDpsYXN0LWNoaWxkYCBpcyBub3QgZnVsbHkgc3VwcG9ydGVkLlxuLy8gc2VlIHF1aXJrc21vZGUgZm9yIHRoZSBbc3VwcG9ydCBtYXRyaXhdKGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvY3NzL2NvbnRlbnRzLmh0bWwjdDI5KS5cbi8vXG4vLyBJRTggaWdub3JlcyBydWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBvbiB0aGUgc2FtZSBsaW5lIGFzIDpsYXN0LWNoaWxkXG4vLyBzZWUgaHR0cDovL3d3dy5yaWNoYXJkc2NhcnJvdHQuY28udWsvcG9zdHMvdmlldy9pZTgtbGFzdC1jaGlsZC1idWcgZm9yIGRldGFpbHNcblxuQG1peGluIGRlbGltaXRlZC1saXN0KCRzZXBhcmF0b3I6IFwiLCBcIikge1xuICBAaW5jbHVkZSBpbmxpbmUtbGlzdDtcbiAgbGkge1xuICAgICY6YWZ0ZXIgeyBjb250ZW50OiAkc2VwYXJhdG9yOyB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICY6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyB9XG4gICAgfVxuICAgICYubGFzdCB7XG4gICAgICAmOmFmdGVyIHsgY29udGVudDogXCJcIjsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTZWUgW2RlbGltaXRlZC1saXN0XSgjbWl4aW4tZGVsaW1pdGVkLWxpc3QpXG4vLyBAZGVwcmVjYXRlZFxuQG1peGluIGNvbW1hLWRlbGltaXRlZC1saXN0IHtcbiAgQHdhcm4gXCJjb21tYS1kZWxpbWl0ZWQtbGlzdCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIGRlbGltaXRlZC1saXN0IGluc3RlYWQuXCI7XG4gIEBpbmNsdWRlIGRlbGltaXRlZC1saXN0O1xufVxuIiwiLy8gSW5saW5lLUJsb2NrIGxpc3QgbGF5b3V0IG1vZHVsZS5cbi8vXG4vLyBFYXN5IG1vZGUgdXNpbmcgc2ltcGxlIGRlc2NlbmRhbnQgbGkgc2VsZWN0b3JzOlxuLy9cbi8vICAgICB1bC5uYXYge1xuLy8gICAgICAgQGltcG9ydCBpbmxpbmUtYmxvY2stbGlzdDtcbi8vICAgICB9XG4vL1xuLy8gQWR2YW5jZWQgbW9kZTpcbi8vIElmIHlvdSBuZWVkIHRvIHRhcmdldCB0aGUgbGlzdCBpdGVtcyB1c2luZyBhIGRpZmZlcmVudCBzZWxlY3RvciB0aGVuIHVzZVxuLy8gYEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcmAgb24geW91ciB1bC9vbCBhbmRcbi8vIGBAaW5jbHVkZSBpbmxpbmUtYmxvY2stbGlzdC1pdGVtYCBvbiB5b3VyIGxpLiBUaGlzIG1heSBoZWxwIHdoZW4gd29ya2luZ1xuLy8gb24gbGF5b3V0cyBpbnZvbHZpbmcgbmVzdGVkIGxpc3RzLiBGb3IgZXhhbXBsZTpcbi8vXG4vLyAgICAgdWwubmF2IHtcbi8vICAgICAgIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcjtcbi8vICAgICAgID4gbGkge1xuLy8gICAgICAgICBAaW5jbHVkZSBpbmxpbmUtYmxvY2stbGlzdC1pdGVtO1xuLy8gICAgICAgfVxuLy8gICAgIH1cblxuQGltcG9ydCBcImJ1bGxldHNcIjtcbkBpbXBvcnQgXCJob3Jpem9udGFsLWxpc3RcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvZ2VuZXJhbC9mbG9hdFwiO1xuQGltcG9ydCBcIi4uLy4uL2NzczMvaW5saW5lLWJsb2NrXCI7XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBzZWxlY3RvciB0aGF0IHRhcmdldCBhIHVsIG9yIG9sIHRoYXQgaXMgbWVhbnRcbi8vIHRvIGhhdmUgYW4gaW5saW5lLWJsb2NrIGxheW91dC4gVXNlZCB0byBpbXBsZW1lbnQgYGlubGluZS1ibG9jay1saXN0YC5cbkBtaXhpbiBpbmxpbmUtYmxvY2stbGlzdC1jb250YWluZXIge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyOyB9XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBsaSBzZWxlY3RvciB0aGF0IGlzIG1lYW50IHRvIHBhcnRpY2lwYXRlIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQuXG4vLyBVc2VkIHRvIGltcGxlbWVudCBgaW5saW5lLWJsb2NrLWxpc3RgLlxuQG1peGluIGlubGluZS1ibG9jay1saXN0LWl0ZW0oJHBhZGRpbmc6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIG5vLWJ1bGxldDtcbiAgQGluY2x1ZGUgaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaWYgJHBhZGRpbmcge1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIGxlZnQ6ICRwYWRkaW5nO1xuICAgICAgcmlnaHQ6ICRwYWRkaW5nO1xuICAgIH07XG4gIH1cbn1cblxuLy8gQSBsaXN0KG9sLHVsKSB0aGF0IGlzIGxheWVkIG91dCBzdWNoIHRoYXQgdGhlIGVsZW1lbnRzIGFyZSBpbmxpbmUtYmxvY2sgYW5kIHdvbid0IHdyYXAuXG5AbWl4aW4gaW5saW5lLWJsb2NrLWxpc3QoJHBhZGRpbmc6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcjtcbiAgbGkge1xuICAgIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWl0ZW0oJHBhZGRpbmcpOyB9IH1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gU2V0IGAkaW5saW5lLWJsb2NrLWFsaWdubWVudGAgdG8gYG5vbmVgIG9yIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGUgb3V0cHV0XG4vLyBvZiBhIHZlcnRpY2FsLWFsaWduIHByb3BlcnR5IGluIHRoZSBpbmxpbmUtYmxvY2sgbWl4aW4uXG4vLyBPciBzZXQgaXQgdG8gYSBsZWdhbCB2YWx1ZSBmb3IgYHZlcnRpY2FsLWFsaWduYCB0byBjaGFuZ2UgdGhlIGRlZmF1bHQuXG4kaW5saW5lLWJsb2NrLWFsaWdubWVudDogbWlkZGxlICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBhIGNyb3NzLWJyb3dzZXIgbWV0aG9kIHRvIGltcGxlbWVudCBgZGlzcGxheTogaW5saW5lLWJsb2NrO2BcbkBtaXhpbiBpbmxpbmUtYmxvY2soJGFsaWdubWVudDogJGlubGluZS1ibG9jay1hbGlnbm1lbnQpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItbW96aWxsYSB7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIH1cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaWYgJGFsaWdubWVudCBhbmQgJGFsaWdubWVudCAhPSBub25lIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogJGFsaWdubWVudDtcbiAgfVxuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgKnZlcnRpY2FsLWFsaWduOiBhdXRvO1xuICAgIHpvb206IDE7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3N1cHBvcnRcIjtcblxuLy8gVGhpcyBtaXhpbiBwcm92aWRlcyBiYXNpYyBzdXBwb3J0IGZvciBDU1MzIHByb3BlcnRpZXMgYW5kXG4vLyB0aGVpciBjb3JyZXNwb25kaW5nIGV4cGVyaW1lbnRhbCBDU1MyIHByb3BlcnRpZXMgd2hlblxuLy8gdGhlIGltcGxlbWVudGF0aW9ucyBhcmUgaWRlbnRpY2FsIGV4Y2VwdCBmb3IgdGhlIHByb3BlcnR5XG4vLyBwcmVmaXguXG5AbWl4aW4gZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAtd2Via2l0LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgIC1raHRtbC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgIC1tb3otI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAgICAgLW1zLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAtby0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG59XG5cbi8vIFNhbWUgYXMgZXhwZXJpbWVudGFsKCksIGJ1dCBmb3IgY2FzZXMgd2hlbiB0aGUgcHJvcGVydHkgaXMgdGhlIHNhbWUgYW5kIHRoZSB2YWx1ZSBpcyB2ZW5kb3JpemVkXG5AbWl4aW4gZXhwZXJpbWVudGFsLXZhbHVlKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAjeyRwcm9wZXJ0eX0gOiAtd2Via2l0LSN7JHZhbHVlfTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgI3skcHJvcGVydHl9IDogIC1raHRtbC0jeyR2YWx1ZX07IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICN7JHByb3BlcnR5fSA6ICAgIC1tb3otI3skdmFsdWV9OyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAjeyRwcm9wZXJ0eX0gOiAgICAgLW1zLSN7JHZhbHVlfTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAtby0jeyR2YWx1ZX07IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgICAgI3skdmFsdWV9OyB9XG59XG4iLCJAaW1wb3J0IFwidGV4dC9lbGxpcHNpc1wiO1xuQGltcG9ydCBcInRleHQvbm93cmFwXCI7XG5AaW1wb3J0IFwidGV4dC9yZXBsYWNlbWVudFwiO1xuQGltcG9ydCBcInRleHQvZm9yY2Utd3JhcFwiO1xuIiwiQGltcG9ydCBcIi4uLy4uL2NzczMvc2hhcmVkXCI7XG5cbi8vIFRvIGdldCBmdWxsIGZpcmVmb3ggc3VwcG9ydCwgeW91IG11c3QgaW5zdGFsbCB0aGUgZWxsaXBzaXMgcGF0dGVybjpcbi8vXG4vLyAgICAgY29tcGFzcyBpbnN0YWxsIGNvbXBhc3MvZWxsaXBzaXNcbiR1c2UtbW96aWxsYS1lbGxpcHNpcy1iaW5kaW5nOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhpcyB0ZWNobmlxdWUsIGJ5IFtKdXN0aW4gTWF4d2VsbF0oaHR0cDovL2NvZGU0MDQuY29tLyksIHdhcyBvcmlnaW5hbGx5XG4vLyBwdWJsaXNoZWQgW2hlcmVdKGh0dHA6Ly9tYXR0c25pZGVyLmNvbS9jc3MvY3NzLXN0cmluZy10cnVuY2F0aW9uLXdpdGgtZWxsaXBzaXMvKS5cbi8vIEZpcmVmb3ggaW1wbGVtZW50YXRpb24gYnkgW1Jpa2tlcnQgS29wcGVzXShodHRwOi8vd3d3LnJpa2tlcnRrb3BwZXMuY29tL3Rob3VnaHRzLzIwMDgvNi8pLlxuQG1peGluIGVsbGlwc2lzKCRuby13cmFwOiB0cnVlKSB7XG4gIEBpZiAkbm8td3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRleHQtb3ZlcmZsb3csIGVsbGlwc2lzLFxuICAgIG5vdCgtbW96KSxcbiAgICBub3QoLXdlYmtpdCksXG4gICAgLW8sXG4gICAgLW1zLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG9mZmljaWFsXG4gICk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgYW5kICR1c2UtbW96aWxsYS1lbGxpcHNpcy1iaW5kaW5nIHtcbiAgICAtbW96LWJpbmRpbmc6IHN0eWxlc2hlZXQtdXJsKHVucXVvdGUoXCJ4bWwvZWxsaXBzaXMueG1sI2VsbGlwc2lzXCIpKTtcbiAgfVxufVxuIiwiLy8gV2hlbiByZW1lbWJlcmluZyB3aGV0aGVyIG9yIG5vdCB0aGVyZSdzIGEgaHlwaGVuIGluIHdoaXRlLXNwYWNlIGlzIHRvbyBoYXJkXG5AbWl4aW4gbm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuIiwiLy8gSW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24geW91IHByZWZlciB0byBtb3ZlIHlvdXIgdGV4dFxuLy8gd2hlbiBoaWRpbmcgaXQuXG4vL1xuLy8gYGxlZnRgIGlzIG1vcmUgcm9idXN0LCBlc3BlY2lhbGx5IGluIG9sZGVyIGJyb3dzZXJzLlxuLy8gYHJpZ2h0YCBzZWVtcyBoYXZlIGJldHRlciBydW50aW1lIHBlcmZvcm1hbmNlLlxuJGhpZGUtdGV4dC1kaXJlY3Rpb246IGxlZnQgIWRlZmF1bHQ7XG5cbi8vIEhpZGVzIGh0bWwgdGV4dCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhbiBpbWFnZS5cbi8vIElmIHlvdSB1c2UgdGhpcyBvbiBhbiBpbmxpbmUgZWxlbWVudCwgeW91IHdpbGwgbmVlZCB0byBjaGFuZ2UgdGhlIGRpc3BsYXkgdG8gYmxvY2sgb3IgaW5saW5lLWJsb2NrLlxuLy8gQWxzbywgaWYgdGhlIHNpemUgb2YgdGhlIGltYWdlIGRpZmZlcnMgc2lnbmlmaWNhbnRseSBmcm9tIHRoZSBmb250IHNpemUsIHlvdSdsbCBuZWVkIHRvIHNldCB0aGUgd2lkdGggYW5kL29yIGhlaWdodC5cbi8vXG4vLyBQYXJhbWV0ZXJzOlxuLy9cbi8vICogYGltZ2AgLS0gdGhlIHJlbGF0aXZlIHBhdGggZnJvbSB0aGUgcHJvamVjdCBpbWFnZSBkaXJlY3RvcnkgdG8gdGhlIGltYWdlLCBvciBhIHVybCBsaXRlcmFsLlxuLy8gKiBgeGAgLS0gdGhlIHggcG9zaXRpb24gb2YgdGhlIGJhY2tncm91bmQgaW1hZ2UuXG4vLyAqIGB5YCAtLSB0aGUgeSBwb3NpdGlvbiBvZiB0aGUgYmFja2dyb3VuZCBpbWFnZS5cbkBtaXhpbiByZXBsYWNlLXRleHQoJGltZywgJHg6IDUwJSwgJHk6IDUwJSkge1xuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4gIGJhY2tncm91bmQ6IHtcbiAgICBAaWYgaXMtdXJsKCRpbWcpIHtcbiAgICAgIGltYWdlOiB1cmwoJGltZyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBpbWFnZTogaW1hZ2UtdXJsKCRpbWcpO1xuICAgIH1cbiAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwb3NpdGlvbjogJHggJHk7XG4gIH07XG59XG5cbi8vIExpa2UgdGhlIGByZXBsYWNlLXRleHRgIG1peGluLCBidXQgYWxzbyBzZXRzIHRoZSB3aWR0aFxuLy8gYW5kIGhlaWdodCBvZiB0aGUgZWxlbWVudCBhY2NvcmRpbmcgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIGltYWdlLlxuLy9cbi8vIElmIHlvdSBzZXQgYCRpbmxpbmVgIHRvIHRydWUsIHRoZW4gYW4gaW5saW5lIGltYWdlIChkYXRhIHVyaSkgd2lsbCBiZSB1c2VkLlxuQG1peGluIHJlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMoJGltZywgJHg6IDUwJSwgJHk6IDUwJSwgJGlubGluZTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmVwbGFjZS10ZXh0KGlmKCRpbmxpbmUsIGlubGluZS1pbWFnZSgkaW1nKSwgJGltZyksICR4LCAkeSk7XG4gIHdpZHRoOiBpbWFnZS13aWR0aCgkaW1nKTtcbiAgaGVpZ2h0OiBpbWFnZS1oZWlnaHQoJGltZyk7XG59XG5cbi8vIEhpZGVzIHRleHQgaW4gYW4gZWxlbWVudCBzbyB5b3UgY2FuIHNlZSB0aGUgYmFja2dyb3VuZC5cbi8vXG4vLyBUaGUgZGlyZWN0aW9uIGluZGljYXRlcyBob3cgdGhlIHRleHQgc2hvdWxkIGJlIG1vdmVkIG91dCBvZiB2aWV3LlxuLy9cbi8vIFNlZSBgJGhpZGUtdGV4dC1kaXJlY3Rpb25gIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0byBzZXQgdGhpcyBnbG9iYWxseVxuLy8gZm9yIHlvdXIgYXBwbGljYXRpb24uXG5AbWl4aW4gaGlkZS10ZXh0KCRkaXJlY3Rpb246ICRoaWRlLXRleHQtZGlyZWN0aW9uKSB7XG4gIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICRhcHByb3hpbWF0ZS1lbS12YWx1ZTogMTJweDtcbiAgICAkd2lkZXItdGhhbi1hbnktc2NyZWVuOiAtOTk5OTtcbiAgICB0ZXh0LWluZGVudDogJHdpZGVyLXRoYW4tYW55LXNjcmVlbiAqICRhcHByb3hpbWF0ZS1lbS12YWx1ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH0gQGVsc2Uge1xuICAgIC8vIHNsaWdodGx5IHdpZGVyIHRoYW4gdGhlIGJveCBwcmV2ZW50cyBpc3N1ZXMgd2l0aCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAgICB0ZXh0LWluZGVudDogMTEwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLy8gSGlkZXMgdGV4dCBpbiBhbiBlbGVtZW50IGJ5IHNxdWlzaGluZyB0aGUgdGV4dCBpbnRvIG9ibGl2aW9uLlxuLy8gVXNlIHRoaXMgaWYgeW91IG5lZWQgdG8gaGlkZSB0ZXh0IGNvbnRhaW5lZCBpbiBhbiBpbmxpbmUgZWxlbWVudFxuLy8gYnV0IHN0aWxsIGhhdmUgaXQgcmVhZCBieSBhIHNjcmVlbiByZWFkZXIuXG5AbWl4aW4gc3F1aXNoLXRleHQge1xuICBmb250OiAwLzAgc2VyaWY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4iLCIvLyBQcmV2ZW50IGxvbmcgdXJscyBhbmQgdGV4dCBmcm9tIGJyZWFraW5nIGxheW91dHNcbi8vIFtvcmlnaW5hbGx5IGZyb20gcGVyaXNoYWJsZXByZXNzLmNvbV0oaHR0cDovL3BlcmlzaGFibGVwcmVzcy5jb20vcHJlc3MvMjAxMC8wNi8wMS93cmFwcGluZy1jb250ZW50LylcbkBtaXhpbiBmb3JjZS13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IHByZTsgICAgICAgICAgIC8vIENTUyAyLjBcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAgICAgIC8vIENTUyAyLjFcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lOyAgICAgIC8vIENTUyAzLjBcbiAgd2hpdGUtc3BhY2U6IC1wcmUtd3JhcDsgICAgIC8vIE9wZXJhIDQtNlxuICB3aGl0ZS1zcGFjZTogLW8tcHJlLXdyYXA7ICAgLy8gT3BlcmEgN1xuICB3aGl0ZS1zcGFjZTogLW1vei1wcmUtd3JhcDsgLy8gTW96aWxsYVxuICB3aGl0ZS1zcGFjZTogLWhwLXByZS13cmFwOyAgLy8gSFAgUHJpbnRlcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyAgICAgIC8vIElFIDUrXG59XG4iLCJAaW1wb3J0IFwidHlwb2dyYXBoeS9saW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvbGlzdHNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3RleHRcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3ZlcnRpY2FsX3JoeXRobVwiO1xuIiwiQGltcG9ydCBcIi4uL2xheW91dC9ncmlkLWJhY2tncm91bmRcIjtcblxuLy8gVGhlIGJhc2UgZm9udCBzaXplLlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIGRlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciByaHl0aG0gYm9yZGVycy5cbiRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuJGJyb3dzZXItZGVmYXVsdC1mb250LXNpemU6IDE2cHg7XG5cbi8vIFNldCB0byBmYWxzZSBpZiB5b3Ugd2FudCB0byB1c2UgYWJzb2x1dGUgcGl4ZWxzIGluIHNpemluZyB5b3VyIHR5cG9ncmFwaHkuXG4kcmVsYXRpdmUtZm9udC1zaXppbmc6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyB0aGUgYGFkanVzdC1mb250LXNpemUtdG9gIG1peGluIGFuZCB0aGUgYGxpbmVzLWZvci1mb250LXNpemVgIGZ1bmN0aW9uXG4vLyB0byByb3VuZCB0aGUgbGluZSBoZWlnaHQgdG8gdGhlIG5lYXJlc3QgaGFsZiBsaW5lIGhlaWdodCBpbnN0ZWFkIG9mIHRoZVxuLy8gbmVhcmVzdCBpbnRlZ3JhbCBsaW5lIGhlaWdodCB0byBhdm9pZCBsYXJnZSBzcGFjaW5nIGJldHdlZW4gbGluZXMuXG4kcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBFbnN1cmUgdGhlcmUgaXMgYXQgbGVhc3QgdGhpcyBtYW55IHBpeGVsc1xuLy8gb2YgdmVydGljYWwgcGFkZGluZyBhYm92ZSBhbmQgYmVsb3cgdGhlIHRleHQuXG4kbWluLWxpbmUtcGFkZGluZzogMnB4ICFkZWZhdWx0O1xuXG4vLyAkYmFzZS1mb250LXNpemUgYnV0IGluIHlvdXIgb3V0cHV0IHVuaXQgb2YgY2hvaWNlLlxuLy8gRGVmYXVsdHMgdG8gMWVtIHdoZW4gYCRyZWxhdGl2ZS1mb250LXNpemluZ2AgaXMgdHJ1ZS5cbiRmb250LXVuaXQ6IGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgMWVtLCAkYmFzZS1mb250LXNpemUpICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzaWMgdW5pdCBvZiBmb250IHJoeXRobS5cbiRiYXNlLXJoeXRobS11bml0OiAkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSAqICRmb250LXVuaXQ7XG5cbi8vIFRoZSBsZWFkZXIgaXMgdGhlIGFtb3VudCBvZiB3aGl0ZXNwYWNlIGluIGEgbGluZS5cbi8vIEl0IG1pZ2h0IGJlIHVzZWZ1bCBpbiB5b3VyIGNhbGN1bGF0aW9ucy5cbiRiYXNlLWxlYWRlcjogKCRiYXNlLWxpbmUtaGVpZ2h0IC0gJGJhc2UtZm9udC1zaXplKSAqICRmb250LXVuaXQgLyAkYmFzZS1mb250LXNpemU7XG5cbi8vIFRoZSBoYWxmLWxlYWRlciBpcyB0aGUgYW1vdW50IG9mIHdoaXRlc3BhY2UgYWJvdmUgYW5kIGJlbG93IGEgbGluZS5cbi8vIEl0IG1pZ2h0IGJlIHVzZWZ1bCBpbiB5b3VyIGNhbGN1bGF0aW9ucy5cbiRiYXNlLWhhbGYtbGVhZGVyOiAkYmFzZS1sZWFkZXIgLyAyO1xuXG4vLyBUcnVlIGlmIGEgbnVtYmVyIGhhcyBhIHJlbGF0aXZlIHVuaXQuXG5AZnVuY3Rpb24gcmVsYXRpdmUtdW5pdCgkbnVtYmVyKSB7XG4gIEByZXR1cm4gdW5pdCgkbnVtYmVyKSA9PSBcIiVcIiBvciB1bml0KCRudW1iZXIpID09IFwiZW1cIiBvciB1bml0KCRudW1iZXIpID09IFwicmVtXCJcbn1cblxuLy8gVHJ1ZSBpZiBhIG51bWJlciBoYXMgYW4gYWJzb2x1dGUgdW5pdC5cbkBmdW5jdGlvbiBhYnNvbHV0ZS11bml0KCRudW1iZXIpIHtcbiAgQHJldHVybiBub3QocmVsYXRpdmUtdW5pdCgkbnVtYmVyKSBvciB1bml0bGVzcygkbnVtYmVyKSk7XG59XG5cbkBpZiAkcmVsYXRpdmUtZm9udC1zaXppbmcgYW5kIG5vdChyZWxhdGl2ZS11bml0KCRmb250LXVuaXQpKSB7XG4gIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIHRydWUgYnV0ICRmb250LXVuaXQgaXMgc2V0IHRvICN7JGZvbnQtdW5pdH0gd2hpY2ggaXMgbm90IGEgcmVsYXRpdmUgdW5pdC5cIjtcbn1cblxuLy8gRXN0YWJsaXNoZXMgYSBmb250IGJhc2VsaW5lIGZvciB0aGUgZ2l2ZW4gZm9udC1zaXplLlxuQG1peGluIGVzdGFibGlzaC1iYXNlbGluZSgkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgLy8gSUUgNiByZWZ1c2VzIHRvIHJlc2l6ZSBmb250cyBzZXQgaW4gcGl4ZWxzIGFuZCBpdCB3ZWlyZGx5IHJlc2l6ZXMgZm9udHNcbiAgLy8gd2hvc2Ugcm9vdCBpcyBzZXQgaW4gZW1zLiBTbyB3ZSBzZXQgdGhlIHJvb3QgZm9udCBzaXplIGluIHBlcmNlbnRhZ2VzIG9mXG4gIC8vIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZS5cbiAgKiBodG1sIHtcbiAgICBmb250LXNpemU6IDEwMCUgKiAoJGZvbnQtc2l6ZSAvICRicm93c2VyLWRlZmF1bHQtZm9udC1zaXplKTtcbiAgfVxuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oMSwgaWYoJHJlbGF0aXZlLWZvbnQtc2l6aW5nLCAkZm9udC1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbiAgfVxufVxuXG4vLyBSZXNldHMgdGhlIGxpbmUtaGVpZ2h0IHRvIDEgdmVydGljYWwgcmh5dGhtIHVuaXQuXG4vLyBEb2VzIG5vdCB3b3JrIG9uIGVsZW1lbnRzIHdob3NlIGZvbnQtc2l6ZSBpcyBkaWZmZXJlbnQgZnJvbSAkYmFzZS1mb250LXNpemUuXG4vL1xuLy8gQGRlcHJlY2F0ZWQgVGhpcyBtaXhpbiB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS5cbi8vIFBsZWFzZSB1c2UgdGhlIGBhZGp1c3QtbGVhZGluZy10b2AgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiByZXNldC1iYXNlbGluZSB7XG4gIEBpbmNsdWRlIGFkanVzdC1sZWFkaW5nLXRvKDEsIGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgJGJhc2UtZm9udC1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbn1cblxuLy8gU2hvdyBhIGJhY2tncm91bmQgaW1hZ2UgdGhhdCBjYW4gYmUgdXNlZCB0byBkZWJ1ZyB5b3VyIGFsaWdubWVudHMuXG4vLyBJbmNsdWRlIHRoZSAkaW1nIGFyZ3VtZW50IGlmIHlvdSB3b3VsZCByYXRoZXIgdXNlIHlvdXIgb3duIGltYWdlIHRoYW4gdGhlXG4vLyBDb21wYXNzIGRlZmF1bHQgZ3JhZGllbnQgaW1hZ2UuXG5AbWl4aW4gZGVidWctdmVydGljYWwtYWxpZ25tZW50KCRpbWc6IGZhbHNlKSB7XG4gIEBpZiAkaW1nIHtcbiAgICBiYWNrZ3JvdW5kOiBpbWFnZS11cmwoJGltZyk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZCgkYmFzZS1yaHl0aG0tdW5pdCk7XG4gIH1cbn1cblxuLy8gQWRqdXN0IGEgYmxvY2sgdG8gaGF2ZSBhIGRpZmZlcmVudCBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IHRvIG1haW50YWluIHRoZVxuLy8gcmh5dGhtLiAkbGluZXMgc3BlY2lmaWVzIGhvdyBtYW55IG11bHRpcGxlcyBvZiB0aGUgYmFzZWxpbmUgcmh5dGhtIGVhY2ggbGluZVxuLy8gb2YgdGhpcyBmb250IHNob3VsZCB1c2UgdXAuIEl0IGRvZXMgbm90IGhhdmUgdG8gYmUgYW4gaW50ZWdlciwgYnV0IGl0XG4vLyBkZWZhdWx0cyB0byB0aGUgc21hbGxlc3QgaW50ZWdlciB0aGF0IGlzIGxhcmdlIGVub3VnaCB0byBmaXQgdGhlIGZvbnQuXG4vLyBVc2UgJGZyb20tc2l6ZSB0byBhZGp1c3QgZnJvbSBhIGZvbnQtc2l6ZSBvdGhlciB0aGFuIHRoZSBiYXNlIGZvbnQtc2l6ZS5cbkBtaXhpbiBhZGp1c3QtZm9udC1zaXplLXRvKCR0by1zaXplLCAkbGluZXM6IGxpbmVzLWZvci1mb250LXNpemUoJHRvLXNpemUpLCAkZnJvbS1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZnJvbS1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gYWRqdXN0LWZvbnQtc2l6ZS10b1wiO1xuICB9XG4gIGZvbnQtc2l6ZTogJGZvbnQtdW5pdCAqICR0by1zaXplIC8gJGZyb20tc2l6ZTtcbiAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oJGxpbmVzLCBpZigkcmVsYXRpdmUtZm9udC1zaXppbmcsICR0by1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbn1cblxuLy8gQWRqdXN0IGEgYmxvY2sgdG8gaGF2ZSBkaWZmZXJlbnQgbGluZSBoZWlnaHQgdG8gbWFpbnRhaW4gdGhlIHJoeXRobS5cbi8vICRsaW5lcyBzcGVjaWZpZXMgaG93IG1hbnkgbXVsdGlwbGVzIG9mIHRoZSBiYXNlbGluZSByaHl0aG0gZWFjaCBsaW5lIG9mIHRoaXNcbi8vIGZvbnQgc2hvdWxkIHVzZSB1cC4gSXQgZG9lcyBub3QgaGF2ZSB0byBiZSBhbiBpbnRlZ2VyLCBidXQgaXQgZGVmYXVsdHMgdG8gdGhlXG4vLyBzbWFsbGVzdCBpbnRlZ2VyIHRoYXQgaXMgbGFyZ2UgZW5vdWdoIHRvIGZpdCB0aGUgZm9udC5cbkBtaXhpbiBhZGp1c3QtbGVhZGluZy10bygkbGluZXMsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBsaW5lLWhlaWdodDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIENhbGN1bGF0ZSByaHl0aG0gdW5pdHMuXG5AZnVuY3Rpb24gcmh5dGhtKFxuICAkbGluZXM6IDEsXG4gICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSxcbiAgJG9mZnNldDogMFxuKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZvbnQtc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIHRoZSByaHl0aG0gZnVuY3Rpb25cIjtcbiAgfVxuICAkcmh5dGhtOiAkZm9udC11bml0ICogKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJG9mZnNldCkgLyAkZm9udC1zaXplO1xuICAvLyBSb3VuZCB0aGUgcGl4ZWxzIGRvd24gdG8gbmVhcmVzdCBpbnRlZ2VyLlxuICBAaWYgdW5pdCgkcmh5dGhtKSA9PSBweCB7XG4gICAgJHJoeXRobTogZmxvb3IoJHJoeXRobSk7XG4gIH1cbiAgQHJldHVybiAkcmh5dGhtO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gbXVsdGlwbGUgb2Ygcmh5dGhtIHVuaXRzIG5lZWRlZCB0byBjb250YWluIHRoZSBmb250LXNpemUuXG5AZnVuY3Rpb24gbGluZXMtZm9yLWZvbnQtc2l6ZSgkZm9udC1zaXplKSB7XG4gICRsaW5lczogaWYoJHJvdW5kLXRvLW5lYXJlc3QtaGFsZi1saW5lLFxuICAgICAgICAgICAgICBjZWlsKDIgKiAkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpIC8gMixcbiAgICAgICAgICAgICAgY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpKTtcbiAgQGlmICRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSA8ICRtaW4tbGluZS1wYWRkaW5nICogMiB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyBpZigkcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmUsIDAuNSwgMSk7XG4gIH1cbiAgQHJldHVybiAkbGluZXM7XG59XG5cbi8vIEFwcGx5IGxlYWRpbmcgd2hpdGVzcGFjZS4gVGhlICRwcm9wZXJ0eSBjYW4gYmUgbWFyZ2luIG9yIHBhZGRpbmcuXG5AbWl4aW4gbGVhZGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkcHJvcGVydHk6IG1hcmdpbikge1xuICAjeyRwcm9wZXJ0eX0tdG9wOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgbGVhZGluZyB3aGl0ZXNwYWNlIGFzIHBhZGRpbmcuXG5AbWl4aW4gcGFkZGluZy1sZWFkZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgcGFkZGluZy10b3A6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSBsZWFkaW5nIHdoaXRlc3BhY2UgYXMgbWFyZ2luLlxuQG1peGluIG1hcmdpbi1sZWFkZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgbWFyZ2luLXRvcDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IHRyYWlsaW5nIHdoaXRlc3BhY2UuIFRoZSAkcHJvcGVydHkgY2FuIGJlIG1hcmdpbiBvciBwYWRkaW5nLlxuQG1peGluIHRyYWlsZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRwcm9wZXJ0eTogbWFyZ2luKSB7XG4gICN7JHByb3BlcnR5fS1ib3R0b206IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSB0cmFpbGluZyB3aGl0ZXNwYWNlIGFzIHBhZGRpbmcuXG5AbWl4aW4gcGFkZGluZy10cmFpbGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIHBhZGRpbmctYm90dG9tOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgdHJhaWxpbmcgd2hpdGVzcGFjZSBhcyBtYXJnaW4uXG5AbWl4aW4gbWFyZ2luLXRyYWlsZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIFNob3J0aGFuZCBtaXhpbiB0byBhcHBseSB3aGl0ZXNwYWNlIGZvciB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIGFuZCBwYWRkaW5nLlxuQG1peGluIHJoeXRobSgkbGVhZGVyOiAwLCAkcGFkZGluZy1sZWFkZXI6IDAsICRwYWRkaW5nLXRyYWlsZXI6IDAsICR0cmFpbGVyOiAwLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbGVhZGVyKCRsZWFkZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSBwYWRkaW5nLWxlYWRlcigkcGFkZGluZy1sZWFkZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSBwYWRkaW5nLXRyYWlsZXIoJHBhZGRpbmctdHJhaWxlciwgJGZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIHRyYWlsZXIoJHRyYWlsZXIsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSBhIGJvcmRlciBhbmQgd2hpdGVzcGFjZSB0byBhbnkgc2lkZSB3aXRob3V0IGRlc3Ryb3lpbmcgdGhlIHZlcnRpY2FsXG4vLyByaHl0aG0uIFRoZSB3aGl0ZXNwYWNlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyLlxuQG1peGluIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcigkc2lkZSwgJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZvbnQtc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlclwiO1xuICB9XG4gIGJvcmRlci0jeyRzaWRlfS1zdHlsZTogJGJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLSN7JHNpZGV9LXdpZHRoOiAkZm9udC11bml0ICogJHdpZHRoIC8gJGZvbnQtc2l6ZTtcbiAgcGFkZGluZy0jeyRzaWRlfTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSwgJG9mZnNldDogJHdpZHRoKTtcbn1cblxuLy8gQXBwbHkgYm9yZGVycyBhbmQgd2hpdGVzcGFjZSBlcXVhbGx5IHRvIGFsbCBzaWRlcy5cbkBtaXhpbiByaHl0aG0tYm9yZGVycygkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZm9udC1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gcmh5dGhtLWJvcmRlcnNcIjtcbiAgfVxuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGZvbnQtdW5pdCAqICR3aWR0aCAvICRmb250LXNpemU7XG4gIH07XG4gIHBhZGRpbmc6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUsICRvZmZzZXQ6ICR3aWR0aCk7XG59XG5cbi8vIEFwcGx5IGEgbGVhZGluZyBib3JkZXIuXG5AbWl4aW4gbGVhZGluZy1ib3JkZXIoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcih0b3AsICR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cblxuLy8gQXBwbHkgYSB0cmFpbGluZyBib3JkZXIuXG5AbWl4aW4gdHJhaWxpbmctYm9yZGVyKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaW5jbHVkZSBhcHBseS1zaWRlLXJoeXRobS1ib3JkZXIoYm90dG9tLCAkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG59XG5cbi8vIEFwcGx5IGJvdGggbGVhZGluZyBhbmQgdHJhaWxpbmcgYm9yZGVycy5cbkBtaXhpbiBob3Jpem9udGFsLWJvcmRlcnMoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGxlYWRpbmctYm9yZGVyKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbiAgQGluY2x1ZGUgdHJhaWxpbmctYm9yZGVyKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cblxuLy8gQWxpYXMgZm9yIGBob3Jpem9udGFsLWJvcmRlcnNgIG1peGluLlxuQG1peGluIGgtYm9yZGVycygkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGluY2x1ZGUgaG9yaXpvbnRhbC1ib3JkZXJzKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cbiIsIkBpbXBvcnQgXCIuLi9jc3MzL2ltYWdlc1wiO1xuQGltcG9ydCBcIi4uL2NzczMvYmFja2dyb3VuZC1zaXplXCI7XG5cbi8vIFNldCB0aGUgY29sb3Igb2YgeW91ciBjb2x1bW5zXG4kZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvciAgICAgOiByZ2JhKDEwMCwgMTAwLCAyMjUsIDAuMjUpICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIGNvbG9yIG9mIHlvdXIgZ3V0dGVyc1xuJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IgICAgIDogcmdiYSgwLCAwLCAwLCAwKSAgICAgICAgICAgICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHlvdXIgZ3JpZFxuJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zICAgIDogMjQgICAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gU2V0IHRoZSB3aWR0aCBvZiB5b3VyIGNvbHVtbnNcbiRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoICAgICA6IDMwcHggICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFNldCB0aGUgd2lkdGggb2YgeW91ciBndXR0ZXJzXG4kZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCAgICAgOiAxMHB4ICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIG9mZnNldCwgaWYgeW91ciBjb2x1bW5zIGFyZSBwYWRkZWQgaW4gZnJvbSB0aGUgY29udGFpbmVyIGVkZ2VcbiRncmlkLWJhY2tncm91bmQtb2Zmc2V0ICAgICAgICAgICA6IDBweCAgICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBjb2xvciBvZiB5b3VyIGJhc2VsaW5lXG4kZ3JpZC1iYWNrZ3JvdW5kLWJhc2VsaW5lLWNvbG9yICAgOiByZ2JhKDAsIDAsIDAsIDAuNSkgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIGhlaWdodCBvZiB5b3VyIGJhc2VsaW5lIGdyaWRcbiRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtaGVpZ2h0ICA6IDEuNWVtICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuLy8gdG9nZ2xlIHlvdXIgY29sdW1ucyBncmlkcyBvbiBhbmQgb2ZmXG4kc2hvdy1jb2x1bW4tZ3JpZC1iYWNrZ3JvdW5kcyAgICAgOiB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyB0b2dnbGUgeW91ciB2ZXJ0aWNhbCBncmlkcyBvbiBhbmQgb2ZmXG4kc2hvdy1iYXNlbGluZS1ncmlkLWJhY2tncm91bmRzICAgOiB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyB0b2dnbGUgYWxsIHlvdXIgZ3JpZHMgb24gYW5kIG9mZlxuJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyAgICAgICAgICAgIDogdHJ1ZSAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG4vLyBvcHRpb25hbGx5IGZvcmNlIHlvdXIgZ3JpZC1pbWFnZSB0byByZW1haW4gZmx1aWRcbi8vIG5vIG1hdHRlciB3aGF0IHVuaXRzIHlvdSB1c2VkIHRvIGRlY2xhcmVkIHlvdXIgZ3JpZC5cbiRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWQgICAgICA6IGZhbHNlICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBDcmVhdGUgdGhlIGdyYWRpZW50IG5lZWRlZCBmb3IgYmFzZWxpbmUgZ3JpZHNcbkBmdW5jdGlvbiBnZXQtYmFzZWxpbmUtZ3JhZGllbnQoXG4gICRjb2xvciA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3Jcbikge1xuICAkZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudChib3R0b20sICRjb2xvciA1JSwgcmdiYSgkY29sb3IsMCkgNSUpO1xuICBAcmV0dXJuICRncmFkaWVudDtcbn1cblxuLy8gQ3JlYXRlIHRoZSBjb2xvci1zdG9wcyBuZWVkZWQgZm9yIGhvcml6b250YWwgZ3JpZHNcbkBmdW5jdGlvbiBidWlsZC1ncmlkLWJhY2tncm91bmQoXG4gICR0b3RhbCAgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyxcbiAgJGNvbHVtbiAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGgsXG4gICRndXR0ZXIgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoLFxuICAkb2Zmc2V0ICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLW9mZnNldCxcbiAgJGNvbHVtbi1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4tY29sb3IsXG4gICRndXR0ZXItY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLWNvbG9yXG4pIHtcbiAgJGdyaWQ6IGNvbXBhY3QoKTtcbiAgJGdyaWQ6IGFwcGVuZCgkZ3JpZCwgJGd1dHRlci1jb2xvciAkb2Zmc2V0LCBjb21tYSk7XG4gIEBmb3IgJGkgZnJvbSAwIHRvICR0b3RhbCB7XG5cbiAgICAvLyAkYSByZXByZXNlbnRzIHRoZSBzdGFydCBvZiB0aGlzIGNvbHVtbiwgaW5pdGlhbGx5IGVxdWFsIHRvIHRoZSBvZmZzZXRcbiAgICAkYTogJG9mZnNldDtcbiAgICBAaWYgJGkgPiAwIHsgJGE6ICRhICsgKCgkY29sdW1uICsgJGd1dHRlcikgKiAkaSk7IH1cblxuICAgIC8vICRnIHJlcHJlc2VudHMgdGhlIHN0YXJ0IG9mIHRoaXMgZ3V0dGVyLCBlcXVhbCB0byAkYSBwbHVzIG9uZSBjb2x1bW4td2lkdGhcbiAgICAkZzogJGEgKyAkY29sdW1uO1xuXG4gICAgLy8gJHogcmVwcmVzZW50cyB0aGUgZW5kIG9mIGEgZ3V0dGVyLCBlcXVhbCB0byAkZyBwbHVzIG9uZSBndXR0ZXItd2lkdGhcbiAgICAkejogJGcgKyAkZ3V0dGVyO1xuXG4gICAgQGlmICh1bml0KCRhKSA9PSBcIiVcIikgYW5kICgkaSA9PSAoJHRvdGFsIC0gMSkpIHtcbiAgICAgICR6OiAxMDAlO1xuICAgIH1cblxuICAgIC8vIGFuZCB3ZSBhZGQgdGhpcyBjb2x1bW4vZ3V0dGVyIHBhaXIgdG8gb3VyIGdyaWRcbiAgICAkZ3JpZDogam9pbigkZ3JpZCwgKCRjb2x1bW4tY29sb3IgJGEsICRjb2x1bW4tY29sb3IgJGcsICRndXR0ZXItY29sb3IgJGcsICRndXR0ZXItY29sb3IgJHopKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyaWQ7XG59XG5cbi8vIFJldHVybiB0aGUgZ3JhZGllbnQgbmVlZGVkIGZvciBob3Jpem9udGFsIGdyaWRzXG5AZnVuY3Rpb24gZ2V0LWNvbHVtbi1ncmFkaWVudChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IsXG4gICRmb3JjZS1mbHVpZCAgICA6ICRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWRcbikge1xuICAkZ3JpZDogdW5xdW90ZShcIlwiKTtcblxuICAvLyBkb24ndCBmb3JjZSBmbHVpZCBncmlkcyB3aGVuIHRoZXkgYXJlIGFscmVhZHkgZmx1aWQuXG4gIEBpZiB1bml0KCRjb2x1bW4pID09IFwiJVwiIHsgJGZvcmNlLWZsdWlkOiBmYWxzZTsgfVxuXG4gIEBpZiAkZm9yY2UtZmx1aWQge1xuICAgICRncmlkOiBnZXQtY29sdW1uLWZsdWlkLWdyaWQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvcik7XG4gIH0gQGVsc2Uge1xuICAgICRncmlkOiBidWlsZC1ncmlkLWJhY2tncm91bmQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvcik7XG4gIH1cblxuICAvLyByZXR1cm4gdGhlIGhvcml6b250YWwgZ3JpZCBhcyBhIGdyYWRpZW50XG4gICRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KGxlZnQsICRncmlkKTtcbiAgQHJldHVybiAkZ3JhZGllbnQ7XG59XG5cbi8vIENvbnZlcnQgYSBncmlkIGZyb20gZml4ZWQgdW5pdHMgaW50byBwZXJjZW50YWdlcy5cbkBmdW5jdGlvbiBnZXQtY29sdW1uLWZsdWlkLWdyaWQoXG4gICR0b3RhbCAgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyxcbiAgJGNvbHVtbiAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGgsXG4gICRndXR0ZXIgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoLFxuICAkb2Zmc2V0ICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLW9mZnNldCxcbiAgJGNvbHVtbi1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4tY29sb3IsXG4gICRndXR0ZXItY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLWNvbG9yXG4pIHtcbiAgJGNvbnRleHQ6ICgkY29sdW1uICogJHRvdGFsKSArICgkZ3V0dGVyICogKCR0b3RhbCAtIDEpICsgKCRvZmZzZXQgKiAyKSk7XG4gICRvZmZzZXQ6ICRvZmZzZXQgLyAkY29udGV4dCAqIDEwMCU7XG4gICRjb2x1bW46ICRjb2x1bW4gLyAkY29udGV4dCAqIDEwMCU7XG4gICRndXR0ZXI6ICRndXR0ZXIgLyAkY29udGV4dCAqIDEwMCU7XG5cbiAgLy8gcmV0dXJuIHRoZSBob3Jpem9udGFsIGdyaWQgYXMgYSBzZXQgb2YgY29sb3Itc3RvcHNcbiAgJGdyaWQ6IGJ1aWxkLWdyaWQtYmFja2dyb3VuZCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yKTtcbiAgQHJldHVybiAkZ3JpZDtcbn1cblxuXG4vLyBBZGQganVzdCB0aGUgYmFzZWxpbmUgZ3JpZCB0byBhbiBlbGVtZW50J3MgYmFja2dyb3VuZFxuQG1peGluIGJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZChcbiAgJGJhc2VsaW5lIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1oZWlnaHQsXG4gICRjb2xvciAgICA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3Jcbikge1xuICBAaWYgJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyBhbmQgJHNob3ctYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kcyB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShnZXQtYmFzZWxpbmUtZ3JhZGllbnQoJGNvbG9yKSk7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1zaXplKDEwMCUgJGJhc2VsaW5lKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgfVxufVxuXG4vLyBBZGQganVzdCB0aGUgaG9yaXpvbnRhbCBncmlkIHRvIGFuIGVsZW1lbnQncyBiYWNrZ3JvdW5kXG5AbWl4aW4gY29sdW1uLWdyaWQtYmFja2dyb3VuZChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IsXG4gICRmb3JjZS1mbHVpZCAgICA6ICRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWRcbikge1xuICBAaWYgJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyBhbmQgJHNob3ctY29sdW1uLWdyaWQtYmFja2dyb3VuZHMge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoXG4gICAgICBnZXQtY29sdW1uLWdyYWRpZW50KCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IsICRmb3JjZS1mbHVpZClcbiAgICApO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICB9XG59XG5cbi8vIEFkZCBib3RoIGhvcml6b250YWwgYW5kIGJhc2VsaW5lIGdyaWRzIHRvIGFuIGVsZW1lbnQncyBiYWNrZ3JvdW5kXG5AbWl4aW4gZ3JpZC1iYWNrZ3JvdW5kKFxuICAkdG90YWwgICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLXRvdGFsLWNvbHVtbnMsXG4gICRjb2x1bW4gICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoLFxuICAkZ3V0dGVyICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCxcbiAgJGJhc2VsaW5lICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1oZWlnaHQsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IsXG4gICRiYXNlbGluZS1jb2xvciA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3IsXG4gICRmb3JjZS1mbHVpZCAgICA6ICRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWRcbikge1xuICBAaWYgJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyB7XG4gICAgQGlmICRzaG93LWJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZHMgYW5kICRzaG93LWNvbHVtbi1ncmlkLWJhY2tncm91bmRzIHtcbiAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoXG4gICAgICAgIGdldC1iYXNlbGluZS1ncmFkaWVudCgkYmFzZWxpbmUtY29sb3IpLFxuICAgICAgICBnZXQtY29sdW1uLWdyYWRpZW50KCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IsICRmb3JjZS1mbHVpZClcbiAgICAgICk7XG4gICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXNpemUoMTAwJSAkYmFzZWxpbmUsIGF1dG8pO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBiYXNlbGluZS1ncmlkLWJhY2tncm91bmQoJGJhc2VsaW5lLCAkYmFzZWxpbmUtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgY29sdW1uLWdyaWQtYmFja2dyb3VuZCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yLCAkZm9yY2UtZmx1aWQpO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuQGltcG9ydCBcIi4uL3V0aWxpdGllcy9nZW5lcmFsL2hhY2tzXCI7XG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zXCI7XG5cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGJhY2tncm91bmQoXG4gICRiYWNrZ3JvdW5kLTEsXG4gICRiYWNrZ3JvdW5kLTI6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0zOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTU6IGZhbHNlLFxuICAkYmFja2dyb3VuZC02OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTg6IGZhbHNlLFxuICAkYmFja2dyb3VuZC05OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMTA6IGZhbHNlXG4pIHtcbiAgJGJhY2tncm91bmRzOiBjb21wYWN0KCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG4gICRtdWx0LWJnczogLWNvbXBhc3MtbGlzdC1zaXplKCRiYWNrZ3JvdW5kcykgPiAxO1xuICAkYWRkLXBpZS1iZzogcHJlZml4ZWQoLXBpZSwgICAkYmFja2dyb3VuZHMpIG9yICRtdWx0LWJncztcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtc3ZnKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtb3dnKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0KCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtbW96KCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAgIC1vKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllICAgICAgICAgIGFuZCAkYWRkLXBpZS1iZyAgICAgICAgICAgICAgICAgICAgIHsgLXBpZS1iYWNrZ3JvdW5kOiAgICAtcGllKCRiYWNrZ3JvdW5kcyk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAgICAgICAgICRiYWNrZ3JvdW5kcyA7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLXdpdGgtY3NzMi1mYWxsYmFjayhcbiAgJGJhY2tncm91bmQtMSxcbiAgJGJhY2tncm91bmQtMjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTM6IGZhbHNlLFxuICAkYmFja2dyb3VuZC00OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTY6IGZhbHNlLFxuICAkYmFja2dyb3VuZC03OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtODogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTk6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0xMDogZmFsc2Vcbikge1xuICAkYmFja2dyb3VuZHM6IGNvbXBhY3QoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbiAgJG11bHQtYmdzOiAtY29tcGFzcy1saXN0LXNpemUoJGJhY2tncm91bmRzKSA+IDE7XG4gICRzaW1wbGUtYmFja2dyb3VuZDogaWYoJG11bHQtYmdzIG9yIHByZWZpeGVkKC1jc3MyLCAkYmFja2dyb3VuZHMpLCAtY3NzMigtY29tcGFzcy1udGgoJGJhY2tncm91bmRzLCBsYXN0KSksIGZhbHNlKTtcbiAgQGlmIG5vdChibGFuaygkc2ltcGxlLWJhY2tncm91bmQpKSB7IGJhY2tncm91bmQ6ICRzaW1wbGUtYmFja2dyb3VuZDsgfVxuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xufVxuXG5cbi8vIEJhY2tncm91bmQgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoXG4gICRpbWFnZS0xLFxuICAkaW1hZ2UtMjogZmFsc2UsXG4gICRpbWFnZS0zOiBmYWxzZSxcbiAgJGltYWdlLTQ6IGZhbHNlLFxuICAkaW1hZ2UtNTogZmFsc2UsXG4gICRpbWFnZS02OiBmYWxzZSxcbiAgJGltYWdlLTc6IGZhbHNlLFxuICAkaW1hZ2UtODogZmFsc2UsXG4gICRpbWFnZS05OiBmYWxzZSxcbiAgJGltYWdlLTEwOiBmYWxzZVxuKSB7XG4gICRpbWFnZXM6IGNvbXBhY3QoJGltYWdlLTEsICRpbWFnZS0yLCAkaW1hZ2UtMywgJGltYWdlLTQsICRpbWFnZS01LCAkaW1hZ2UtNiwgJGltYWdlLTcsICRpbWFnZS04LCAkaW1hZ2UtOSwgJGltYWdlLTEwKTtcbiAgJGFkZC1waWUtYmc6IHByZWZpeGVkKC1waWUsICAgJGltYWdlcykgb3IgLWNvbXBhc3MtbGlzdC1zaXplKCRpbWFnZXMpID4gMTtcblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLXN2ZygkaW1hZ2VzKTsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtb3dnKCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0KCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtbW96KCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAgIC1vKCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICBhbmQgJGFkZC1waWUtYmcgICAgICAgICAgICAgICAgeyBAd2FybiBcIlBJRSBkb2VzIG5vdCBzdXBwb3J0IGJhY2tncm91bmQtaW1hZ2UuIFVzZSBAaW5jbHVkZSBiYWNrZ3JvdW5kKCN7JGltYWdlc30pIGluc3RlYWQuXCIgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICAkaW1hZ2VzIDtcbn1cblxuLy8gRW1pdCBhIElFLVNwZWNpZmljIGZpbHRlcnMgdGhhdCByZW5kZXJzIGEgc2ltcGxlIGxpbmVhciBncmFkaWVudC5cbi8vIEZvciB1c2UgaW4gSUUgNiAtIDguIEJlc3QgcHJhY3RpY2Ugd291bGQgaGF2ZSB5b3UgYXBwbHkgdGhpcyB2aWEgYVxuLy8gY29uZGl0aW9uYWwgSUUgc3R5bGVzaGVldCwgYnV0IGlmIHlvdSBtdXN0LCB5b3Ugc2hvdWxkIHBsYWNlIHRoaXMgYmVmb3JlXG4vLyBhbnkgYmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0aWVzIHRoYXQgeW91IGhhdmUgc3BlY2lmaWVkLlxuLy9cbi8vIEZvciB0aGUgYCRvcmllbnRhdGlvbmAgcGFyYW1ldGVyLCB5b3UgY2FuIHBhc3MgYHZlcnRpY2FsYCBvciBgaG9yaXpvbnRhbGAuXG5AbWl4aW4gZmlsdGVyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJGVuZC1jb2xvciwgJG9yaWVudGF0aW9uOiB2ZXJ0aWNhbCkge1xuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xuICAkZ3JhZGllbnQtdHlwZTogaWYoJG9yaWVudGF0aW9uID09IHZlcnRpY2FsLCAwLCAxKTtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4IHtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChncmFkaWVudFR5cGU9I3skZ3JhZGllbnQtdHlwZX0sIHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9Jyk7XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMuXG5AbWl4aW4gYm9yZGVyLWltYWdlKCR2YWx1ZSkge1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgeyAgICAtbW96LWJvcmRlci1pbWFnZTogICAgLW1veihyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICAgIC1vd2cocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICB7IC13ZWJraXQtYm9yZGVyLWltYWdlOiAtd2Via2l0KHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgeyAgICAgIC1vLWJvcmRlci1pbWFnZTogICAgICAtbyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIHsgICAgICAgICBib3JkZXItaW1hZ2U6ICAgIC1zdmcocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWltYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZTtcbn1cblxuLy8gTGlzdCBzdHlsZSBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gbGlzdC1zdHlsZS1pbWFnZSgkaW1hZ2UpIHtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW1veigkaW1hZ2UpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1vd2coJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAtd2Via2l0KCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgICAtbygkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1zdmcoJGltYWdlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiAgICAgICAgICRpbWFnZSA7XG59XG5cbi8vIExpc3Qgc3R5bGUgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGxpc3Qtc3R5bGUoJHZhbHVlKSB7XG4gICR2YWx1ZTogLWNvbXBhc3MtbGlzdCgkdmFsdWUpO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtbW96KCR2YWx1ZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW93ZygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6IC13ZWJraXQoJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAgIC1vKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLXN2ZygkdmFsdWUpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgICAgJHZhbHVlIDtcbn1cblxuLy8gY29udGVudCBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gY29udGVudCgkdmFsdWUpIHtcbiAgJHZhbHVlOiAtY29tcGFzcy1saXN0KCR2YWx1ZSk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1tb3ooJHZhbHVlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtb3dnKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkdmFsdWUpIHsgY29udGVudDogLXdlYmtpdCgkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgICAgLW8oJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtc3ZnKCR2YWx1ZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogICAgICAgICAkdmFsdWUgO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyAgb3ZlcnJpZGUgdG8gY2hhbmdlIHRoZSBkZWZhdWx0XG4kZGVmYXVsdC1iYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0byAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBzaXplIG9mIGJhY2tncm91bmQgaW1hZ2VzIHVzaW5nIHB4LCB3aWR0aCBhbmQgaGVpZ2h0LCBvciBwZXJjZW50YWdlcy5cbi8vIEN1cnJlbnRseSBzdXBwb3J0ZWQgaW46IE9wZXJhLCBHZWNrbywgV2Via2l0LlxuLy9cbi8vICogcGVyY2VudGFnZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBiYWNrZ3JvdW5kLW9yaWdpbiAoZGVmYXVsdCA9IHBhZGRpbmctYm94KVxuLy8gKiBtaXhpbiBkZWZhdWx0cyB0bzogYCRkZWZhdWx0LWJhY2tncm91bmQtc2l6ZWBcbkBtaXhpbiBiYWNrZ3JvdW5kLXNpemUoXG4gICRzaXplLTE6ICRkZWZhdWx0LWJhY2tncm91bmQtc2l6ZSxcbiAgJHNpemUtMjogZmFsc2UsXG4gICRzaXplLTM6IGZhbHNlLFxuICAkc2l6ZS00OiBmYWxzZSxcbiAgJHNpemUtNTogZmFsc2UsXG4gICRzaXplLTY6IGZhbHNlLFxuICAkc2l6ZS03OiBmYWxzZSxcbiAgJHNpemUtODogZmFsc2UsXG4gICRzaXplLTk6IGZhbHNlLFxuICAkc2l6ZS0xMDogZmFsc2Vcbikge1xuICAkc2l6ZS0xOiBpZih0eXBlLW9mKCRzaXplLTEpID09IHN0cmluZywgdW5xdW90ZSgkc2l6ZS0xKSwgJHNpemUtMSk7XG4gICRzaXplczogY29tcGFjdCgkc2l6ZS0xLCAkc2l6ZS0yLCAkc2l6ZS0zLCAkc2l6ZS00LCAkc2l6ZS01LCAkc2l6ZS02LCAkc2l6ZS03LCAkc2l6ZS04LCAkc2l6ZS05LCAkc2l6ZS0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLXNpemUsICRzaXplcywgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSk7XG59XG4iLCJAaW1wb3J0IFwiY3NzMy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiY3NzMy9pbmxpbmUtYmxvY2tcIjtcbkBpbXBvcnQgXCJjc3MzL29wYWNpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JveC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtc2hhZG93XCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlc1wiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1jbGlwXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLW9yaWdpblwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1zaXplXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvcmVnaW9uc1wiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNzczMvcGllXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLWludGVyZmFjZVwiO1xuQGltcG9ydCBcImNzczMvZmxleGJveFwiOyIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuJGRlZmF1bHQtYm9yZGVyLXJhZGl1czogNXB4ICFkZWZhdWx0O1xuXG4vLyBSb3VuZCBhbGwgY29ybmVycyBieSBhIHNwZWNpZmljIGFtb3VudCwgZGVmYXVsdHMgdG8gdmFsdWUgb2YgYCRkZWZhdWx0LWJvcmRlci1yYWRpdXNgLlxuLy9cbi8vIFdoZW4gdHdvIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgZmlyc3QgaXMgdGhlIGhvcml6b250YWwgcmFkaXVzXG4vLyBhbmQgdGhlIHNlY29uZCBpcyB0aGUgdmVydGljYWwgcmFkaXVzLlxuLy9cbi8vIE5vdGU6IHdlYmtpdCBkb2VzIG5vdCBzdXBwb3J0IHNob3J0aGFuZCBzeW50YXggZm9yIHNldmVyYWwgY29ybmVycyBhdCBvbmNlLlxuLy8gU28gaW4gdGhlIGNhc2Ugd2hlcmUgeW91IHBhc3Mgc2V2ZXJhbCB2YWx1ZXMgb25seSB0aGUgZmlyc3Qgd2lsbCBiZSBwYXNzZWQgdG8gd2Via2l0LlxuLy9cbi8vIEV4YW1wbGVzOlxuLy9cbi8vICAgICAuc2ltcGxlICAgeyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCwgNHB4KTsgfVxuLy8gICAgIC5jb21wb3VuZCB7IEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4IDVweCwgM3B4IDZweCk7IH1cbi8vICAgICAuY3JhenkgICAgeyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDFweCAzcHggNXB4IDdweCwgMnB4IDRweCA2cHggOHB4KX1cbi8vXG4vLyBXaGljaCBnZW5lcmF0ZXM6XG4vL1xuLy8gICAgLnNpbXBsZSB7XG4vLyAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4IDRweDtcbi8vICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHggLyA0cHg7XG4vLyAgICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiA0cHggLyA0cHg7XG4vLyAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAvIDRweDsgfVxuLy8gICAgXG4vLyAgICAuY29tcG91bmQge1xuLy8gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweCAzcHg7XG4vLyAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4IDVweCAvIDNweCA2cHg7XG4vLyAgICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiAycHggNXB4IC8gM3B4IDZweDtcbi8vICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDVweCAvIDNweCA2cHg7IH1cbi8vICAgIFxuLy8gICAgLmNyYXp5IHtcbi8vICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxcHggMnB4O1xuLy8gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDFweCAzcHggNXB4IDdweCAvIDJweCA0cHggNnB4IDhweDtcbi8vICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDFweCAzcHggNXB4IDdweCAvIDJweCA0cHggNnB4IDhweDtcbi8vICAgICAgYm9yZGVyLXJhZGl1czogMXB4IDNweCA1cHggN3B4IC8gMnB4IDRweCA2cHggOHB4OyB9XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMsICR2ZXJ0aWNhbC1yYWRpdXM6IGZhbHNlKSB7XG5cbiAgQGlmICR2ZXJ0aWNhbC1yYWRpdXMge1xuICAgIC8vIFdlYmtpdCBkb2Vzbid0IHVuZGVyc3RhbmQgdGhlIG9mZmljaWFsIHNob3J0aGFuZCBzeW50YXggZm9yIHNwZWNpZnlpbmdcbiAgICAvLyBhIHZlcnRpY2FsIHJhZGl1cyB1bmxlc3Mgc28gaW4gY2FzZSB0aGVyZSdzIHNldmVyYWwgd2Ugb25seSB0YWtlIHRoZSBmaXJzdC5cbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm9yZGVyLXJhZGl1cywgZmlyc3QtdmFsdWUtb2YoJHJhZGl1cykgZmlyc3QtdmFsdWUtb2YoJHZlcnRpY2FsLXJhZGl1cyksXG4gICAgICBub3QoLW1veiksXG4gICAgICAtd2Via2l0LFxuICAgICAgbm90KC1vKSxcbiAgICAgIG5vdCgtbXMpLFxuICAgICAgbm90KC1raHRtbCksXG4gICAgICBub3Qob2ZmaWNpYWwpXG4gICAgKTtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJib3JkZXItcmFkaXVzXCIsICRyYWRpdXMgdW5xdW90ZShcIi9cIikgJHZlcnRpY2FsLXJhZGl1cyxcbiAgICAgIC1tb3osXG4gICAgICBub3QoLXdlYmtpdCksXG4gICAgICBub3QoLW8pLFxuICAgICAgbm90KC1tcyksXG4gICAgICAta2h0bWwsXG4gICAgICBvZmZpY2lhbFxuICAgICk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3JkZXItcmFkaXVzLCAkcmFkaXVzKTtcbiAgfVxufVxuXG4vLyBSb3VuZCByYWRpdXMgYXQgcG9zaXRpb24gYnkgYW1vdW50LlxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGZvciBgJHZlcnRgOiBgdG9wYCwgYGJvdHRvbWBcbi8vICogbGVnYWwgdmFsdWVzIGZvciBgJGhvcnpgOiBgbGVmdGAsIGByaWdodGBcblxuQG1peGluIGJvcmRlci1jb3JuZXItcmFkaXVzKCR2ZXJ0LCAkaG9yeiwgJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICAvLyBTdXBwb3J0IGZvciBtb3ppbGxhJ3Mgc3ludGF4IGZvciBzcGVjaWZ5aW5nIGEgY29ybmVyXG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChcImJvcmRlci1yYWRpdXMtI3skdmVydH0jeyRob3J6fVwiLCAkcmFkaXVzLFxuICAgIC1tb3osXG4gICAgbm90KC13ZWJraXQpLFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgbm90KC1raHRtbCksXG4gICAgbm90KG9mZmljaWFsKVxuICApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJib3JkZXItI3skdmVydH0tI3skaG9yen0tcmFkaXVzXCIsICRyYWRpdXMsXG4gICAgbm90KC1tb3opLFxuICAgIC13ZWJraXQsXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICAta2h0bWwsXG4gICAgb2ZmaWNpYWxcbiAgKTtcbiAgXG59XG5cbi8vIFJvdW5kIHRvcC1sZWZ0IGNvcm5lciBvbmx5XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWNvcm5lci1yYWRpdXModG9wLCBsZWZ0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCB0b3AtcmlnaHQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWNvcm5lci1yYWRpdXModG9wLCByaWdodCwgJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90dG9tLWxlZnQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyhib3R0b20sIGxlZnQsICRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdHRvbS1yaWdodCBjb3JuZXIgb25seVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyhib3R0b20sIHJpZ2h0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3RoIHRvcCBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCByaWdodCBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCBib3R0b20gY29ybmVycyBieSBhbW91bnRcbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdGggbGVmdCBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cyk7IH1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBDU1Mgb3BhY2l0eS4gVGFrZXMgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxIGFzIHRoZSBhcmd1bWVudCwgZS5nLiAwLjUgZm9yIDUwJSBvcGFjaXR5LlxuLy9cbi8vICAgICBAcGFyYW0gJG9wYWNpdHlcbi8vICAgICAgICAgQSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLCB3aGVyZSAwIGlzIHRyYW5zcGFyZW50IGFuZCAxIGlzIG9wYXF1ZS5cblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4IHtcbiAgICBmaWx0ZXI6IHVucXVvdGUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0je3JvdW5kKCRvcGFjaXR5ICogMTAwKX0pXCIpO1xuICB9XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xufVxuXG4vLyBNYWtlIGFuIGVsZW1lbnQgY29tcGxldGVseSB0cmFuc3BhcmVudC5cbkBtaXhpbiB0cmFuc3BhcmVudCB7IEBpbmNsdWRlIG9wYWNpdHkoMCk7IH1cblxuLy8gTWFrZSBhbiBlbGVtZW50IGNvbXBsZXRlbHkgb3BhcXVlLlxuQG1peGluIG9wYXF1ZSB7IEBpbmNsdWRlIG9wYWNpdHkoMSk7IH1cbiIsIi8vIEBkb2Mgb2ZmXG4vLyBUaGVzZSBkZWZhdWx0cyBtYWtlIHRoZSBhcmd1bWVudHMgb3B0aW9uYWwgZm9yIHRoaXMgbWl4aW5cbi8vIElmIHlvdSBsaWtlLCBzZXQgZGlmZmVyZW50IGRlZmF1bHRzIGJlZm9yZSBpbXBvcnRpbmcuXG4vLyBAZG9jIG9uXG5cbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuXG4vLyBUaGUgZGVmYXVsdCBjb2xvciBmb3IgYm94IHNoYWRvd3NcbiRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I6ICMzMzMzMzMgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGhvcml6b250YWwgb2Zmc2V0LiBQb3NpdGl2ZSBpcyB0byB0aGUgcmlnaHQuXG4kZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0OiAwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IHZlcnRpY2FsIG9mZnNldC4gUG9zaXRpdmUgaXMgZG93bi5cbiRkZWZhdWx0LWJveC1zaGFkb3ctdi1vZmZzZXQ6IDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgYmx1ciBsZW5ndGguXG4kZGVmYXVsdC1ib3gtc2hhZG93LWJsdXI6IDVweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgc3ByZWFkIGxlbmd0aC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IHNoYWRvdyBpbnNldDogaW5zZXQgb3IgZmFsc2UgKGZvciBzdGFuZGFyZCBzaGFkb3cpLlxuJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldCA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIGZvciBXZWJraXQsIEdlY2tvLCBhbmQgQ1NTMyBib3ggc2hhZG93cyB3aGVuIG9uZSBvciBtb3JlIGJveFxuLy8gc2hhZG93cyBhcmUgbmVlZGVkLlxuLy8gRWFjaCBzaGFkb3cgYXJndW1lbnQgc2hvdWxkIGFkaGVyZSB0byB0aGUgc3RhbmRhcmQgY3NzMyBzeW50YXggZm9yIHRoZVxuLy8gYm94LXNoYWRvdyBwcm9wZXJ0eS5cbkBtaXhpbiBib3gtc2hhZG93KFxuICAkc2hhZG93LTEgOiBkZWZhdWx0LFxuICAkc2hhZG93LTIgOiBmYWxzZSxcbiAgJHNoYWRvdy0zIDogZmFsc2UsXG4gICRzaGFkb3ctNCA6IGZhbHNlLFxuICAkc2hhZG93LTUgOiBmYWxzZSxcbiAgJHNoYWRvdy02IDogZmFsc2UsXG4gICRzaGFkb3ctNyA6IGZhbHNlLFxuICAkc2hhZG93LTggOiBmYWxzZSxcbiAgJHNoYWRvdy05IDogZmFsc2UsXG4gICRzaGFkb3ctMTA6IGZhbHNlXG4pIHtcbiAgQGlmICRzaGFkb3ctMSA9PSBkZWZhdWx0IHtcbiAgICAkc2hhZG93LTEgOiAtY29tcGFzcy1zcGFjZS1saXN0KGNvbXBhY3QoaWYoJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldCwgaW5zZXQsIGZhbHNlKSwgJGRlZmF1bHQtYm94LXNoYWRvdy1oLW9mZnNldCwgJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldCwgJGRlZmF1bHQtYm94LXNoYWRvdy1ibHVyLCAkZGVmYXVsdC1ib3gtc2hhZG93LXNwcmVhZCwgJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcikpO1xuICB9XG4gICRzaGFkb3cgOiBjb21wYWN0KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LCAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LXNoYWRvdywgJHNoYWRvdyxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFByb3ZpZGVzIGEgc2luZ2xlIGNyb3NzLWJyb3dzZXIgQ1NTIGJveCBzaGFkb3cgZm9yIFdlYmtpdCwgR2Vja28sIGFuZCBDU1MzLlxuLy8gSW5jbHVkZXMgZGVmYXVsdCBhcmd1bWVudHMgZm9yIGhvcml6b250YWwgb2Zmc2V0LCB2ZXJ0aWNhbCBvZmZzZXQsIGJsdXIgbGVuZ3RoLCBzcHJlYWQgbGVuZ3RoLCBjb2xvciBhbmQgaW5zZXQuXG5AbWl4aW4gc2luZ2xlLWJveC1zaGFkb3coXG4gICRob2ZmICAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0LFxuICAkdm9mZiAgIDogJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldCxcbiAgJGJsdXIgICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctYmx1cixcbiAgJHNwcmVhZCA6ICRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkLFxuICAkY29sb3IgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcixcbiAgJGluc2V0ICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXRcbikge1xuICBAaWYgbm90ICgkaW5zZXQgPT0gdHJ1ZSBvciAkaW5zZXQgPT0gZmFsc2Ugb3IgJGluc2V0ID09IGluc2V0KSB7XG4gICAgQHdhcm4gXCIkaW5zZXQgZXhwZWN0ZWQgdG8gYmUgdHJ1ZSBvciB0aGUgaW5zZXQga2V5d29yZC4gR290ICN7JGluc2V0fSBpbnN0ZWFkLiBVc2luZzogaW5zZXRcIjtcbiAgfVxuXG4gIEBpZiAkY29sb3IgPT0gbm9uZSB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfSBAZWxzZSB7XG4gICAgJGZ1bGwgICA6ICRob2ZmICR2b2ZmO1xuICAgIEBpZiAkYmx1ciAgIHsgJGZ1bGw6ICRmdWxsICRibHVyOyAgIH1cbiAgICBAaWYgJHNwcmVhZCB7ICRmdWxsOiAkZnVsbCAkc3ByZWFkOyB9XG4gICAgQGlmICRjb2xvciAgeyAkZnVsbDogJGZ1bGwgJGNvbG9yOyAgfVxuICAgIEBpZiAkaW5zZXQgIHsgJGZ1bGw6IGluc2V0ICRmdWxsOyAgIH1cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmdWxsKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBUaGVzZSBkZWZhdWx0cyBtYWtlIHRoZSBhcmd1bWVudHMgb3B0aW9uYWwgZm9yIHRoaXMgbWl4aW5cbi8vIElmIHlvdSBsaWtlLCBzZXQgZGlmZmVyZW50IGRlZmF1bHRzIGluIHlvdXIgcHJvamVjdFxuXG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1jb2xvcjogICAgI2FhYSAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LWgtb2Zmc2V0OiAwcHggICFkZWZhdWx0O1xuJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQ6IDBweCAgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1ibHVyOiAgICAgMXB4ICAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LXNwcmVhZDogICBmYWxzZSAgIWRlZmF1bHQ7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgdGV4dCBzaGFkb3dzIHdoZW4gb25lIG9yIG1vcmUgc2hhZG93cyBhcmUgbmVlZGVkLlxuLy8gRWFjaCBzaGFkb3cgYXJndW1lbnQgc2hvdWxkIGFkaGVyZSB0byB0aGUgc3RhbmRhcmQgY3NzMyBzeW50YXggZm9yIHRoZVxuLy8gdGV4dC1zaGFkb3cgcHJvcGVydHkuXG4vL1xuLy8gTm90ZTogaWYgYW55IHNoYWRvdyBoYXMgYSBzcHJlYWQgcGFyYW1ldGVyLCB0aGlzIHdpbGwgY2F1c2UgdGhlIG1peGluXG4vLyB0byBlbWl0IHRoZSBzaGFkb3cgZGVjbGFyYXRpb24gdHdpY2UsIGZpcnN0IHdpdGhvdXQgdGhlIHNwcmVhZCxcbi8vIHRoZW4gd2l0aCB0aGUgc3ByZWFkIGluY2x1ZGVkLiBUaGlzIGFsbG93cyB5b3UgdG8gcHJvZ3Jlc3NpdmVseVxuLy8gZW5oYW5jZSB0aGUgYnJvd3NlcnMgdGhhdCBkbyBzdXBwb3J0IHRoZSBzcHJlYWQgcGFyYW1ldGVyLlxuQG1peGluIHRleHQtc2hhZG93KFxuICAkc2hhZG93LTEgOiBkZWZhdWx0LFxuICAkc2hhZG93LTIgOiBmYWxzZSxcbiAgJHNoYWRvdy0zIDogZmFsc2UsXG4gICRzaGFkb3ctNCA6IGZhbHNlLFxuICAkc2hhZG93LTUgOiBmYWxzZSxcbiAgJHNoYWRvdy02IDogZmFsc2UsXG4gICRzaGFkb3ctNyA6IGZhbHNlLFxuICAkc2hhZG93LTggOiBmYWxzZSxcbiAgJHNoYWRvdy05IDogZmFsc2UsXG4gICRzaGFkb3ctMTA6IGZhbHNlXG4pIHtcbiAgQGlmICRzaGFkb3ctMSA9PSBkZWZhdWx0IHtcbiAgICAkc2hhZG93LTE6IGNvbXBhY3QoJGRlZmF1bHQtdGV4dC1zaGFkb3ctaC1vZmZzZXQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctYmx1ciAkZGVmYXVsdC10ZXh0LXNoYWRvdy1zcHJlYWQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctY29sb3IpO1xuICB9XG4gICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBqb2luKCgpLCgpLGNvbW1hKTtcbiAgJHNoYWRvd3M6IGpvaW4oKCksKCksY29tbWEpO1xuICAkaGFzLXNwcmVhZDogZmFsc2U7XG4gIEBlYWNoICRzaGFkb3cgaW4gY29tcGFjdCgkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMCkge1xuICAgIEBpZiBsZW5ndGgoJHNoYWRvdykgPiA0IHtcbiAgICAgICRoYXMtc3ByZWFkOiB0cnVlO1xuICAgICAgJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQ6IGFwcGVuZCgkc2hhZG93cy13aXRob3V0LXNwcmVhZCwgbnRoKCRzaGFkb3csMSkgbnRoKCRzaGFkb3csMikgbnRoKCRzaGFkb3csMykgbnRoKCRzaGFkb3csNSkpO1xuICAgICAgJHNoYWRvd3M6IGFwcGVuZCgkc2hhZG93cywgJHNoYWRvdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBhcHBlbmQoJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQsICRzaGFkb3cpO1xuICAgICAgJHNoYWRvd3M6IGFwcGVuZCgkc2hhZG93cywgJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIEBpZiAkaGFzLXNwcmVhZCB7XG4gICAgdGV4dC1zaGFkb3c6ICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkO1xuICB9XG4gIHRleHQtc2hhZG93OiAkc2hhZG93cztcbn1cblxuLy8gUHJvdmlkZXMgYSBzaW5nbGUgY3Jvc3MtYnJvd3NlciBDU1MgdGV4dCBzaGFkb3cuXG4vL1xuLy8gUHJvdmlkZXMgc2Vuc2libGUgZGVmYXVsdHMgZm9yIHRoZSBjb2xvciwgaG9yaXpvbnRhbCBvZmZzZXQsIHZlcnRpY2FsIG9mZnNldCwgYmx1ciwgYW5kIHNwcmVhZFxuLy8gYWNjb3JkaW5nIHRvIHRoZSBjb25maWd1cmF0aW9uIGRlZmF1bHRzIGFib3ZlLlxuQG1peGluIHNpbmdsZS10ZXh0LXNoYWRvdyhcbiAgJGhvZmY6IGZhbHNlLFxuICAkdm9mZjogZmFsc2UsXG4gICRibHVyOiBmYWxzZSxcbiAgJHNwcmVhZDogZmFsc2UsXG4gICRjb2xvcjogZmFsc2Vcbikge1xuICAvLyBBIGxvdCBvZiBwZW9wbGUgdGhpbmsgdGhlIGNvbG9yIGNvbWVzIGZpcnN0LiBJdCBkb2Vzbid0LlxuICBAaWYgdHlwZS1vZigkaG9mZikgPT0gY29sb3Ige1xuICAgICR0ZW1wLWNvbG9yOiAkaG9mZjtcbiAgICAkaG9mZjogJHZvZmY7XG4gICAgJHZvZmY6ICRibHVyO1xuICAgICRibHVyOiAkc3ByZWFkO1xuICAgICRzcHJlYWQ6ICRjb2xvcjtcbiAgICAkY29sb3I6ICR0ZW1wLWNvbG9yO1xuICB9XG4gIC8vIENhbid0IHJlbHkgb24gZGVmYXVsdCBhc3NpZ25tZW50IHdpdGggbXVsdGlwbGUgc3VwcG9ydGVkIGFyZ3VtZW50IG9yZGVycy5cbiAgJGhvZmY6ICAgaWYoJGhvZmYsICAgJGhvZmYsICAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctaC1vZmZzZXQpO1xuICAkdm9mZjogICBpZigkdm9mZiwgICAkdm9mZiwgICAkZGVmYXVsdC10ZXh0LXNoYWRvdy12LW9mZnNldCk7XG4gICRibHVyOiAgIGlmKCRibHVyLCAgICRibHVyLCAgICRkZWZhdWx0LXRleHQtc2hhZG93LWJsdXIgICAgKTtcbiAgJHNwcmVhZDogaWYoJHNwcmVhZCwgJHNwcmVhZCwgJGRlZmF1bHQtdGV4dC1zaGFkb3ctc3ByZWFkICApO1xuICAkY29sb3I6ICBpZigkY29sb3IsICAkY29sb3IsICAkZGVmYXVsdC10ZXh0LXNoYWRvdy1jb2xvciAgICk7XG4gIC8vIFdlIGRvbid0IG5lZWQgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIHRoaXMgcHJvcGVydHkuXG4gIEBpZiAkY29sb3IgPT0gbm9uZSBvciAkaG9mZiA9PSBub25lIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNoYWRvdyhub25lKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaGFkb3coY29tcGFjdCgkaG9mZiAkdm9mZiAkYmx1ciAkc3ByZWFkICRjb2xvcikpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFNwZWNpZnkgdGhlIHNob3J0aGFuZCBgY29sdW1uc2AgcHJvcGVydHkuXG4vL1xuLy8gRXhhbXBsZTpcbi8vXG4vLyAgICAgQGluY2x1ZGUgY29sdW1ucygyMGVtIDIpXG5AbWl4aW4gY29sdW1ucygkd2lkdGgtYW5kLWNvdW50KSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW5zLCAkd2lkdGgtYW5kLWNvdW50LFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBudW1iZXIgb2YgY29sdW1uc1xuQG1peGluIGNvbHVtbi1jb3VudCgkY291bnQpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1jb3VudCwgJGNvdW50LFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBnYXAgYmV0d2VlbiBjb2x1bW5zIGUuZy4gYDIwcHhgXG5AbWl4aW4gY29sdW1uLWdhcCgkd2lkdGgpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1nYXAsICR3aWR0aCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgd2lkdGggb2YgY29sdW1ucyBlLmcuIGAxMDBweGBcbkBtaXhpbiBjb2x1bW4td2lkdGgoJHdpZHRoKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4td2lkdGgsICR3aWR0aCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIHJ1bGUgYmV0d2VlbiBjb2x1bW5zIGUuZy4gYDFweGBcbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCgkd2lkdGgpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIHN0eWxlIG9mIHRoZSBydWxlIGJldHdlZW4gY29sdW1ucyBlLmcuIGBkb3R0ZWRgLlxuLy8gVGhpcyB3b3JrcyBsaWtlIGJvcmRlci1zdHlsZS5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGUpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLXN0eWxlLCB1bnF1b3RlKCRzdHlsZSksXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIGNvbG9yIG9mIHRoZSBydWxlIGJldHdlZW4gY29sdW1ucyBlLmcuIGBibHVlYC5cbi8vIFRoaXMgd29ya3MgbGlrZSBib3JkZXItY29sb3IuXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBNaXhpbiBlbmNvbXBhc3NpbmcgYWxsIGNvbHVtbiBydWxlIHByb3BlcnRpZXNcbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vICAgICBAaW5jbHVkZSBjb2x1bW4tcnVsZSgxcHgsIHNvbGlkLCAjYzAwKVxuLy9cbi8vIE9yIHRoZSB2YWx1ZXMgY2FuIGJlIHNwYWNlIHNlcGFyYXRlZDpcbi8vXG4vLyAgICAgQGluY2x1ZGUgY29sdW1uLXJ1bGUoMXB4IHNvbGlkICNjMDApXG5AbWl4aW4gY29sdW1uLXJ1bGUoJHdpZHRoLCAkc3R5bGU6IGZhbHNlLCAkY29sb3I6IGZhbHNlKSB7XG4gICRmdWxsIDogLWNvbXBhc3Mtc3BhY2UtbGlzdChjb21wYWN0KCR3aWR0aCwgJHN0eWxlLCAkY29sb3IpKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLCAkZnVsbCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gTWl4aW4gZm9yIHNldHRpbmcgY29sdW1uLWJyZWFrLWJlZm9yZVxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhbHdheXMsIGF2b2lkLCBsZWZ0LCByaWdodCwgcGFnZSwgY29sdW1uLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vXG4vLyAgRXhhbXBsZTogXG4vLyAgICBoMi5iZWZvcmUge0BpbmNsdWRlIGNvbHVtbi1icmVhay1iZWZvcmUoYWx3YXlzKTt9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vL1xuLy8gIGgyLmJlZm9yZSB7ICAgIFxuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstYmVmb3JlOiBhbHdheXM7XG4vLyAgICBjb2x1bW4tYnJlYWstYmVmb3JlOiBhbHdheXM7fVxuQG1peGluIGNvbHVtbi1icmVhay1iZWZvcmUoJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tYnJlYWstYmVmb3JlLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufVxuXG4vLyBNaXhpbiBmb3Igc2V0dGluZyBjb2x1bW4tYnJlYWstYWZ0ZXJcbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vL1xuLy8gIEV4YW1wbGU6IFxuLy8gICAgaDIuYWZ0ZXIge0BpbmNsdWRlIGNvbHVtbi1icmVhay1hZnRlcihhbHdheXMpOyB9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vL1xuLy8gIGgyLmFmdGVyIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7XG4vLyAgICBjb2x1bW4tYnJlYWstYWZ0ZXI6IGFsd2F5czsgfVxuQG1peGluIGNvbHVtbi1icmVhay1hZnRlcigkdmFsdWU6IGF1dG8pe1xuICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1icmVhay1hZnRlciwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwgKTtcbn1cblxuLy8gTWl4aW4gZm9yIHNldHRpbmcgY29sdW1uLWJyZWFrLWluc2lkZVxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhdm9pZCwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vL1xuLy8gIEV4YW1wbGU6IFxuLy8gICAgaDIuaW5zaWRlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWstaW5zaWRlKCk7fVxuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vLyAgXG4vLyAgaDIuaW5zaWRlIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXV0bztcbi8vICAgIGNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87fVxuQG1peGluIGNvbHVtbi1icmVhay1pbnNpZGUoJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tYnJlYWstaW5zaWRlLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufVxuXG4vLyBBbGwtcHVycG9zZSBtaXhpbiBmb3Igc2V0dGluZyBjb2x1bW4gYnJlYWtzLlxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IGJlZm9yZSwgYWZ0ZXIsIGluc2lkZSBcbi8vICogbGVnYWwgdmFsdWVzIGZvciAnJHZhbHVlJyBhcmUgZGVwZW5kZW50IG9uICR0eXBlXG4vLyAgICAqIHdoZW4gJHR5cGUgPSBiZWZvcmUsIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vLyAgICAqIHdoZW4gJHR5cGUgPSBhZnRlciwgbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhbHdheXMsIGF2b2lkLCBsZWZ0LCByaWdodCwgcGFnZSwgY29sdW1uLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vICAgICogd2hlbiAkdHlwZSA9IGluc2lkZSwgbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhdm9pZCwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vLyAgXG4vLyAgRXhhbXBsZXM6IFxuLy8gICAgaDIuYmVmb3JlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWsoYmVmb3JlLCBhbHdheXMpO31cbi8vICAgIGgyLmFmdGVyIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWsoYWZ0ZXIsIGFsd2F5cyk7IH1cbi8vICAgIGgyLmluc2lkZSB7QGluY2x1ZGUgY29sdW1uLWJyZWFrKGluc2lkZSk7IH1cbi8vXG4vLyAgV2hpY2ggZ2VuZXJhdGVzOiBcbi8vICBoMi5iZWZvcmUgeyAgICBcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO31cbi8vICBcbi8vICBoMi5hZnRlciB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7IH1cbi8vXG4vLyAgaDIuaW5zaWRlIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXV0bztcbi8vICAgIGNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87fVxuIFxuQG1peGluIGNvbHVtbi1icmVhaygkdHlwZTogYmVmb3JlLCAkdmFsdWU6IGF1dG8pe1xuICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKFwiY29sdW1uLWJyZWFrLSN7JHR5cGV9XCIsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsICk7XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDaGFuZ2UgdGhlIGJveCBtb2RlbCBmb3IgTW96aWxsYSwgV2Via2l0LCBJRTggYW5kIHRoZSBmdXR1cmVcbi8vXG4vLyBAcGFyYW0gJGJzXG4vLyAgIFsgY29udGVudC1ib3ggfCBib3JkZXItYm94IF1cblxuQG1peGluIGJveC1zaXppbmcoJGJzKSB7XG4gICRiczogdW5xdW90ZSgkYnMpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LXNpemluZywgJGJzLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gZGlzcGxheTpib3g7IG11c3QgYmUgdXNlZCBmb3IgYW55IG9mIHRoZSBvdGhlciBmbGV4Ym94IG1peGlucyB0byB3b3JrIHByb3Blcmx5XG5AbWl4aW4gZGlzcGxheS1ib3gge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwtdmFsdWUoZGlzcGxheSwgYm94LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERlZmF1bHQgYm94IG9yaWVudGF0aW9uLCBhc3N1bWluZyB0aGF0IHRoZSB1c2VyIHdhbnRzIHNvbWV0aGluZyBsZXNzIGJsb2NrLWxpa2VcbiRkZWZhdWx0LWJveC1vcmllbnQ6IGhvcml6b250YWwgIWRlZmF1bHQ7XG5cbi8vIEJveCBvcmllbnRhdGlvbiBbIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcyB8IGluaGVyaXQgXVxuQG1peGluIGJveC1vcmllbnQoXG4gICRvcmllbnRhdGlvbjogJGRlZmF1bHQtYm94LW9yaWVudFxuKSB7XG4gICRvcmllbnRhdGlvbiA6IHVucXVvdGUoJG9yaWVudGF0aW9uKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1vcmllbnQsICRvcmllbnRhdGlvbixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGJveC1hbGlnblxuJGRlZmF1bHQtYm94LWFsaWduOiBzdHJldGNoICFkZWZhdWx0O1xuXG4vLyBCb3ggYWxpZ24gWyBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaCBdXG5AbWl4aW4gYm94LWFsaWduKFxuICAkYWxpZ25tZW50OiAkZGVmYXVsdC1ib3gtYWxpZ25cbikge1xuICAkYWxpZ25tZW50IDogdW5xdW90ZSgkYWxpZ25tZW50KTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1hbGlnbiwgJGFsaWdubWVudCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGJveCBmbGV4XG4kZGVmYXVsdC1ib3gtZmxleDogMCAhZGVmYXVsdDtcblxuLy8gbWl4aW4gd2hpY2ggdGFrZXMgYW4gaW50IGFyZ3VtZW50IGZvciBib3ggZmxleC4gQXBwbHkgdGhpcyB0byB0aGUgY2hpbGRyZW4gaW5zaWRlIHRoZSBib3guXG4vL1xuLy8gRm9yIGV4YW1wbGU6IFwiZGl2LmRpc3BsYXktYm94ID4gZGl2LmNoaWxkLWJveFwiIHdvdWxkIGdldCB0aGUgYm94IGZsZXggbWl4aW4uXG5AbWl4aW4gYm94LWZsZXgoXG4gICRmbGV4OiAkZGVmYXVsdC1ib3gtZmxleFxuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtZmxleCwgJGZsZXgsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGVmYXVsdCBmbGV4IGdyb3VwXG4kZGVmYXVsdC1ib3gtZmxleC1ncm91cDogMSAhZGVmYXVsdDtcblxuLy8gbWl4aW4gd2hpY2ggdGFrZXMgYW4gaW50IGFyZ3VtZW50IGZvciBmbGV4aWJsZSBncm91cGluZ1xuQG1peGluIGJveC1mbGV4LWdyb3VwKFxuICAkZ3JvdXA6ICRkZWZhdWx0LWJveC1mbGV4LWdyb3VwXG4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1mbGV4LWdyb3VwLCAkZ3JvdXAsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gZGVmYXVsdCBmb3Igb3JkaW5hbCBncm91cFxuJGRlZmF1bHQtYm94LW9yZGluYWwtZ3JvdXA6IDEgIWRlZmF1bHQ7XG5cbi8vIG1peGluIHdoaWNoIHRha2VzIGFuIGludCBhcmd1bWVudCBmb3Igb3JkaW5hbCBncm91cGluZyBhbmQgcmVhcnJhbmdpbmcgdGhlIG9yZGVyXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoXG4gICRncm91cDogJGRlZmF1bHQtb3JkaW5hbC1mbGV4LWdyb3VwXG4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1vcmRpbmFsLWdyb3VwLCAkZ3JvdXAsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gQm94IGRpcmVjdGlvbiBkZWZhdWx0IHZhbHVlXG4kZGVmYXVsdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vIG1peGluIGZvciBib3gtZGlyZWN0aW9uIFsgbm9ybWFsIHwgcmV2ZXJzZSB8IGluaGVyaXQgXVxuQG1peGluIGJveC1kaXJlY3Rpb24oXG4gICRkaXJlY3Rpb246ICRkZWZhdWx0LWJveC1kaXJlY3Rpb25cbikge1xuICAkZGlyZWN0aW9uOiB1bnF1b3RlKCRkaXJlY3Rpb24pO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBkZWZhdWx0IGZvciBib3ggbGluZXNcbiRkZWZhdWx0LWJveC1saW5lczogc2luZ2xlICFkZWZhdWx0O1xuXG4vLyBtaXhpbiBmb3IgYm94IGxpbmVzIFsgc2luZ2xlIHwgbXVsdGlwbGUgXVxuQG1peGluIGJveC1saW5lcyhcbiAgJGxpbmVzOiAkZGVmYXVsdC1ib3gtbGluZXNcbikge1xuICAkbGluZXM6IHVucXVvdGUoJGxpbmVzKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1saW5lcywgJGxpbmVzLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIGRlZmF1bHQgZm9yIGJveCBwYWNrXG4kZGVmYXVsdC1ib3gtcGFjazogc3RhcnQgIWRlZmF1bHQ7XG5cbi8vIG1peGluIGZvciBib3ggcGFjayBbIHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSBdXG5AbWl4aW4gYm94LXBhY2soXG4gICRwYWNrOiAkZGVmYXVsdC1ib3gtcGFja1xuKSB7XG4gICRwYWNrOiB1bnF1b3RlKCRwYWNrKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1wYWNrLCAkcGFjayxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufSIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYHBhZGRpbmctYm94YCAtLSB0aGUgYm94IG1vZGVsIHVzZWQgYnkgbW9kZXJuIGJyb3dzZXJzLlxuLy9cbi8vIElmIHlvdSB3aXNoIHRvIGRvIHNvLCB5b3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGNvbnN0YW50IHdpdGggYGJvcmRlci1ib3hgXG4vL1xuLy8gVG8gb3ZlcnJpZGUgdG8gdGhlIGRlZmF1bHQgYm9yZGVyLWJveCBtb2RlbCwgdXNlIHRoaXMgY29kZTpcbi8vICAgICAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3hcblxuJGRlZmF1bHQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveCAhZGVmYXVsdDtcblxuLy8gQ2xpcCB0aGUgYmFja2dyb3VuZCAoaW1hZ2UgYW5kIGNvbG9yKSBhdCB0aGUgZWRnZSBvZiB0aGUgcGFkZGluZyBvciBib3JkZXIuXG4vL1xuLy8gTGVnYWwgVmFsdWVzOlxuLy9cbi8vICAgKiBwYWRkaW5nLWJveFxuLy8gICAqIGJvcmRlci1ib3hcbi8vICAgKiB0ZXh0XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWNsaXAoJGNsaXA6ICRkZWZhdWx0LWJhY2tncm91bmQtY2xpcCkge1xuICAvLyB3ZWJraXQgYW5kIG1vemlsbGEgdXNlIHRoZSBkZXByZWNhdGVkIHNob3J0IFtib3JkZXIgfCBwYWRkaW5nXVxuICAkY2xpcDogdW5xdW90ZSgkY2xpcCk7XG4gICRkZXByZWNhdGVkOiAkY2xpcDtcbiAgQGlmICRjbGlwID09IHBhZGRpbmctYm94IHsgJGRlcHJlY2F0ZWQ6IHBhZGRpbmc7IH1cbiAgQGlmICRjbGlwID09IGJvcmRlci1ib3ggeyAkZGVwcmVjYXRlZDogYm9yZGVyOyB9XG4gIC8vIFN1cHBvcnQgZm9yIHdlYmtpdCBhbmQgbW96aWxsYSdzIHVzZSBvZiB0aGUgZGVwcmVjYXRlZCBzaG9ydCBmb3JtXG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLWNsaXAsICRkZXByZWNhdGVkLFxuICAgIC1tb3osXG4gICAgLXdlYmtpdCxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG5vdCBvZmZpY2lhbFxuICApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1jbGlwLCAkY2xpcCxcbiAgICBub3QoLW1veiksXG4gICAgbm90KC13ZWJraXQpLFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgLWtodG1sLFxuICAgIG9mZmljaWFsXG4gICk7XG59XG4iLCIvLyBPdmVycmlkZSBgJGRlZmF1bHQtYmFja2dyb3VuZC1vcmlnaW5gIHRvIGNoYW5nZSB0aGUgZGVmYXVsdC5cblxuQGltcG9ydCBcInNoYXJlZFwiO1xuXG4kZGVmYXVsdC1iYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3ggIWRlZmF1bHQ7XG5cbi8vIFBvc2l0aW9uIHRoZSBiYWNrZ3JvdW5kIG9mZiB0aGUgZWRnZSBvZiB0aGUgcGFkZGluZywgYm9yZGVyIG9yIGNvbnRlbnRcbi8vXG4vLyAqIFBvc3NpYmxlIHZhbHVlczpcbi8vICAgKiBgcGFkZGluZy1ib3hgXG4vLyAgICogYGJvcmRlci1ib3hgXG4vLyAgICogYGNvbnRlbnQtYm94YFxuLy8gKiBicm93c2VyIGRlZmF1bHRzIHRvIGBwYWRkaW5nLWJveGBcbi8vICogbWl4aW4gZGVmYXVsdHMgdG8gYGNvbnRlbnQtYm94YFxuXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLW9yaWdpbigkb3JpZ2luOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLW9yaWdpbikge1xuICAkb3JpZ2luOiB1bnF1b3RlKCRvcmlnaW4pO1xuICAvLyB3ZWJraXQgYW5kIG1vemlsbGEgdXNlIHRoZSBkZXByZWNhdGVkIHNob3J0IFtib3JkZXIgfCBwYWRkaW5nIHwgY29udGVudF1cbiAgJGRlcHJlY2F0ZWQ6ICRvcmlnaW47XG4gIEBpZiAkb3JpZ2luID09IHBhZGRpbmctYm94IHsgJGRlcHJlY2F0ZWQ6IHBhZGRpbmc7IH1cbiAgQGlmICRvcmlnaW4gPT0gYm9yZGVyLWJveCAgeyAkZGVwcmVjYXRlZDogYm9yZGVyOyAgfVxuICBAaWYgJG9yaWdpbiA9PSBjb250ZW50LWJveCB7ICRkZXByZWNhdGVkOiBjb250ZW50OyB9XG5cbiAgLy8gU3VwcG9ydCBmb3Igd2Via2l0IGFuZCBtb3ppbGxhJ3MgdXNlIG9mIHRoZSBkZXByZWNhdGVkIHNob3J0IGZvcm1cbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtb3JpZ2luLCAkZGVwcmVjYXRlZCxcbiAgICAtbW96LFxuICAgIC13ZWJraXQsXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICBub3QoLWtodG1sKSxcbiAgICBub3Qgb2ZmaWNpYWxcbiAgKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtb3JpZ2luLCAkb3JpZ2luLFxuICAgIG5vdCgtbW96KSxcbiAgICBub3QoLXdlYmtpdCksXG4gICAgLW8sXG4gICAgLW1zLFxuICAgIC1raHRtbCxcbiAgICBvZmZpY2lhbFxuICApO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDcm9zcy1icm93c2VyIHN1cHBvcnQgZm9yIEBmb250LWZhY2UuIFN1cHBvcnRzIElFLCBHZWNrbywgV2Via2l0LCBPcGVyYS5cbi8vXG4vLyAqICRuYW1lIGlzIHJlcXVpcmVkLCBhcmJpdHJhcnksIGFuZCB3aGF0IHlvdSB3aWxsIHVzZSBpbiBmb250IHN0YWNrcy5cbi8vICogJGZvbnQtZmlsZXMgaXMgcmVxdWlyZWQgdXNpbmcgZm9udC1maWxlcygncmVsYXRpdmUvbG9jYXRpb24nLCAnZm9ybWF0JykuXG4vLyAgIGZvciBiZXN0IHJlc3VsdHMgdXNlIHRoaXMgb3JkZXI6IHdvZmYsIG9wZW50eXBlL3RydWV0eXBlLCBzdmdcbi8vICogJGVvdCBpcyByZXF1aXJlZCBieSBJRSwgYW5kIGlzIGEgcmVsYXRpdmUgbG9jYXRpb24gb2YgdGhlIGVvdCBmaWxlLlxuLy8gKiAkd2VpZ2h0IHNob3dzIGlmIHRoZSBmb250IGlzIGJvbGQsIGRlZmF1bHRzIHRvIG5vcm1hbFxuLy8gKiAkc3R5bGUgZGVmYXVsdHMgdG8gbm9ybWFsLCBtaWdodCBiZSBhbHNvIGl0YWxpY1xuLy8gKiBGb3IgYW5kcm9pZCAyLjIgQ29tcGF0aWJsaXR5LCBwbGVhc2UgZW5zdXJlIHRoYXQgeW91ciB3ZWIgcGFnZSBoYXNcbi8vICAgYSBtZXRhIHZpZXdwb3J0IHRhZy5cbi8vICogVG8gc3VwcG9ydCBpT1MgPCA0LjIsIGFuIFNWRyBmaWxlIG11c3QgYmUgcHJvdmlkZWRcbi8vXG4vLyBJZiB5b3UgbmVlZCB0byBnZW5lcmF0ZSBvdGhlciBmb3JtYXRzIGNoZWNrIG91dCB0aGUgRm9udCBTcXVpcnJlbFxuLy8gW2ZvbnQgZ2VuZXJhdG9yXShodHRwOi8vd3d3LmZvbnRzcXVpcnJlbC5jb20vZm9udGZhY2UvZ2VuZXJhdG9yKVxuLy9cblxuLy8gSW4gb3JkZXIgdG8gcmVmZXIgdG8gYSBzcGVjaWZpYyBzdHlsZSBvZiB0aGUgZm9udCBpbiB5b3VyIHN0eWxlc2hlZXRzIGFzIFxuLy8gZS5nLiBcImZvbnQtc3R5bGU6IGl0YWxpYztcIiwgIHlvdSBtYXkgYWRkIGEgY291cGxlIG9mIEBmb250LWZhY2UgaW5jbHVkZXNcbi8vIGNvbnRhaW5pbmcgdGhlIHJlc3BlY3RpdmUgZm9udCBmaWxlcyBmb3IgZWFjaCBzdHlsZSBhbmQgc3BlY3lpbmdcbi8vIHJlc3BlY3RpdmUgdGhlICRzdHlsZSBwYXJhbWV0ZXIuXG5cbi8vIE9yZGVyIG9mIHRoZSBpbmNsdWRlcyBtYXR0ZXJzLCBhbmQgaXQgaXM6IG5vcm1hbCwgYm9sZCwgaXRhbGljLCBib2xkK2l0YWxpYy5cblxuQG1peGluIGZvbnQtZmFjZShcbiAgJG5hbWUsIFxuICAkZm9udC1maWxlcywgXG4gICRlb3Q6IGZhbHNlLFxuICAkd2VpZ2h0OiBmYWxzZSxcbiAgJHN0eWxlOiBmYWxzZVxuKSB7XG4gICRpZWZvbnQ6IHVucXVvdGUoXCIjeyRlb3R9PyNpZWZpeFwiKTtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcbiAgICBAaWYgJGVvdCB7XG4gICAgICBzcmM6IGZvbnQtdXJsKCRlb3QpO1xuICAgICAgJGZvbnQtZmlsZXM6IGZvbnQtdXJsKCRpZWZvbnQpIHVucXVvdGUoXCJmb3JtYXQoJ2VvdCcpXCIpLCAkZm9udC1maWxlczsgXG4gICAgfVxuICAgIHNyYzogJGZvbnQtZmlsZXM7XG4gICAgQGlmICR3ZWlnaHQge1xuICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgfVxuICAgIEBpZiAkc3R5bGUge1xuICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBAZG9jIG9mZlxuLy8gTm90ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTYWZhcmksIENocm9tZSwgYW5kIEZpcmVmb3ggYWxsIHN1cHBvcnQgM0QgdHJhbnNmb3Jtcy4gSG93ZXZlcixcbi8vIG9ubHkgaW4gdGhlIG1vc3QgcmVjZW50IGJ1aWxkcy4gWW91IHNob3VsZCBhbHNvIHByb3ZpZGUgZmFsbGJhY2sgMmQgc3VwcG9ydCBmb3Jcbi8vIE9wZXJhIGFuZCBJRS4gSUUxMCBpcyBzbGF0ZWQgdG8gaGF2ZSAzZCBlbmFibGVkLCBidXQgaXMgY3VycmVudGx5IHVucmVsZWFzZWQuXG4vLyBUbyBtYWtlIHRoYXQgZWFzeSwgYWxsIDJEIHRyYW5zZm9ybXMgaW5jbHVkZSBhbiBicm93c2VyLXRhcmdldGluZyB0b2dnbGUgKCRvbmx5M2QpXG4vLyB0byBzd2l0Y2ggYmV0d2VlbiB0aGUgdHdvIHN1cHBvcnQgbGlzdHMuIFRoZSB0b2dnbGUgZGVmYXVsdHMgdG8gJ2ZhbHNlJyAoMkQpLFxuLy8gYW5kIGFsc28gYWNjZXB0cyAndHJ1ZScgKDNEKS4gQ3VycmVudGx5IHRoZSBsaXN0cyBhcmUgYXMgZm9sbG93czpcbi8vIDJEOiBNb3ppbGxhLCBXZWJraXQsIE9wZXJhLCBPZmZpY2lhbFxuLy8gM0Q6IFdlYmtpdCwgRmlyZWZveC5cblxuLy8gQXZhaWxhYmxlIFRyYW5zZm9ybXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFNjYWxlICgyZCBhbmQgM2QpXG4vLyAtIFJvdGF0ZSAoMmQgYW5kIDNkKVxuLy8gLSBUcmFuc2xhdGUgKDJkIGFuZCAzZClcbi8vIC0gU2tldyAoMmQgb25seSlcblxuLy8gVHJhbnNmb3JtIFBhcmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFRyYW5zZm9ybSBPcmlnaW4gKDJkIGFuZCAzZClcbi8vIC0gUGVyc3BlY3RpdmUgKDNkKVxuLy8gLSBQZXJzcGVjdGl2ZSBPcmlnaW4gKDNkKVxuLy8gLSBUcmFuc2Zvcm0gU3R5bGUgKDNkKVxuLy8gLSBCYWNrZmFjZSBWaXNpYmlsaXR5ICgzZClcblxuLy8gTWl4aW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB0cmFuc2Zvcm0tb3JpZ2luXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2Zvcm0tb3JpZ2luMmQsIHRyYW5zZm9ybS1vcmlnaW4zZFxuLy8gIC0gaGVscGVyczogICAgYXBwbHktb3JpZ2luXG4vLyB0cmFuc2Zvcm1cbi8vICAtIHNob3J0Y3V0czogIHRyYW5zZm9ybTJkLCB0cmFuc2Zvcm0zZFxuLy8gIC0gaGVscGVyczogICAgc2ltcGxlLXRyYW5zZm9ybSwgY3JlYXRlLXRyYW5zZm9ybVxuLy8gcGVyc3BlY3RpdmVcbi8vICAtIGhlbHBlcnM6ICAgIHBlcnNwZWN0aXZlLW9yaWdpblxuLy8gdHJhbnNmb3JtLXN0eWxlXG4vLyBiYWNrZmFjZS12aXNpYmlsaXR5XG4vLyBzY2FsZVxuLy8gIC0gc2hvcnRjdXRzOiAgc2NhbGVYLCBzY2FsZVksIHNjYWxlWiwgc2NhbGUzZFxuLy8gcm90YXRlXG4vLyAgLSBzaG9ydGN1dHM6ICByb3RhdGVYLCByb3RhdGVZLCByb3RhdGUzZFxuLy8gdHJhbnNsYXRlXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2xhdGVYLCB0cmFuc2xhdGVZLCB0cmFuc2xhdGVaLCB0cmFuc2xhdGUzZFxuLy8gc2tld1xuLy8gIC0gc2hvcnRjdXRzOiAgc2tld1gsIHNrZXdZXG5cbi8vIERlZmF1bHRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBUaGUgZGVmYXVsdCB4LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXggICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXkgICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXogICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1tdWx0aXBsaWVyIGZvciBzY2FsaW5nXG4kZGVmYXVsdC1zY2FsZS14ICAgICA6IDEuMjUgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktbXVsdGlwbGllciBmb3Igc2NhbGluZ1xuJGRlZmF1bHQtc2NhbGUteSAgICAgOiAkZGVmYXVsdC1zY2FsZS14ICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LW11bHRpcGxpZXIgZm9yIHNjYWxpbmdcbiRkZWZhdWx0LXNjYWxlLXogICAgIDogJGRlZmF1bHQtc2NhbGUteCAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IGFuZ2xlIGZvciByb3RhdGlvbnNcbiRkZWZhdWx0LXJvdGF0ZSAgICAgIDogNDVkZWcgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtdmVjdG9yIGZvciB0aGUgYXhpcyBvZiAzZCByb3RhdGlvbnNcbiRkZWZhdWx0LXZlY3Rvci14ICAgIDogMSAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS12ZWN0b3IgZm9yIHRoZSBheGlzIG9mIDNkIHJvdGF0aW9uc1xuJGRlZmF1bHQtdmVjdG9yLXkgICAgOiAxICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LXZlY3RvciBmb3IgdGhlIGF4aXMgb2YgM2Qgcm90YXRpb25zXG4kZGVmYXVsdC12ZWN0b3IteiAgICA6IDEgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LWxlbmd0aCBmb3IgdHJhbnNsYXRpb25zXG4kZGVmYXVsdC10cmFuc2xhdGUteCA6IDFlbSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktbGVuZ3RoIGZvciB0cmFuc2xhdGlvbnNcbiRkZWZhdWx0LXRyYW5zbGF0ZS15IDogJGRlZmF1bHQtdHJhbnNsYXRlLXggICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei1sZW5ndGggZm9yIHRyYW5zbGF0aW9uc1xuJGRlZmF1bHQtdHJhbnNsYXRlLXogOiAkZGVmYXVsdC10cmFuc2xhdGUteCAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1hbmdsZSBmb3Igc2tld2luZ1xuJGRlZmF1bHQtc2tldy14ICAgICAgOiA1ZGVnICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LWFuZ2xlIGZvciBza2V3aW5nXG4kZGVmYXVsdC1za2V3LXkgICAgICA6IDVkZWcgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyAqKlRyYW5zZm9ybS1vcmlnaW4qKlxuLy8gVHJhbnNmb3JtLW9yaWdpbiBzZW50IGFzIGEgY29tcGxldGUgc3RyaW5nXG4vL1xuLy8gICAgIEBpbmNsdWRlIGFwcGx5LW9yaWdpbiggb3JpZ2luIFssIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgJ29yaWdpbicgaXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBjb250YWluaW5nIDEtMyAoeC95L3opIGNvb3JkaW5hdGVzXG4vLyBpbiBwZXJjZW50YWdlcywgYWJzb2x1dGUgKHB4LCBjbSwgaW4sIGVtIGV0Yy4uKSBvciByZWxhdGl2ZVxuLy8gKGxlZnQsIHRvcCwgcmlnaHQsIGJvdHRvbSwgY2VudGVyKSB1bml0c1xuLy9cbi8vIEBwYXJhbSBvbmx5M2QgU2V0IHRoaXMgdG8gdHJ1ZSB0byBvbmx5IGFwcGx5IHRoaXNcbi8vIG1peGluIHdoZXJlIGJyb3dzZXJzIGhhdmUgM0Qgc3VwcG9ydC5cbkBtaXhpbiBhcHBseS1vcmlnaW4oJG9yaWdpbiwgJG9ubHkzZCkge1xuICAkb25seTNkOiAkb25seTNkIG9yIC1jb21wYXNzLWxpc3Qtc2l6ZSgtY29tcGFzcy1saXN0KCRvcmlnaW4pKSA+IDI7XG4gIEBpZiAkb25seTNkIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLW9yaWdpbiwgJG9yaWdpbixcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tb3JpZ2luLCAkb3JpZ2luLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm0tb3JpZ2luIHNlbnQgYXMgaW5kaXZpZHVhbCBhcmd1bWVudHM6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oIFsgb3JpZ2luLXgsIG9yaWdpbi15LCBvcmlnaW4teiwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgMyAnb3JpZ2luLScgYXJndW1lbnRzIHJlcHJlc2VudCB4L3kveiBjb29yZGluYXRlcy5cbi8vXG4vLyAqKk5PVEU6Kiogc2V0dGluZyB6IGNvb3JkaW5hdGVzIHRyaWdnZXJzIDNEIHN1cHBvcnQgbGlzdCwgbGVhdmUgZmFsc2UgZm9yIDJEIHN1cHBvcnRcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKFxuICAkb3JpZ2luLXg6ICRkZWZhdWx0LW9yaWdpbi14LFxuICAkb3JpZ2luLXk6ICRkZWZhdWx0LW9yaWdpbi15LFxuICAkb3JpZ2luLXo6IGZhbHNlLFxuICAkb25seTNkOiAgIGlmKCRvcmlnaW4teiwgdHJ1ZSwgZmFsc2UpXG4pIHtcbiAgJG9yaWdpbjogdW5xdW90ZSgnJyk7XG4gIEBpZiAkb3JpZ2luLXggb3IgJG9yaWdpbi15IG9yICRvcmlnaW4teiB7XG4gICAgQGlmICRvcmlnaW4teCB7ICRvcmlnaW46ICRvcmlnaW4teDsgfSBAZWxzZSB7ICRvcmlnaW46IDUwJTsgfVxuICAgIEBpZiAkb3JpZ2luLXkgeyAkb3JpZ2luOiAkb3JpZ2luICRvcmlnaW4teTsgfSBAZWxzZSB7IEBpZiAkb3JpZ2luLXogeyAkb3JpZ2luOiAkb3JpZ2luIDUwJTsgfX1cbiAgICBAaWYgJG9yaWdpbi16IHsgJG9yaWdpbjogJG9yaWdpbiAkb3JpZ2luLXo7IH1cbiAgICBAaW5jbHVkZSBhcHBseS1vcmlnaW4oJG9yaWdpbiwgJG9ubHkzZCk7XG4gIH1cbn1cblxuXG4vLyBUcmFuc2Zvcm0gc2VudCBhcyBhIGNvbXBsZXRlIHN0cmluZzpcbi8vXG4vLyAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2Zvcm1zIFssIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgJ3RyYW5zZm9ybXMnIGlzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgYWxsIHRoZSB0cmFuc2Zvcm1zIHRvIGJlIGFwcGxpZWQuXG5AbWl4aW4gdHJhbnNmb3JtKFxuICAkdHJhbnNmb3JtLFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gIEBpZiAkb25seTNkIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLCAkdHJhbnNmb3JtLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybSwgJHRyYW5zZm9ybSxcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbn1cblxuLy8gU2hvcnRjdXQgdG8gdGFyZ2V0IGFsbCBicm93c2VycyB3aXRoIDJEIHRyYW5zZm9ybSBzdXBwb3J0XG5AbWl4aW4gdHJhbnNmb3JtMmQoJHRyYW5zKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsIGZhbHNlKTtcbn1cblxuLy8gU2hvcnRjdXQgdG8gdGFyZ2V0IG9ubHkgYnJvd3NlcnMgd2l0aCAzRCB0cmFuc2Zvcm0gc3VwcG9ydFxuQG1peGluIHRyYW5zZm9ybTNkKCR0cmFucykge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCB0cnVlKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIDNEIFBhcmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTZXQgdGhlIHBlcnNwZWN0aXZlIG9mIDNEIHRyYW5zZm9ybXMgb24gdGhlIGNoaWxkcmVuIG9mIGFuIGVsZW1lbnQ6XG4vL1xuLy8gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZSggcGVyc3BlY3RpdmUgKVxuLy9cbi8vIHdoZXJlICdwZXJzcGVjdGl2ZScgaXMgYSB1bml0bGVzcyBudW1iZXIgcmVwcmVzZW50aW5nIHRoZSBkZXB0aCBvZiB0aGVcbi8vIHotYXhpcy4gVGhlIGhpZ2hlciB0aGUgcGVyc3BlY3RpdmUsIHRoZSBtb3JlIGV4YWdnZXJhdGVkIHRoZSBmb3Jlc2hvcnRlbmluZy5cbi8vIHZhbHVlcyBmcm9tIDUwMCB0byAxMDAwIGFyZSBtb3JlLW9yLWxlc3MgXCJub3JtYWxcIiAtIGEgZ29vZCBzdGFydGluZy1wb2ludC5cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwocGVyc3BlY3RpdmUsICRwLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTZXQgdGhlIG9yaWdpbiBwb3NpdGlvbiBmb3IgdGhlIHBlcnNwZWN0aXZlXG4vL1xuLy8gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZS1vcmlnaW4ob3JpZ2luLXggW29yaWdpbi15XSlcbi8vXG4vLyB3aGVyZSB0aGUgdHdvIGFyZ3VtZW50cyByZXByZXNlbnQgeC95IGNvb3JkaW5hdGVzXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRvcmlnaW46IDUwJSkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwocGVyc3BlY3RpdmUtb3JpZ2luLCAkb3JpZ2luLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZXRlcm1pbmUgd2hldGhlciBhIDNEIG9iamVjdHMgY2hpbGRyZW4gYWxzbyBsaXZlIGluIHRoZSBnaXZlbiAzRCBzcGFjZVxuLy9cbi8vICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLXN0eWxlKCBbIHN0eWxlIF0gKVxuLy9cbi8vIHdoZXJlIGBzdHlsZWAgY2FuIGJlIGVpdGhlciBgZmxhdGAgb3IgYHByZXNlcnZlLTNkYC5cbi8vIEJyb3dzZXJzIGRlZmF1bHQgdG8gYGZsYXRgLCBtaXhpbiBkZWZhdWx0cyB0byBgcHJlc2VydmUtM2RgLlxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGV0ZXJtaW5lIHRoZSB2aXNpYmlsaXR5IG9mIGFuIGVsZW1lbnQgd2hlbiBpdCdzIGJhY2sgaXMgdHVybmVkXG4vL1xuLy8gICAgIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoIFsgdmlzaWJpbGl0eSBdIClcbi8vXG4vLyB3aGVyZSBgdmlzaWJpbGl0eWAgY2FuIGJlIGVpdGhlciBgdmlzaWJsZWAgb3IgYGhpZGRlbmAuXG4vLyBCcm93c2VycyBkZWZhdWx0IHRvIHZpc2libGUsIG1peGluIGRlZmF1bHRzIHRvIGhpZGRlblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHk6IGhpZGRlbikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBUcmFuc2Zvcm0gUGFydGlhbHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZXNlIHdvcmsgd2VsbCBvbiB0aGVpciBvd24sIGJ1dCB0aGV5IGRvbid0IGFkZCB0byBlYWNoIG90aGVyLCB0aGV5IG92ZXJyaWRlLlxuLy8gVXNlIGFsb25nIHdpdGggdHJhbnNmb3JtIHBhcmFtZXRlciBtaXhpbnMgdG8gYWRqdXN0IG9yaWdpbiwgcGVyc3BlY3RpdmUgYW5kIHN0eWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBTY2FsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGFuZCB5IGF4aXM6XG4vL1xuLy8gICAgICBAaW5jbHVkZSBzY2FsZSggWyBzY2FsZS14LCBzY2FsZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgJ3NjYWxlLScgYXJndW1lbnRzIGFyZSB1bml0bGVzcyBtdWx0aXBsaWVycyBvZiB0aGUgeCBhbmQgeSBkaW1lbnNpb25zXG4vLyBhbmQgcGVyc3BlY3RpdmUsIHdoaWNoIHdvcmtzIHRoZSBzYW1lIGFzIHRoZSBzdGFuZC1hbG9uZSBwZXJzcGVjdGl2ZSBwcm9wZXJ0eS9taXhpblxuLy8gYnV0IGFwcGxpZXMgdG8gdGhlIGluZGl2aWR1YWwgZWxlbWVudCAobXVsdGlwbGllZCB3aXRoIGFueSBwYXJlbnQgcGVyc3BlY3RpdmUpXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlKFxuICAkc2NhbGUteDogICAgICRkZWZhdWx0LXNjYWxlLXgsXG4gICRzY2FsZS15OiAgICAgJHNjYWxlLXgsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlKCRzY2FsZS14LCAkc2NhbGUteSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVYKCBbIHNjYWxlLXgsIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVgoXG4gICRzY2FsZTogICAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVYKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHkgYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVZKCBbIHNjYWxlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVkoXG4gICRzY2FsZTogICAgICAgJGRlZmF1bHQtc2NhbGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVZKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHogYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVaKCBbIHNjYWxlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVooXG4gICRzY2FsZTogJGRlZmF1bHQtc2NhbGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVaKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIFNjYWxlIGFuZCBvYmplY3QgYWxvbmcgYWxsIHRocmVlIGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlM2QoIFsgc2NhbGUteCwgc2NhbGUteSwgc2NhbGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlM2QoXG4gICRzY2FsZS14OiAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHNjYWxlLXk6ICAgICAkZGVmYXVsdC1zY2FsZS15LFxuICAkc2NhbGUtejogICAgICRkZWZhdWx0LXNjYWxlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlM2QoJHNjYWxlLXgsICRzY2FsZS15LCAkc2NhbGUteik7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBSb3RhdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHogYXhpcyAgKDJEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vIHdoZXJlICdyb3RhdGlvbicgaXMgYW4gYW5nbGUgc2V0IGluIGRlZ3JlZXMgKGRlZykgb3IgcmFkaWFuIChyYWQpIHVuaXRzXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZShcbiAgJHJvdGF0ZTogICAgICAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZSgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIEEgbG9uZ2N1dCBmb3IgJ3JvdGF0ZScgaW4gY2FzZSB5b3UgZm9yZ2V0IHRoYXQgJ3onIGlzIGltcGxpZWRcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWihcbiAgJHJvdGF0ZTogICAgICAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICBAaW5jbHVkZSByb3RhdGUoJHJvdGF0ZSwgJHBlcnNwZWN0aXZlLCAkb25seTNkKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHggYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSByb3RhdGVYKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWChcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGVYKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeSBheGlzICgzRClcbi8vIEBpbmNsdWRlIHJvdGF0ZSggWyByb3RhdGlvbiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZVkoXG4gICRyb3RhdGU6ICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlWSgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgYW4gYXJiaXRyYXJ5IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHZlY3Rvci14LCB2ZWN0b3IteSwgdmVjdG9yLXosIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vIHdoZXJlIHRoZSAndmVjdG9yLScgYXJndW1lbnRzIGFjY2VwdCB1bml0bGVzcyBudW1iZXJzLlxuLy8gVGhlc2UgbnVtYmVycyBhcmUgbm90IGltcG9ydGFudCBvbiB0aGVpciBvd24sIGJ1dCBpbiByZWxhdGlvbiB0byBvbmUgYW5vdGhlclxuLy8gY3JlYXRpbmcgYW4gYXhpcyBmcm9tIHlvdXIgdHJhbnNmb3JtLW9yaWdpbiwgYWxvbmcgdGhlIGF4aXMgb2YgWHggPSBZeSA9IFp6LlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGUzZChcbiAgJHZlY3Rvci14OiAkZGVmYXVsdC12ZWN0b3IteCxcbiAgJHZlY3Rvci15OiAkZGVmYXVsdC12ZWN0b3IteSxcbiAgJHZlY3Rvci16OiAkZGVmYXVsdC12ZWN0b3IteixcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGUzZCgkdmVjdG9yLXgsICR2ZWN0b3IteSwgJHZlY3Rvci16LCAkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFRyYW5zbGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBvciB5IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCB0cmFuc2xhdGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vLyB3aGVyZSB0aGUgJ3RyYW5zbGF0ZS0nIGFyZ3VtZW50cyBhY2NlcHQgYW55IGRpc3RhbmNlIGluIHBlcmNlbnRhZ2VzIG9yIGFic29sdXRlIChweCwgY20sIGluLCBlbSBldGMuLikgdW5pdHMuXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZShcbiAgJHRyYW5zbGF0ZS14OiAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHRyYW5zbGF0ZS15OiAkZGVmYXVsdC10cmFuc2xhdGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlKCR0cmFuc2xhdGUteCwgJHRyYW5zbGF0ZS15KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlWChcbiAgJHRyYW5zLXg6ICAgICAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlWCgkdHJhbnMteCk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeSBheGlzICgyRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZVkoXG4gICR0cmFucy15OiAgICAgJGRlZmF1bHQtdHJhbnNsYXRlLXksXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZVkoJHRyYW5zLXkpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHogYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGVaKFxuICAkdHJhbnMtejogICAgICRkZWZhdWx0LXRyYW5zbGF0ZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGVaKCR0cmFucy16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHgsIHkgYW5kIHogYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHRyYW5zbGF0ZS15LCB0cmFuc2xhdGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZTNkKFxuICAkdHJhbnNsYXRlLXg6ICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkdHJhbnNsYXRlLXk6ICRkZWZhdWx0LXRyYW5zbGF0ZS15LFxuICAkdHJhbnNsYXRlLXo6ICRkZWZhdWx0LXRyYW5zbGF0ZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGUzZCgkdHJhbnNsYXRlLXgsICR0cmFuc2xhdGUteSwgJHRyYW5zbGF0ZS16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFNrZXcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTa2V3IGFuIGVsZW1lbnQ6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHNrZXcoIFsgc2tldy14LCBza2V3LXksIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgdGhlICdza2V3LScgYXJndW1lbnRzIGFjY2VwdCBjc3MgYW5nbGVzIGluIGRlZ3JlZXMgKGRlZykgb3IgcmFkaWFuIChyYWQpIHVuaXRzLlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBza2V3KFxuICAkc2tldy14OiAkZGVmYXVsdC1za2V3LXgsXG4gICRza2V3LXk6ICRkZWZhdWx0LXNrZXcteSxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXcoJHNrZXcteCwgJHNrZXcteSk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTa2V3IGFuIGVsZW1lbnQgYWxvbmcgdGhlIHggYXhpelxuLy9cbi8vICAgICBAaW5jbHVkZSBza2V3KCBbIHNrZXcteCwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2tld1goXG4gICRza2V3LXg6ICRkZWZhdWx0LXNrZXcteCxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXdYKCRza2V3LXgpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2tldyBhbiBlbGVtZW50IGFsb25nIHRoZSB5IGF4aXNcbi8vXG4vLyAgICAgQGluY2x1ZGUgc2tldyggWyBza2V3LXksIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNrZXdZKFxuICAkc2tldy15OiAkZGVmYXVsdC1za2V3LXksXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBza2V3WSgkc2tldy15KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cblxuLy8gRnVsbCB0cmFuc2Zvcm0gbWl4aW5zXG4vLyBGb3Igc2V0dGluZ3MgYW55IGNvbWJpbmF0aW9uIG9mIHRyYW5zZm9ybXMgYXMgYXJndW1lbnRzXG4vLyBUaGVzZSBhcmUgY29tcGxleCBhbmQgbm90IGhpZ2hseSByZWNvbW1lbmRlZCBmb3IgZGFpbHkgdXNlLiBUaGV5IGFyZSBtYWlubHlcbi8vIGhlcmUgZm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkgcHVycG9zZXMuXG4vL1xuLy8gKiB0aGV5IGluY2x1ZGUgb3JpZ2luIGFkanVzdG1lbnRzXG4vLyAqIHNjYWxlIHRha2VzIGEgbXVsdGlwbGllciAodW5pdGxlc3MpLCByb3RhdGUgYW5kIHNrZXcgdGFrZSBkZWdyZWVzIChkZWcpXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIGNyZWF0ZS10cmFuc2Zvcm0oXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRzY2FsZS14OiAgICAgZmFsc2UsXG4gICRzY2FsZS15OiAgICAgZmFsc2UsXG4gICRzY2FsZS16OiAgICAgZmFsc2UsXG4gICRyb3RhdGUteDogICAgZmFsc2UsXG4gICRyb3RhdGUteTogICAgZmFsc2UsXG4gICRyb3RhdGUtejogICAgZmFsc2UsXG4gICRyb3RhdGUzZDogICAgZmFsc2UsXG4gICR0cmFucy14OiAgICAgZmFsc2UsXG4gICR0cmFucy15OiAgICAgZmFsc2UsXG4gICR0cmFucy16OiAgICAgZmFsc2UsXG4gICRza2V3LXg6ICAgICAgZmFsc2UsXG4gICRza2V3LXk6ICAgICAgZmFsc2UsXG4gICRvcmlnaW4teDogICAgZmFsc2UsXG4gICRvcmlnaW4teTogICAgZmFsc2UsXG4gICRvcmlnaW4tejogICAgZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHVucXVvdGUoXCJcIik7XG5cbiAgLy8gcGVyc3BlY3RpdmVcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSA7IH1cblxuICAvLyBzY2FsZVxuICBAaWYgJHNjYWxlLXggYW5kICRzY2FsZS15IHtcbiAgICBAaWYgJHNjYWxlLXogeyAkdHJhbnM6ICR0cmFucyBzY2FsZTNkKCRzY2FsZS14LCAkc2NhbGUteSwgJHNjYWxlLXopOyB9XG4gICAgQGVsc2UgeyAkdHJhbnM6ICR0cmFucyBzY2FsZSgkc2NhbGUteCwgJHNjYWxlLXkpOyB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkc2NhbGUteCB7ICR0cmFuczogJHRyYW5zIHNjYWxlWCgkc2NhbGUteCk7IH1cbiAgICBAaWYgJHNjYWxlLXkgeyAkdHJhbnM6ICR0cmFucyBzY2FsZVkoJHNjYWxlLXkpOyB9XG4gICAgQGlmICRzY2FsZS16IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGVaKCRzY2FsZS16KTsgfVxuICB9XG5cbiAgLy8gcm90YXRlXG4gIEBpZiAkcm90YXRlLXggeyAkdHJhbnM6ICR0cmFucyByb3RhdGVYKCRyb3RhdGUteCk7IH1cbiAgQGlmICRyb3RhdGUteSB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZVkoJHJvdGF0ZS15KTsgfVxuICBAaWYgJHJvdGF0ZS16IHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlWigkcm90YXRlLXopOyB9XG4gIEBpZiAkcm90YXRlM2QgeyAkdHJhbnM6ICR0cmFucyByb3RhdGUzZCgkcm90YXRlM2QpOyB9XG5cbiAgLy8gdHJhbnNsYXRlXG4gIEBpZiAkdHJhbnMteCBhbmQgJHRyYW5zLXkge1xuICAgIEBpZiAkdHJhbnMteiB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZTNkKCR0cmFucy14LCAkdHJhbnMteSwgJHRyYW5zLXopOyB9XG4gICAgQGVsc2UgeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGUoJHRyYW5zLXgsICR0cmFucy15KTsgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgJHRyYW5zLXggeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGVYKCR0cmFucy14KTsgfVxuICAgIEBpZiAkdHJhbnMteSB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZVkoJHRyYW5zLXkpOyB9XG4gICAgQGlmICR0cmFucy16IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlWigkdHJhbnMteik7IH1cbiAgfVxuXG4gIC8vIHNrZXdcbiAgQGlmICRza2V3LXggYW5kICRza2V3LXkgeyAkdHJhbnM6ICR0cmFucyBza2V3KCRza2V3LXgsICRza2V3LXkpOyB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHNrZXcteCB7ICR0cmFuczogJHRyYW5zIHNrZXdYKCRza2V3LXgpOyB9XG4gICAgQGlmICRza2V3LXkgeyAkdHJhbnM6ICR0cmFucyBza2V3WSgkc2tldy15KTsgfVxuICB9XG5cbiAgLy8gYXBwbHkgaXQhXG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpO1xufVxuXG5cbi8vIEEgc2ltcGxpZmllZCBzZXQgb2Ygb3B0aW9uc1xuLy8gYmFja3dhcmRzLWNvbXBhdGlibGUgd2l0aCB0aGUgcHJldmlvdXMgdmVyc2lvbiBvZiB0aGUgJ3RyYW5zZm9ybScgbWl4aW5cbkBtaXhpbiBzaW1wbGUtdHJhbnNmb3JtKFxuICAkc2NhbGU6ICAgIGZhbHNlLFxuICAkcm90YXRlOiAgIGZhbHNlLFxuICAkdHJhbnMteDogIGZhbHNlLFxuICAkdHJhbnMteTogIGZhbHNlLFxuICAkc2tldy14OiAgIGZhbHNlLFxuICAkc2tldy15OiAgIGZhbHNlLFxuICAkb3JpZ2luLXg6IGZhbHNlLFxuICAkb3JpZ2luLXk6IGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgY3JlYXRlLXRyYW5zZm9ybShcbiAgICBmYWxzZSxcbiAgICAkc2NhbGUsICRzY2FsZSwgZmFsc2UsXG4gICAgZmFsc2UsIGZhbHNlLCAkcm90YXRlLCBmYWxzZSxcbiAgICAkdHJhbnMteCwgJHRyYW5zLXksIGZhbHNlLFxuICAgICRza2V3LXgsICRza2V3LXksXG4gICAgJG9yaWdpbi14LCAkb3JpZ2luLXksIGZhbHNlLFxuICAgIGZhbHNlXG4gICk7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENTUyBUcmFuc2l0aW9uc1xuLy8gQ3VycmVudGx5IG9ubHkgd29ya3MgaW4gV2Via2l0LlxuLy9cbi8vICogZXhwZWN0ZWQgaW4gQ1NTMywgRmlyZUZveCAzLjYvNyBhbmQgT3BlcmEgUHJlc3RvIDIuM1xuLy8gKiBXZSdsbCBiZSBwcmVwYXJlZC5cbi8vXG4vLyBJbmNsdWRpbmcgdGhpcyBzdWJtb2R1bGUgc2V0cyBmb2xsb3dpbmcgZGVmYXVsdHMgZm9yIHRoZSBtaXhpbnM6XG4vL1xuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHkgOiBhbGxcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uIDogMXNcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uIDogZmFsc2Vcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5ICAgIDogZmFsc2Vcbi8vXG4vLyBPdmVycmlkZSB0aGVtIGlmIHlvdSBsaWtlLiBUaW1pbmctZnVuY3Rpb24gYW5kIGRlbGF5IGFyZSBzZXQgdG8gZmFsc2UgZm9yIGJyb3dzZXIgZGVmYXVsdHMgKGVhc2UsIDBzKS5cblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxcyAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXk6IGZhbHNlICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzOiB0cmFuc2Zvcm0sIHRyYW5zZm9ybS1vcmlnaW4gIWRlZmF1bHQ7XG5cbi8vIE9uZSBvciBtb3JlIHByb3BlcnRpZXMgdG8gdHJhbnNpdGlvblxuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiBhbHNvIGFjY2VwdHMgXCJhbGxcIiBvciBcIm5vbmVcIlxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydHktMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSxcbiAgJHByb3BlcnR5LTIgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTMgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTQgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTUgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTYgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTcgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTggOiBmYWxzZSxcbiAgJHByb3BlcnR5LTkgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRwcm9wZXJ0eS0xKSA9PSBzdHJpbmcgeyAkcHJvcGVydHktMTogdW5xdW90ZSgkcHJvcGVydHktMSk7IH1cbiAgJHByb3BlcnRpZXM6IGNvbXBhY3QoJHByb3BlcnR5LTEsICRwcm9wZXJ0eS0yLCAkcHJvcGVydHktMywgJHByb3BlcnR5LTQsICRwcm9wZXJ0eS01LCAkcHJvcGVydHktNiwgJHByb3BlcnR5LTcsICRwcm9wZXJ0eS04LCAkcHJvcGVydHktOSwgJHByb3BlcnR5LTEwKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLXdlYmtpdCwgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC1tb3osICAgICRwcm9wZXJ0aWVzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtbywgICAgICAkcHJvcGVydGllcyk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5IDogJHByb3BlcnRpZXM7XG59XG5cbi8vIE9uZSBvciBtb3JlIGR1cmF0aW9ucyBpbiBzZWNvbmRzXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIHRoZXNlIGR1cmF0aW9ucyB3aWxsIGFmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAkZHVyYXRpb24tMiA6IGZhbHNlLFxuICAkZHVyYXRpb24tMyA6IGZhbHNlLFxuICAkZHVyYXRpb24tNCA6IGZhbHNlLFxuICAkZHVyYXRpb24tNSA6IGZhbHNlLFxuICAkZHVyYXRpb24tNiA6IGZhbHNlLFxuICAkZHVyYXRpb24tNyA6IGZhbHNlLFxuICAkZHVyYXRpb24tOCA6IGZhbHNlLFxuICAkZHVyYXRpb24tOSA6IGZhbHNlLFxuICAkZHVyYXRpb24tMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJGR1cmF0aW9uLTEpID09IHN0cmluZyB7ICRkdXJhdGlvbi0xOiB1bnF1b3RlKCRkdXJhdGlvbi0xKTsgfVxuICAkZHVyYXRpb25zOiBjb21wYWN0KCRkdXJhdGlvbi0xLCAkZHVyYXRpb24tMiwgJGR1cmF0aW9uLTMsICRkdXJhdGlvbi00LCAkZHVyYXRpb24tNSwgJGR1cmF0aW9uLTYsICRkdXJhdGlvbi03LCAkZHVyYXRpb24tOCwgJGR1cmF0aW9uLTksICRkdXJhdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLWR1cmF0aW9uLCAkZHVyYXRpb25zLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE9uZSBvciBtb3JlIHRpbWluZyBmdW5jdGlvbnNcbi8vXG4vLyAqIFsgZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKHgxLCB5MSwgeDIsIHkyKV1cbi8vICogRm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiBUaGVzZSBmdW5jdGlvbnMgd2lsbCBlZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJGZ1bmN0aW9uLTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24sXG4gICRmdW5jdGlvbi0yIDogZmFsc2UsXG4gICRmdW5jdGlvbi0zIDogZmFsc2UsXG4gICRmdW5jdGlvbi00IDogZmFsc2UsXG4gICRmdW5jdGlvbi01IDogZmFsc2UsXG4gICRmdW5jdGlvbi02IDogZmFsc2UsXG4gICRmdW5jdGlvbi03IDogZmFsc2UsXG4gICRmdW5jdGlvbi04IDogZmFsc2UsXG4gICRmdW5jdGlvbi05IDogZmFsc2UsXG4gICRmdW5jdGlvbi0xMDogZmFsc2Vcbikge1xuICAkZnVuY3Rpb24tMTogdW5xdW90ZSgkZnVuY3Rpb24tMSk7XG4gICRmdW5jdGlvbnM6IGNvbXBhY3QoJGZ1bmN0aW9uLTEsICRmdW5jdGlvbi0yLCAkZnVuY3Rpb24tMywgJGZ1bmN0aW9uLTQsICRmdW5jdGlvbi01LCAkZnVuY3Rpb24tNiwgJGZ1bmN0aW9uLTcsICRmdW5jdGlvbi04LCAkZnVuY3Rpb24tOSwgJGZ1bmN0aW9uLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkZnVuY3Rpb25zLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE9uZSBvciBtb3JlIHRyYW5zaXRpb24tZGVsYXlzIGluIHNlY29uZHNcbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogdGhlc2UgZGVsYXlzIHdpbGwgZWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJGRlbGF5LTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXksXG4gICRkZWxheS0yIDogZmFsc2UsXG4gICRkZWxheS0zIDogZmFsc2UsXG4gICRkZWxheS00IDogZmFsc2UsXG4gICRkZWxheS01IDogZmFsc2UsXG4gICRkZWxheS02IDogZmFsc2UsXG4gICRkZWxheS03IDogZmFsc2UsXG4gICRkZWxheS04IDogZmFsc2UsXG4gICRkZWxheS05IDogZmFsc2UsXG4gICRkZWxheS0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkZGVsYXktMSkgPT0gc3RyaW5nIHsgJGRlbGF5LTE6IHVucXVvdGUoJGRlbGF5LTEpOyB9XG4gICRkZWxheXM6IGNvbXBhY3QoJGRlbGF5LTEsICRkZWxheS0yLCAkZGVsYXktMywgJGRlbGF5LTQsICRkZWxheS01LCAkZGVsYXktNiwgJGRlbGF5LTcsICRkZWxheS04LCAkZGVsYXktOSwgJGRlbGF5LTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tZGVsYXksICRkZWxheXMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gVHJhbnNpdGlvbiBhbGwtaW4tb25lIHNob3J0aGFuZFxuXG5AbWl4aW4gc2luZ2xlLXRyYW5zaXRpb24oXG4gICRwcm9wZXJ0eTogJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSxcbiAgJGR1cmF0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAkZnVuY3Rpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24sXG4gICRkZWxheTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheVxuKSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oY29tcGFjdCgkcHJvcGVydHkgJGR1cmF0aW9uICRmdW5jdGlvbiAkZGVsYXkpKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24oXG4gICR0cmFuc2l0aW9uLTEgOiBkZWZhdWx0LFxuICAkdHJhbnNpdGlvbi0yIDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTMgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNCA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi01IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTYgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNyA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi04IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTkgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tMTA6IGZhbHNlXG4pIHtcbiAgQGlmICR0cmFuc2l0aW9uLTEgPT0gZGVmYXVsdCB7XG4gICAgJHRyYW5zaXRpb24tMSA6IGNvbXBhY3QoJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24gJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSk7XG4gIH1cbiAgJHRyYW5zaXRpb25zOiBmYWxzZTtcbiAgQGlmIHR5cGUtb2YoJHRyYW5zaXRpb24tMSkgPT0gbGlzdCBhbmQgdHlwZS1vZihudGgoJHRyYW5zaXRpb24tMSwxKSkgPT0gbGlzdCB7XG4gICAgJHRyYW5zaXRpb25zOiBqb2luKCR0cmFuc2l0aW9uLTEsIGNvbXBhY3QoJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApLCBjb21tYSk7XG4gIH0gQGVsc2Uge1xuICAgICR0cmFuc2l0aW9ucyA6IGNvbXBhY3QoJHRyYW5zaXRpb24tMSwgJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApO1xuICB9XG4gICRkZWxheXM6IGNvbW1hLWxpc3QoKTtcbiAgJGhhcy1kZWxheXM6IGZhbHNlO1xuICAkd2Via2l0LXZhbHVlOiBjb21tYS1saXN0KCk7XG4gICRtb3otdmFsdWU6IGNvbW1hLWxpc3QoKTtcbiAgJG8tdmFsdWU6IGNvbW1hLWxpc3QoKTtcblxuICAvLyBUaGlzIGJsb2NrIGNhbiBiZSBtYWRlIGNvbnNpZGVyYWJseSBzaW1wbGVyIGF0IHRoZSBwb2ludCBpbiB0aW1lIHRoYXRcbiAgLy8gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gZGVhbCB3aXRoIHRoZSBkaWZmZXJlbmNlcyBpbiBob3cgZGVsYXlzIGFyZSB0cmVhdGVkLlxuICBAZWFjaCAkdHJhbnNpdGlvbiBpbiAkdHJhbnNpdGlvbnMge1xuICAgIC8vIEV4dHJhY3QgdGhlIHZhbHVlcyBmcm9tIHRoZSBsaXN0XG4gICAgLy8gKHRoaXMgd291bGQgYmUgY2xlYW5lciBpZiBudGggdG9vayBhIDNyZCBhcmd1bWVudCB0byBwcm92aWRlIGEgZGVmYXVsdCB2YWx1ZSkuXG4gICAgJHByb3BlcnR5OiBudGgoJHRyYW5zaXRpb24sIDEpO1xuICAgICRkdXJhdGlvbjogZmFsc2U7XG4gICAgJHRpbWluZy1mdW5jdGlvbjogZmFsc2U7XG4gICAgJGRlbGF5OiBmYWxzZTtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEgeyAkZHVyYXRpb246ICAgICAgICBudGgoJHRyYW5zaXRpb24sIDIpOyB9XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAyIHsgJHRpbWluZy1mdW5jdGlvbjogbnRoKCR0cmFuc2l0aW9uLCAzKTsgfVxuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMyB7ICRkZWxheTogICAgICAgICAgIG50aCgkdHJhbnNpdGlvbiwgNCk7ICRoYXMtZGVsYXlzOiB0cnVlOyB9XG5cbiAgICAvLyBJZiBhIGRlbGF5IGlzIHByb3ZpZGVkIHdpdGhvdXQgYSB0aW1pbmcgZnVuY3Rpb25cbiAgICBAaWYgaXMtdGltZSgkdGltaW5nLWZ1bmN0aW9uKSBhbmQgbm90KCRkZWxheSkgeyAkZGVsYXk6ICR0aW1pbmctZnVuY3Rpb247ICR0aW1pbmctZnVuY3Rpb246IGZhbHNlOyAkaGFzLWRlbGF5czogdHJ1ZTsgfVxuXG4gICAgLy8gS2VlcCBhIGxpc3Qgb2YgZGVsYXlzIGluIGNhc2Ugb25lIGlzIHNwZWNpZmllZFxuICAgICRkZWxheXM6IGFwcGVuZCgkZGVsYXlzLCBpZigkZGVsYXksICRkZWxheSwgMHMpKTtcblxuICAgICR3ZWJraXQtdmFsdWU6IGFwcGVuZCgkd2Via2l0LXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtd2Via2l0LCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uKS4uLikpO1xuICAgICAgICRtb3otdmFsdWU6IGFwcGVuZCggICAkbW96LXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAtbW96LCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkuLi4pKTtcbiAgICAgICAgICRvLXZhbHVlOiBhcHBlbmQoICAgICAkby12YWx1ZSwgY29tcGFjdCgocHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oICAgICAtbywgJHByb3BlcnR5KSAkZHVyYXRpb24gJHRpbWluZy1mdW5jdGlvbiAkZGVsYXkpLi4uKSk7XG4gIH1cblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24gOiAkd2Via2l0LXZhbHVlO1xuICAgIC8vIG9sZCB3ZWJraXQgZG9lc24ndCBzdXBwb3J0IHRoZSBkZWxheSBwYXJhbWV0ZXIgaW4gdGhlIHNob3J0aGFuZCBzbyB3ZSBwcm9ncmVzc2l2ZWx5IGVuaGFuY2UgaXQuXG4gICAgQGlmICRoYXMtZGVsYXlzICAgICAgICAgICAgICAgICAgICAgICB7IC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheSA6ICRkZWxheXM7ICAgICAgIH0gfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAgICAgICAtbW96LXRyYW5zaXRpb24gOiAkbW96LXZhbHVlOyAgICB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbiA6ICRvLXZhbHVlOyAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uIDogJHRyYW5zaXRpb25zO1xufVxuXG4vLyBjb2VyY2UgYSBsaXN0IHRvIGJlIGNvbW1hIGRlbGltaXRlZCBvciBtYWtlIGEgbmV3LCBlbXB0eSBjb21tYSBkZWxpbWl0ZWQgbGlzdC5cbkBmdW5jdGlvbiBjb21tYS1saXN0KCRsaXN0OiAoKSkge1xuICBAcmV0dXJuIGpvaW4oKCksICRsaXN0LCBjb21tYSk7XG59XG5cbi8vIFJldHVybnMgYCRwcm9wZXJ0eWAgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4IGlmIGl0IGlzIGZvdW5kIGluIGAkdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzYC5cbkBmdW5jdGlvbiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkcHJvcGVydHkpIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5KSA9PSBsaXN0IHtcbiAgICAkbmV3LWxpc3Q6IGNvbW1hLWxpc3QoKTtcbiAgICBAZWFjaCAkdiBpbiAkcHJvcGVydHkge1xuICAgICAgJG5ldy1saXN0OiBhcHBlbmQoJG5ldy1saXN0LCBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkdikpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXctbGlzdDtcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGluZGV4KCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXMsICRwcm9wZXJ0eSkge1xuICAgICAgQHJldHVybiAjeyRwcmVmaXh9LSN7JHByb3BlcnR5fTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJHByb3BlcnR5O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVja3MgaWYgdGhlIHZhbHVlIGdpdmVuIGlzIGEgdW5pdCBvZiB0aW1lLlxuQGZ1bmN0aW9uIGlzLXRpbWUoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICBAcmV0dXJuIG5vdChub3QoaW5kZXgocyBtcywgdW5pdCgkdmFsdWUpKSkpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENoYW5nZSB0aGUgYXBwZWFyYW5jZSBmb3IgTW96aWxsYSwgV2Via2l0IGFuZCBwb3NzaWJseSB0aGUgZnV0dXJlLlxuLy8gVGhlIGFwcGVhcmFuY2UgcHJvcGVydHkgaXMgY3VycmVudGx5IG5vdCBwcmVzZW50IGluIGFueSBuZXdlciBDU1Mgc3BlY2lmaWNhdGlvbi5cbi8vXG4vLyBUaGVyZSBpcyBubyBvZmZpY2lhbCBsaXN0IG9mIGFjY2VwdGVkIHZhbHVlcywgYnV0IHlvdSBtaWdodCBjaGVjayB0aGVzZSBzb3VyY2U6XG4vLyAgIE1vemlsbGEgOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9DU1MvLW1vei1hcHBlYXJhbmNlXG4vLyAgIFdlYmtpdCAgOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3Avd2Via2l0LW1pcnJvci9zb3VyY2UvYnJvd3NlL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluP3NwZWM9c3ZuZjFhZWE1NTlkY2QwMjVhODk0NmFhN2RhNmU0ZTgzMDZmNWMxYjYwNCZyPTYzYzdkMWFmNDQ0MzBiMzE0MjMzZmVhMzQyYzNkZGIyYTA1MmUzNjVcbi8vICAgKHNlYXJjaCBmb3IgJ2FwcGVhcmFuY2UnIHdpdGhpbiB0aGUgcGFnZSlcblxuQG1peGluIGFwcGVhcmFuY2UoJGFwKSB7XG4gICRhcDogdW5xdW90ZSgkYXApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYXBwZWFyYW5jZSwgJGFwLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gV2Via2l0LCBJRTEwIGFuZCBmdXR1cmUgc3VwcG9ydCBmb3IgW0NTUyBSZWdpb25zXShodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MzLXJlZ2lvbnMvKVxuLy9cbi8vICR0YXJnZXQgaXMgYSB2YWx1ZSB5b3UgdXNlIHRvIGxpbmsgdHdvIHJlZ2lvbnMgb2YgeW91ciBjc3MuIEdpdmUgdGhlIHNvdXJjZSBvZiB5b3VyIGNvbnRlbnQgdGhlIGZsb3ctaW50byBwcm9wZXJ0eSwgYW5kIGdpdmUgeW91ciB0YXJnZXQgY29udGFpbmVyIHRoZSBmbG93LWZyb20gcHJvcGVydHkuXG4vL1xuLy8gRm9yIGEgdmlzdWFsIGV4cGxhbmF0aW9uLCBzZWUgdGhlIGRpYWdyYW1zIGF0IENocmlzIENveWllcidzXG4vLyBbQ1NTLVRyaWNrc10oaHR0cDovL2Nzcy10cmlja3MuY29tL2NvbnRlbnQtZm9sZGluZy8pXG5cbkBtaXhpbiBmbG93LWludG8oJHRhcmdldCkge1xuICAkdGFyZ2V0OiB1bnF1b3RlKCR0YXJnZXQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmxvdy1pbnRvLCAkdGFyZ2V0LFxuICAgIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgbm90IG9mZmljaWFsXG4gICk7XG59XG5cbkBtaXhpbiBmbG93LWZyb20oJHRhcmdldCkge1xuICAkdGFyZ2V0OiB1bnF1b3RlKCR0YXJnZXQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmxvdy1mcm9tLCAkdGFyZ2V0LFxuICAgIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgbm90IG9mZmljaWFsXG4gICk7XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBNaXhpbnMgdG8gc3VwcG9ydCBzcGVjaWZpYyBDU1MgVGV4dCBMZXZlbCAzIGVsZW1lbnRzXG4vL1xuLy9cbi8vXG4vLyBNaXhpbiBmb3Igd29yZC1icmVhayBwcm9wZXJ0aWVzXG4vLyBodHRwOi8vd3d3LnczLm9yZy9jc3MzLXRleHQvI3dvcmQtYnJlYWtcbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IG5vcm1hbCwga2VlcC1hbGwsIGJyZWFrLWFsbFxuLy9cbi8vIEV4YW1wbGU6XG4vLyAgICBwLndvcmRCcmVhayB7QGluY2x1ZGUgd29yZC1icmVhayhicmVhay1hbGwpO31cbi8vXG4vLyBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgICBwLndvcmRCcmVhayB7XG4vLyAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDt9XG4vL1xuQG1peGluIHdvcmQtYnJlYWsoJHZhbHVlOiBub3JtYWwpe1xuICBAaWYgJHZhbHVlID09IGJyZWFrLWFsbCB7XG4gICAgLy9Nb3N0IGJyb3dzZXJzIGhhbmRsZSB0aGUgYnJlYWstYWxsIGNhc2UgdGhlIHNhbWUuLi5cbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwod29yZC1icmVhaywgJHZhbHVlLFxuICAgICAgbm90KC1tb3opLCBub3QoLXdlYmtpdCksIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgICAvL1dlYmtpdCBoYW5kbGVzIGJyZWFrLWFsbCBkaWZmZXJlbnRseS4uLiBhcyBicmVhay13b3JkXG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHdvcmQtYnJlYWssIGJyZWFrLXdvcmQsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh3b3JkLWJyZWFrLCAkdmFsdWUsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIE1peGluIGZvciB0aGUgaHlwaGVucyBwcm9wZXJ0eVxuLy9cbi8vIFczQyBzcGVjaWZpY2F0aW9uOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRleHQvI2h5cGhlbnNcbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IGF1dG8sIG1hbnVhbCwgbm9uZVxuLy9cbi8vIEV4YW1wbGU6XG4vLyAgcCB7XG4vLyAgICBAaW5jbHVkZSBoeXBoZW5zKGF1dG8pO31cbi8vIFdoaWNoIGdlbmVyYXRlczpcbi8vICBwIHtcbi8vICAgIC1tb3otaHlwaGVuczogYXV0bztcbi8vICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbi8vICAgIGh5cGhlbnM6IGF1dG87fVxuLy9cbkBtaXhpbiBoeXBoZW5zKCR2YWx1ZTogYXV0byl7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChoeXBoZW5zLCAkdmFsdWUsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBNaXhpbiBmb3IgeC1icm93c2VyIGh5cGhlbmF0aW9uIGJhc2VkIG9uIEBhdWNoZW5iZXJnJ3MgcG9zdDpcbi8vIFJlbW92ZXMgdGhlIG5lZWQgZm9yIHRoZSA8d2JyLz4gSFRNTCB0YWdcbi8vIGh0dHA6Ly9ibG9nLmtlbm5ldGguaW8vYmxvZy8yMDEyLzAzLzA0L3dvcmQtd3JhcHBpbmctaHlwZXJuYXRpb24tdXNpbmctY3NzL1xuLy9cbi8vICBFeGFtcGxlOlxuLy8gIGRpdiB7QGluY2x1ZGUgaHlwaGVuYXRpb247fVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgICBkaXYge1xuLy8gICAgICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4vLyAgICAgIC1tb3otaHlwaGVuczogYXV0bztcbi8vICAgICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuLy8gICAgICBoeXBoZW5zOiBhdXRvO31cbi8vXG5AbWl4aW4gaHlwaGVuYXRpb257XG4gIEBpbmNsdWRlIHdvcmQtYnJlYWsoYnJlYWstYWxsKTtcbiAgQGluY2x1ZGUgaHlwaGVucztcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBzdXBwb3J0IGZvciB0aGUgdXBjb21pbmcgKD8pIGNzczMgZmlsdGVyIHByb3BlcnR5LlxuLy9cbi8vIEVhY2ggZmlsdGVyIGFyZ3VtZW50IHNob3VsZCBhZGhlcmUgdG8gdGhlIHN0YW5kYXJkIGNzczMgc3ludGF4IGZvciB0aGVcbi8vIGZpbHRlciBwcm9wZXJ0eS5cbkBtaXhpbiBmaWx0ZXIgKFxuICAkZmlsdGVyLTEsXG4gICRmaWx0ZXItMiA6IGZhbHNlLFxuICAkZmlsdGVyLTMgOiBmYWxzZSxcbiAgJGZpbHRlci00IDogZmFsc2UsXG4gICRmaWx0ZXItNSA6IGZhbHNlLFxuICAkZmlsdGVyLTYgOiBmYWxzZSxcbiAgJGZpbHRlci03IDogZmFsc2UsXG4gICRmaWx0ZXItOCA6IGZhbHNlLFxuICAkZmlsdGVyLTkgOiBmYWxzZSxcbiAgJGZpbHRlci0xMDogZmFsc2Vcbikge1xuICAkZmlsdGVyIDogY29tcGFjdCgkZmlsdGVyLTEsICRmaWx0ZXItMiwgJGZpbHRlci0zLCAkZmlsdGVyLTQsICRmaWx0ZXItNSwgJGZpbHRlci02LCAkZmlsdGVyLTcsICRmaWx0ZXItOCwgJGZpbHRlci05LCAkZmlsdGVyLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGZpbHRlciwgJGZpbHRlcixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCIkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgdXNlIFNhc3MncyBAZXh0ZW5kIGRpcmVjdGl2ZSB0byBhcHBseSB0aGUgYmVoYXZpb3Jcbi8vIHRvIHlvdXIgUElFIGVsZW1lbnRzLiBUbyBhc3Npc3QgeW91LCBDb21wYXNzIHByb3ZpZGVzIHRoaXMgdmFyaWFibGUuXG4vLyBXaGVuIHNldCwgaXQgd2lsbCBjYXVzZSB0aGUgYEBpbmNsdWRlIHBpZWAgbWl4aW4gdG8gZXh0ZW5kIHRoaXMgY2xhc3MuXG4vLyBUaGUgY2xhc3MgbmFtZSB5b3UgcHJvdmlkZSBzaG91bGQgKipub3QqKiBpbmNsdWRlIHRoZSBgLmAuXG4kcGllLWJhc2UtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBhcHByb2FjaCB0byB1c2luZyBQSUUuXG4vLyBDYW4gYmUgb25lIG9mOlxuLy9cbi8vICogcmVsYXRpdmUgKGRlZmF1bHQpXG4vLyAqIHotaW5kZXhcbi8vICogbm9uZVxuJHBpZS1kZWZhdWx0LWFwcHJvYWNoOiByZWxhdGl2ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGxvY2F0aW9uIG9mIHlvdXIgUElFIGJlaGF2aW9yIGZpbGVcbi8vIFRoaXMgc2hvdWxkIGJlIHJvb3QtcmVsYXRpdmUgdG8geW91ciB3ZWIgc2VydmVyXG4vLyByZWxhdGl2ZSBhc3NldHMgZG9uJ3Qgd29yay4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdFxuLy8geW91IHNldCB0aGlzIHlvdXJzZWxmLlxuJHBpZS1iZWhhdmlvcjogc3R5bGVzaGVldC11cmwoXCJQSUUuaHRjXCIpICFkZWZhdWx0O1xuXG4vLyBXaGVuIHVzaW5nIHRoZSB6LWluZGV4IGFwcHJvYWNoLCB0aGVcbi8vIGZpcnN0IGFuY2VzdG9yIG9mIHRoZSBQSUUgZWxlbWVudCBhdFxuLy8gb3IgYmVmb3JlIHRoZSBjb250YWluZXIncyBvcGFxdWUgYmFja2dyb3VuZFxuLy8gc2hvdWxkIGhhdmUgYSB6LWluZGV4IHNldCBhcyB3ZWxsIHRvIGVuc3VyZVxuLy8gcHJvcGVydCB6LWluZGV4IHN0YWNraW5nLlxuLy9cbi8vIFRoZSBgJHBvc2l0aW9uYCBhcmd1bWVudCBtdXN0IGJlIHNvbWUgbm9uLXN0YXRpY1xuLy8gdmFsdWUgKGFic29sdXRlLCByZWxhdGl2ZSwgZXRjLilcbkBtaXhpbiBwaWUtY29udGFpbmVyKCR6LWluZGV4OiAwLCAkcG9zaXRpb246IHJlbGF0aXZlKSB7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xufVxuXG4vLyBQSUUgZWxlbWVudHMgbXVzdCBoYXZlIHRoaXMgYmVoYXZpb3IgYXR0YWNoZWQgdG8gdGhlbS5cbi8vIElFIGlzIGJyb2tlbiAtLSBpdCBkb2Vzbid0IHRoaW5rIG9mIGJlaGF2aW9yIHVybHMgYXNcbi8vIHJlbGF0aXZlIHRvIHRoZSBzdHlsZXNoZWV0LiBJdCBjb25zaWRlcnMgdGhlbSByZWxhdGl2ZVxuLy8gdG8gdGhlIHdlYnBhZ2UuIEFzIGEgcmVzdWx0LCB5b3UgY2Fubm90IHJlbGlhYmx5IHVzZVxuLy8gY29tcGFzcydzIHJlbGF0aXZlX2Fzc2V0cyB3aXRoIFBJRS5cbi8vXG4vLyAqIGAkYXBwcm9hY2hgIC0gb25lIG9mOiByZWxhdGl2ZSwgei1pbmRleCwgb3Igbm9uZVxuLy8gKiBgJHotaW5kZXhgIC0gd2hlbiB1c2luZyB0aGUgei1pbmRleCBhcHByb2FjaCwgdGhpc1xuLy8gICAgICAgICAgICAgICAgaXMgdGhlIHotaW5kZXggdGhhdCBpcyBhcHBsaWVkLlxuQG1peGluIHBpZS1lbGVtZW50KFxuICAkYXBwcm9hY2g6ICRwaWUtZGVmYXVsdC1hcHByb2FjaCxcbiAgJHotaW5kZXg6IDBcbikge1xuICBiZWhhdmlvcjogJHBpZS1iZWhhdmlvcjtcbiAgQGlmICRhcHByb2FjaCA9PSByZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIEBlbHNlIGlmICRhcHByb2FjaCA9PSB6LWluZGV4IHtcbiAgICB6LWluZGV4OiAkei1pbmRleDtcbiAgfVxufVxuXG4vLyBhIHNtYXJ0IG1peGluIHRoYXQga25vd3MgdG8gZXh0ZW5kIG9yIGluY2x1ZGUgcGllLWVsZW1lbnQgYWNjb3JkaW5nXG4vLyB0byB5b3VyIHN0eWxlc2hlZXQncyBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy5cbkBtaXhpbiBwaWUoJGJhc2UtY2xhc3M6ICRwaWUtYmFzZS1jbGFzcykge1xuICBAaWYgJGJhc2UtY2xhc3Mge1xuICAgIEBleHRlbmQgLiN7JGJhc2UtY2xhc3N9O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBwaWUtZWxlbWVudDtcbiAgfVxufVxuXG4vLyBXYXRjaCBgJG5gIGxldmVscyBvZiBhbmNlc3RvcnMgZm9yIGNoYW5nZXMgdG8gdGhlaXIgY2xhc3MgYXR0cmlidXRlXG4vLyBTbyB0aGF0IGNhc2NhZGluZyBzdHlsZXMgd2lsbCB3b3JrIGNvcnJlY3RseSBvbiB0aGUgUElFIGVsZW1lbnQuXG5AbWl4aW4gcGllLXdhdGNoLWFuY2VzdG9ycygkbikge1xuICAtcGllLXdhdGNoLWFuY2VzdG9yczogJG47XG59XG4iLCIvLyBVc2VyIEludGVyZmFjZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjYW4gYmUgZXhwYW5kZWQgdG8gaGFuZGxlIGFsbCB0aGUgdXNlciBpbnRlcmZhY2UgcHJvcGVydGllcyBhc1xuLy8gdGhleSBiZWNvbWUgYXZhaWxhYmxlIGluIGJyb3dzZXJzOlxuLy8gaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMC9XRC1jc3MzLXVzZXJpbnQtMjAwMDAyMTZcbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuXG4vLyBUaGlzIHByb3BlcnR5IGNvbnRyb2xzIHRoZSBzZWxlY3Rpb24gbW9kZWwgYW5kIGdyYW51bGFyaXR5IG9mIGFuIGVsZW1lbnQuXG4vL1xuLy8gQHBhcmFtICRzZWxlY3Rcbi8vICAgWyBub25lIHwgdGV4dCB8IHRvZ2dsZSB8IGVsZW1lbnQgfCBlbGVtZW50cyB8IGFsbCB8IGluaGVyaXQgXVxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgJHNlbGVjdDogdW5xdW90ZSgkc2VsZWN0KTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHVzZXItc2VsZWN0LCAkc2VsZWN0LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgLWtodG1sLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTdHlsZSB0aGUgaHRtbDUgaW5wdXQgcGxhY2Vob2xkZXIgaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IGl0LlxuLy9cbi8vIFRoZSBzdHlsZXMgZm9yIHRoZSBpbnB1dCBwbGFjZWhvbGRlciBhcmUgcGFzc2VkIGFzIG1peGluIGNvbnRlbnRcbi8vIGFuZCB0aGUgc2VsZWN0b3IgY29tZXMgZnJvbSB0aGUgbWl4aW4ncyBjb250ZXh0LlxuLy9cbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vICAgICAje2VsZW1lbnRzLW9mLXR5cGUodGV4dC1pbnB1dCl9IHtcbi8vICAgICAgIEBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyIHtcbi8vICAgICAgICAgY29sb3I6ICNiZmJmYmY7XG4vLyAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vICAgICAgIH1cbi8vICAgICB9XG4vL1xuLy8gaWYgeW91IHdhbnQgdG8gYXBwbHkgdGhlIHBsYWNlaG9sZGVyIHN0eWxlcyB0byBhbGwgZWxlbWVudHMgc3VwcG9ydGluZ1xuLy8gdGhlIGBpbnB1dC1wbGFjZWhvbGRlcmAgcHNldWRvIGNsYXNzIChiZXdhcmUgb2YgcGVyZm9ybWFuY2UgaW1wYWN0cyk6XG4vL1xuLy8gICAgICoge1xuLy8gICAgICAgQGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXIge1xuLy8gICAgICAgICBjb2xvcjogI2JmYmZiZjtcbi8vICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuLy8gICAgICAgfVxuLy8gICAgIH1cbkBtaXhpbiBpbnB1dC1wbGFjZWhvbGRlciB7XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgJjotbW96LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxufVxuIiwiQGltcG9ydCBcIi4uL3N1cHBvcnRcIjtcbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gVGhpcyBpcyB0aGUgdW5kZXJseWluZyBpbXBsZW1lbnRhdGlvbiBmb3IgYWxsIHRoZSBvdGhlciBtaXhpbnMgaW4gdGhpcyBtb2R1bGUuXG4vLyBJdCBpcyB0aGUgb25seSB3YXkgdG8gYWNjZXNzIHByZWZpeCBzdXBwb3J0IGZvciBvbGRlciB2ZXJzaW9ucyBvZiB0aGUgc3BlYy5cbi8vIERldmlhdGVzIGZyb20gY2Fub25pY2FsIENvbXBhc3MgaW1wbGVtZW50YXRpb24gYnkgZHJvcHBpbmcgc3VwcG9ydCBmb3Jcbi8vIG9sZGVyIHZlcnNpb25zIG9mIHRoZSBGbGV4Ym94IHNwZWMuXG4vL1xuLy8gYCRwcm9wZXJ0aWVzYDogbWFwIG9mIHByb3BlcnR5LXZhbHVlIHBhaXJzIHRoYXQgc2hvdWxkIGJlIHByZWZpeGVkXG5AbWl4aW4gZmxleGJveCgkcHJvcGVydGllcykge1xuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgJHByb3AgPT0gZGlzcGxheSB7XG4gICAgICBAaW5jbHVkZSBleHBlcmltZW50YWwtdmFsdWUoZGlzcGxheSwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoJHByb3AsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBWYWx1ZXMgZm9yICRkaXNwbGF5IGFyZTogZmxleCAoZGVmYXVsdCksIGlubGluZS1mbGV4XG5AbWl4aW4gZGlzcGxheS1mbGV4KCRkaXNwbGF5OiBmbGV4KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGRpc3BsYXk6ICRkaXNwbGF5KSk7XG59XG5cbi8vIFZhbHVlczogcm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb24pKTtcbn1cblxuLy8gVmFsdWVzOiBub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlXG5AbWl4aW4gZmxleC13cmFwKCR3cmFwKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtd3JhcDogJHdyYXApKTtcbn1cblxuLy8gU2hvcnRoYW5kIGZvciBmbGV4LWRpcmVjdGlvbiBhbmQgZmxleC13cmFwLlxuQG1peGluIGZsZXgtZmxvdygkZmxvdykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LWZsb3c6ICRmbG93KSk7XG59XG5cbi8vIEFjY2VwdHMgYW4gaW50ZWdlclxuQG1peGluIG9yZGVyKCRvcmRlcikge1xuICBAaW5jbHVkZSBmbGV4Ym94KChvcmRlcjogJG9yZGVyKSk7XG59XG5cbi8vIFNob3J0aGFuZCBmb3IgZmxleC1ncm93LCBmbGV4LXNocmluayBhbmQgb3B0aW9uYWxseSBmbGV4LWJhc2lzLlxuLy8gU3BhY2Ugc2VwYXJhdGVkLCBpbiB0aGF0IG9yZGVyLlxuQG1peGluIGZsZXgoJGZsZXgpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleDogJGZsZXgpKTtcbn1cblxuLy8gQWNjZXB0cyBhIG51bWJlci5cbkBtaXhpbiBmbGV4LWdyb3coJGZsZXgtZ3Jvdykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LWdyb3c6ICRmbGV4LWdyb3cpKTtcbn1cblxuLy8gQWNjZXB0cyBhIG51bWJlci5cbkBtaXhpbiBmbGV4LXNocmluaygkZmxleC1zaHJpbmspIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1zaHJpbms6ICRmbGV4LXNocmluaykpO1xufVxuXG4vLyBBY2NlcHRzIGFueSBsZWdhbCB2YWx1ZSBmb3IgdGhlIHdpZHRoIHByb3BlcnR5LlxuQG1peGluIGZsZXgtYmFzaXMoJGZsZXgtYmFzaXMpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1iYXNpczogJGZsZXgtYmFzaXMpKTtcbn1cblxuLy8gTGVnYWwgdmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCRqdXN0aWZ5LWNvbnRlbnQpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoanVzdGlmeS1jb250ZW50OiAkanVzdGlmeS1jb250ZW50KSk7XG59XG5cbi8vIExlZ2FsIHZhbHVlczogZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoXG5AbWl4aW4gYWxpZ24taXRlbXMoJGFsaWduLWl0ZW1zKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGFsaWduLWl0ZW1zOiAkYWxpZ24taXRlbXMpKTtcbn1cblxuLy8gTGVnYWwgdmFsdWVzOiBhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoXG5AbWl4aW4gYWxpZ24tc2VsZigkYWxpZ24tc2VsZikge1xuICBAaW5jbHVkZSBmbGV4Ym94KChhbGlnbi1zZWxmOiAkYWxpZ24tc2VsZikpO1xufVxuXG4vLyBMZWdhbCB2YWx1ZXM6IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoXG5AbWl4aW4gYWxpZ24tY29udGVudCgkYWxpZ24tY29udGVudCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChhbGlnbi1jb250ZW50OiAkYWxpZ24tY29udGVudCkpO1xufVxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIgb3IgdW5pdCgkcHJldi1udW0pID09IFwiJVwiIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBVc2VkIHRvIGVuc3VyZSB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXAsICRtYXAtbmFtZTogXCIkZ3JpZC1icmVha3BvaW50c1wiKSB7XG4gIEBpZiBsZW5ndGgoJG1hcCkgPiAwIHtcbiAgICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICAgIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gI3skbWFwLW5hbWV9IG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBTZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2tldmlud2ViZXIvcGVuL2RYV29Sd1xuLy9cbi8vIFJlcXVpcmVzIHRoZSB1c2Ugb2YgcXVvdGVzIGFyb3VuZCBkYXRhIFVSSXMuXG5cbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgLy8gRG8gbm90IGVzY2FwZSB0aGUgdXJsIGJyYWNrZXRzXG4gICAgICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwidXJsKFwiKSA9PSAxIHtcbiAgICAgICAgJHN0cmluZzogdXJsKFwiI3tzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgNiwgLTMpLCAkY2hhciwgJGVuY29kZWQpfVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yLCAkZGFyazogJHlpcS10ZXh0LWRhcmssICRsaWdodDogJHlpcS10ZXh0LWxpZ2h0KSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgKiAuMDAxO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICRibGFjaywgJHdoaXRlKTtcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcblxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuXG4vLyBSZXR1cm4gdmFsaWQgY2FsY1xuQGZ1bmN0aW9uIGFkZCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxICsgJHZhbHVlMjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSArICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiArIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gc3VidHJhY3QoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwgYW5kICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAtJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSAtICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUyKSAhPSBudW1iZXIge1xuICAgICR2YWx1ZTI6IHVucXVvdGUoXCIoXCIpICsgJHZhbHVlMiArIHVucXVvdGUoXCIpXCIpO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvLyBMZSBwcmVtacOocmUgaW1wb3J0IGNvbnRpZW50IGxlcyB2YXJpYWJsZXMgYm9vdHN0cmFwLlxuLy8gTGUgZGV1eGnDqG1lIGltcG9ydCBjb250aWVudCBub3MgdmFyaWFibGVzLlxuXG4vLyBDb25maWd1cmF0aW9uXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L29wdGlvbnNcIjtcbkBpbXBvcnQgXCJvcHRpb25zXCI7XG5cbi8vIENvbG9yIHN5c3RlbVxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9jb2xvci1zeXN0ZW1cIjtcbkBpbXBvcnQgXCJjb2xvcnNcIjtcblxuLy8gU3BhY2luZ1xuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9zcGFjaW5nXCI7XG5cbi8vIEdyaWQgY29udGFpbmVycyAvLyBHcmlkIGNvbHVtbnNcbkBpbXBvcnQgXCJib290c3RyYXAtY3cvZ3JpZFwiO1xuXG4vLyBDb21wb25lbnRzIChyYWRpdXMgLyBsaW5lLWhlaWdodCAvIGJvcmR1cmVzKVxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9jb21wb25lbnRzXCI7XG5AaW1wb3J0IFwic2l6ZXNcIjtcblxuLy8gVHlwb2dyYXBoeVxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuXG4vLyBUYWJsZXNcbkBpbXBvcnQgXCJib290c3RyYXAtY3cvdGFibGVzXCI7XG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9idXR0b25zLWZvcm1zXCI7XG5cbi8vIEJ1dHRvbnNcbkBpbXBvcnQgXCJib290c3RyYXAtY3cvYnV0dG9uc1wiO1xuQGltcG9ydCBcImJ1dHRvbnNcIjtcblxuLy8gRm9ybXMgLy8gRm9ybSB2YWxpZGF0aW9uXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2Zvcm1zXCI7XG5cbi8vIE5hdnMgLy8gTmF2YmFyXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L25hdi1uYXZiYXJcIjtcbkBpbXBvcnQgXCJuYXZiYXJcIjtcblxuLy8gRHJvcGRvd25zIChtZW51LWTDqXJvdWxhbnQpXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2Ryb3Bkb3duc1wiO1xuXG4vLyBQYWdpbmF0aW9uIChwb3VyIGfDqXJlciBwbHVzaWV1cnMgcGFnZXMgZGFucyB1bmUgbcOqbWUgcnVicmlxdWUpXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L3BhZ2luYXRpb25cIjtcblxuLy8gSnVtYm90cm9uXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2p1bWJvdHJvblwiO1xuQGltcG9ydCBcImp1bWJvdHJvblwiO1xuQGltcG9ydCBcImp1bWJvdHJvbi1hbmRyb21lZGVcIjsgLy8gQWN0aXbDqSBwYXIgZMOpZmF1dCBkYW5zIHN0eWxlLnNjc3Ncbi8vQGltcG9ydCBcImp1bWJvdHJvbi1ib2RlXCI7XG5cbi8vIENhcmRzXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2NhcmRzXCI7XG5cbi8vIFRvYXN0cyAobWVzc2FnZSBzJ2FmZmljaGFudCBsb3JzIGQndW5lIG1vZGlmaWNhdGlvbilcbkBpbXBvcnQgXCJib290c3RyYXAtY3cvdG9hc3RzXCI7XG5cbi8vIEJyZWFkY3J1bWJzIChmaWwgZCdhcmlhbmUpXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2JyZWFkY3J1bWJzXCI7XG5cbi8vIENhcm91c2VsXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2Nhcm91c2VsXCI7XG5cbi8vLy8gVmFyaWFibGVzIG5vbiBpbXBvcnTDqWVzXG4vLy8vIFRvb2x0aXBzIC0gUG9wb3ZlcnMgLSBCYWRnZXMgLSBNb2RhbHMgLSBBbGVydHMgLSBQcm9ncmVzcyBiYXJzIC0gTGlzdCBncm91cCAtIEltYWdlIHRodW1ibmFpbHMgLSBGaWd1cmVzIC0gU3Bpbm5lcnMgLSBDbG9zZSAtIENvZGUgLSBVdGlsaXRpZXMgLSBQcmludGluZ1xuIiwiLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cbi8vIGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS9kb2NzLzQuMC9nZXR0aW5nLXN0YXJ0ZWQvdGhlbWluZy8jc2Fzcy1vcHRpb25zXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2U7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsiLCIvLyBDYXJkc1xuJGN3LWNhcmRzOiBcImFuZHJvbWVkZVwiOyAvL2FuZHJvbWVkZSwgYm9kZVxuXG4vLyBCb3V0b25zXG4kYnRuLWJnLXRyYW5zaXRpb246IDA7IC8vIDAgPSBmb25kdSwgMSA9IGTDqWdyYWTDqSwgMiA9IGTDqWdyYWTDqSArIGTDqWdyYWTDqSwgMyA9IHNsaWRlLCA0ID0gc2xpZGUsIDUgPSBvbWJyZSwgNiA9IGTDqWdyYWTDqSArIG9tYnJlLCA3ID0gZMOpZ3JhZMOpICsgYm9yZHVyZSwgNyA9IGJvcmR1cmUgKyBkw6lncmFkw6lcbiRidG4tc2hhZG93OiBmYWxzZTtcblxuLy8gVGl0cmUgc291bGlnbmFnZVxuLy8gTWV0dHJlIGhTcGFuIMOgIHRydWUgZGFucyBjdXN0b20uanMgYWZpbiBkZSBuZSBwYXMgdXRpbGlzZXIgZGVzIHJlc3NvdXJjZXMgc2kgbm9uIHV0aWxpc8OpLlxuJHRpdGxlLWRlY29yYXRpb246IFwibGluZV9ib3R0b21cIjsgLy8gZmFsc2UsIGxpbmVfdG9wLCBsaW5lX2JvdHRvbSwgbGluZV90b3AtYm90dG9tLCBsaW5lX2JnLCBwaWN0dXJlX2JvdHRvbSwgZ3JhZGllbnRfYWJvdmVcblxuLy8gTW90aWYgc3VyIGp1bWJvdHJvbiBldCBwYXJhbGxheCAvLyAwID0gZGlhZ29uYWxlLCAxID0gcG9pbnQsIDIgPSBxdWFkcmlsbGFnZSwgMyA9IHF1YWRyaWxsYWdlXG4kb3ZlcmxheS1qdW1ib3Ryb246IGZhbHNlO1xuJG92ZXJsYXktY2FsbC10by1hY3Rpb246IGZhbHNlO1xuJG92ZXJsYXktcGFyYWxsYXg6IGZhbHNlO1xuJG92ZXJsYXktZm9yY2VzOiBmYWxzZTtcbiRvdmVybGF5LXJlZmVyZW5jZXM6IGZhbHNlO1xuJG92ZXJsYXktbW90aWYtanVtYm90cm9uOiAxO1xuJG92ZXJsYXktbW90aWYtY2FsbC10by1hY3Rpb246IDE7XG4kb3ZlcmxheS1tb3RpZi1wYXJhbGxheDogMTtcbiRvdmVybGF5LW1vdGlmLWZvcmNlczogMTtcbiRvdmVybGF5LW1vdGlmLXJlZmVyZW5jZXM6IDE7XG5cbi8vIEFjdHVhbGl0w6lcbiRjdy1jYXJkcy1pbWctc2hhZG93OiB0cnVlO1xuXG4vLyBEYW1pZXIgLyBjYXJkc1xuJGRhbWllci1jYXJkcy1zaGFkb3c6IGZhbHNlO1xuJGRhbWllci1jb2wtcmVzc2VycmVyOiB0cnVlO1xuJGRhbWllci1pbWctY2VudGVyLWJnOiBmYWxzZTtcbiRkYW1pZXItZ3JhZGllbnQ6IGZhbHNlO1xuJGRhbWllci1oMi1hbGlnbi14czogY2VudGVyO1xuJGRhbWllci10eHQtYWxpZ24teHM6IGxlZnQ7XG4kZGFtaWVyLWJ0bi1hbGlnbi14czogY2VudGVyO1xuJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGc6IGNlbnRlcjtcbiRkYW1pZXItYmctb25lLXR4dC1hbGlnbi1sZzogbGVmdDtcbiRkYW1pZXItYmctb25lLWJ0bi1hbGlnbi1sZzogJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGc7XG4kZGFtaWVyLWJnLXR3by1oMi1hbGlnbi1sZzogJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGc7XG4kZGFtaWVyLWJnLXR3by10eHQtYWxpZ24tbGc6ICRkYW1pZXItYmctb25lLXR4dC1hbGlnbi1sZztcbiRkYW1pZXItYmctdHdvLWJ0bi1hbGlnbi1sZzogJGRhbWllci1iZy10d28taDItYWxpZ24tbGc7XG4kZGFtaWVyLWJnLXRocmVlLWgyLWFsaWduLWxnOiBjZW50ZXI7XG4kZGFtaWVyLWJnLXRocmVlLXR4dC1hbGlnbi1sZzogbGVmdDtcbiRkYW1pZXItYmctdGhyZWUtYnRuLWFsaWduLWxnOiBjZW50ZXI7XG5cbi8vIENhcmRzXG4kY3ctY2FyZC1kYXRlLWljb246IGZhbHNlOyAvL3V0aWxpc8OpIGRhbnMgYWN0dWFsaXTDqVxuXG4vLyBTaGFyZS10aGlzXG4kYWRkdG9hbnktYmFja2dyb3VuZCA6IFwiY2lyY2xlXCI7IC8vY2lyY2xlLCBjaXJjbGUtdGhpbiwgbm9uZVxuXG4vLyBQYXJhbGxheFxuJHBhcmFsbGF4LWdyYWRpZW50OiB0cnVlO1xuXG4vLyBGb3JtXG4kZm9ybS1hbmltLWxpbmU6IGJvdHRvbTsvLyBmYWxzZSwgYm90dG9tLCBhbGwsIGJvcmRlciwgYm9yZGVyLWJvdHRvbVxuXG4vLyBNYXBcbiRjb25maWd1cmF0aW9uLW1hcDogXCJtYXAtZnVsbFwiOyAvL21hcC1mdWxsLCBtYXAtc3VwZXJwb3NpdGlvbiwgbWFwLWNlbnRlciwgbWFwLWRvdWJsZShham91dGVyIHVuIGRldXhpw6htZSBsaWVuLCBtYXAtd2l0aC1jb250ZW50KVxuJG1hcC1pbnRlcnZlbnRpb24tZmEtY29udGVudDogXCJcXGYzYzVcIjsgLy8gZjNjNSAobWFya2VyIGNsYXNzaWMpIC0gZjA1YiAoY3Jvc3NoYWlycykgLSBmNWEwIChtYXApIC0gZjA0MSAobWFya2VyIGZ1bGwpIC0gZjI3NiAocGluKVxuXG4vLyBCbHVyXG4kYmx1cjogZmFsc2U7XG4kYmx1ci12YWx1ZTogMTVweDtcblxuLy8gU2hhcGUtZGl2aWRlciAoc8OpcGFyYXRpb25zIGF2ZWMgZGVzIGZvcm1lcyBlbiBzdmcpXG4vL1xuLy8gQXR0ZW50aW9uIHNpIGlsIHkgYSBkZXMgZmlsdHJlcyBzdXIgbGVzIGltYWdlcyAoaGVhZGVyL3BhcmFsbGF4KSBpbHMgZmF1dCBsZXMgaW50w6lncmVyIGF1eCBsJ2ltYWdlcyBldCBkw6lzYWN0aXZlciBsZXMgb3B0aW9ucyBhZmluIGRlIHBvdXZvaXIgdXRpbGlzZXIgbGVzIGFmdGVyIGV0IGJlZm9yZSBzYW5zIGNvbmZsaXRzLlxuJHNoYXBlLWRpdmlkZXItc2VsZWN0aW9uOiAxOy8vMT1XYXZlcywgMz1XYXZlcyBPcGFjaXR5LCA0PUN1cnZlLCA1PVRyaWFuZ2xlLCA2PVRyaWFuZ2xlIEFzeW1tZXRyaWNhbCwgNz1BcnJvdywgOD1UaWx0L0RpYWdvbmFsLCA5PUJvb2tcbiRzaGFwZS1kaXZpZGVyLWp1bWJvdHJvbi1ib3R0b206IGZhbHNlO1xuJHNoYXBlLWRpdmlkZXItanVtYm90cm9uLWJvdHRvbS1ub3QtZnJvbnQ6IGZhbHNlO1xuJHNoYXBlLWRpdmlkZXItYWN0dWFsaXRlLWJvdHRvbTogZmFsc2U7XG4kc2hhcGUtZGl2aWRlci1wYXJhbGxheC10b3A6IGZhbHNlO1xuJHNoYXBlLWRpdmlkZXItcGFyYWxsYXgtYm90dG9tOiBmYWxzZTtcbiRzaGFwZS1kaXZpZGVyLW1hcC10b3A6IGZhbHNlO1xuJHNoYXBlLWRpdmlkZXItbWFwLWJvdHRvbTogZmFsc2U7XG4iLCIvLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjlmOWY5ICFkZWZhdWx0O1xuJGdyYXktMTUwOiAjZjNmM2YzICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllOWU5ICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVkZWRlICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VjZWNlICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRhZGFkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjODE4MTgxICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk0OTQ5ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzNDM0ICFkZWZhdWx0O1xuJGdyYXktODUwOiAjMzczNzM3ICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMTgxODE4ICFkZWZhdWx0O1xuJGJsYWNrOiAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkZ3JheXNcbik7XG5cbiRibHVlOiAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICMxN2EyYjggIWRlZmF1bHQ7XG5cblxuJHByaW1hcnk6ICNGNTg0MjIgIWRlZmF1bHQ7XG4kcHJpbWFyeS1kYXJrOiAjOTc0NzAwO1xuJHByaW1hcnktbGlnaHQ6IGxpZ2h0ZW4oJHByaW1hcnksIDEwJSk7XG4kc2Vjb25kYXJ5OiAjMDA3RkZGICFkZWZhdWx0O1xuJHNlY29uZGFyeS1kYXJrOiBkYXJrZW4oJHNlY29uZGFyeSwgMTAlKTtcbiRzZWNvbmRhcnktbGlnaHQ6IGxpZ2h0ZW4oJHNlY29uZGFyeSwgMTAlKTtcbiR0ZXJ0aWFyeTogI0ZGRkIwMCAhZGVmYXVsdDtcbiR0ZXJ0aWFyeS1kYXJrOiBkYXJrZW4oJHRlcnRpYXJ5LCAzMCUpO1xuJHRlcnRpYXJ5LWxpZ2h0OiBsaWdodGVuKCR0ZXJ0aWFyeSwgMjAlKTtcblxuJHN1Y2Nlc3M6ICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICMxMTEgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicHJpbWFyeVwiOiAkcHJpbWFyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImluZm9cIjogJGluZm8sXG4gICAgICAgICAgICAgICAgICAgICAgICBcIndhcm5pbmdcIjogJHdhcm5pbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhbmdlclwiOiAkZGFuZ2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsaWdodFwiOiAkbGlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhcmtcIjogJGRhcmtcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAgICAgICAgICAgICAgIChcIjxcIiwgXCIlM2NcIiksXG4gICAgICAgICAgICAgICAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgICAgICAgICAgICAgICAoXCIjXCIsIFwiJTIzXCIpLFxuICAgICAgICAgICAgICAgIChcIihcIiwgXCIlMjhcIiksXG4gICAgICAgICAgICAgICAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG4iLCIvLyBCT0RZXG4kYm9keS1iZzogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBCQUNLR1JPVU5EXG4kYmctb25lOiAkcHJpbWFyeTtcbiRiZy10d286ICRzZWNvbmRhcnk7XG4kYmctdGhyZWU6ICR0ZXJ0aWFyeTtcbiRiZy1ncmF5OiAkZ3JheS0xMDA7IC8vIGFjdHUgKyBjdy1pYm94ICsgJGN3LWNhcmQtZGF0ZS1iZ1xuJGJnLWRhcms6ICRkYXJrO1xuXG4vLyBHTE9CQUwgVEVYVEVTXG4kaDEtY29sb3I6ICRkYXJrO1xuJGgyLWNvbG9yOiAkaDEtY29sb3I7XG4kYm9keS1jb2xvcjogIzM0MzQzNCAhZGVmYXVsdDtcblxuLy8gTElFTlNcbiRsaW5rLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiBsaWdodGVuKCRsaW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFVMIC0gTElcbiRsaS1zdHlsZS1jb2xvcjogJHNlY29uZGFyeTtcbiRsaS1zdHlsZS1mYS1pY29uOiAnXFxmMTkyJzsgLy8gZjVkMihhdG9tKSBmMTkyKGRvdC1jKSBmMmZlKHBvbykgZjA1NShwbHVzKSBmMDhkKHB1bmFpc2UpIGYwMmIodGFnKSBmNWJjKHNwbG90Y2gpIGYwYTMoY2VydGlmKVxuJGxpLXN0eWxlLWZhLXdlaWdodDogOTAwO1xuJGxpLXN0eWxlLWZhLXNpemU6IDAuOHJlbTtcblxuLy8gTElORVxuJGxpbmUtdGl0bGUtY29sb3I6ICRzZWNvbmRhcnk7XG4kbGluZS1mb3JtLWNvbG9yOiAkZ3JheS00MDA7IC8vRm9ybXVsYWlyZXNcbiRsaW5lLWZvcm0tY29sb3Itb3BhY2l0eTogMTtcbiRsaW5lLWZvcm0tY29sb3ItYmxvY2stY29udGFjdDogJGxpbmUtZm9ybS1jb2xvcjtcbiRsaW5lLWZvcm0tY29sb3ItYmxvY2stZmxvYXQ6ICRsaW5lLWZvcm0tY29sb3I7XG5cbi8vIEpVTUJPVFJPTiA+IHBhcmFtw6l0cmFnZXMgZGFucyBmZXVpbGxlIGRlIHN0eWxlIGp1bWJvdHJvbi5zY3NzIGV0IGRhbnMganVtYm90cm9uIHV0aWxpc8OpIChleGVtcGxlOiBqdW1ib3Ryb24tYW5kcm9tZWRlLnNjc3MpXG5cbi8vIENBUkRTXG4kY3ctY2FyZC1iZzogJGJvZHktYmc7IC8vdXRpbGlzw6kgcGFyIGwnYWN0dWFsaXTDqVxuJGN3LWNhcmQtZGF0ZS1jb2xvcjogJGgxLWNvbG9yO1xuJGN3LWNhcmQtZGF0ZS1iZzogJGJnLWdyYXk7XG5cbi8vIEJsb2MgQUNUVUFMSVTDiVNcbiRibG9jLWFjdHUtdGl0bGU6ICRoMS1jb2xvcjtcbiRibG9jLWFjdHUtY29sb3I6ICRib2R5LWNvbG9yO1xuJGJsb2MtYWN0dS1saW5rOiAkbGluay1jb2xvcjtcbiRibG9jLWFjdHUtYmc6ICNFOUU5RTk7XG4kYmxvYy1hY3R1LWJnLWVuZDogJHdoaXRlO1xuJGJsb2MtYWN0dS1ncmFkaWVudDogdHJ1ZTtcbiRibG9jLWFjdHUtZ3JhZGllbnQtc3RhcnQ6IDAlO1xuJGJsb2MtYWN0dS1ncmFkaWVudC1lbmQ6IDEwMCU7XG4kYmxvYy1hY3R1LWdyYWRpZW50LWRlZzogMjcwZGVnO1xuXG4vLyBEQU1JRVJcbiRkYW1pZXItaDItb25lLWNvbG9yOiAkaDItY29sb3I7XG4kZGFtaWVyLWgyLXVuZGVybGluZS1vbmUtY29sb3I6ICRsaW5lLXRpdGxlLWNvbG9yO1xuJGRhbWllci10eHQtb25lLWNvbG9yOiAkYm9keS1jb2xvcjtcbiRkYW1pZXItbGluay1vbmUtY29sb3I6ICRzZWNvbmRhcnk7XG4kZGFtaWVyLWxpbmstb25lLWNvbG9yLWhvdmVyOiAkc2Vjb25kYXJ5LWRhcms7XG4kZGFtaWVyLWJnLW9uZTogJGJnLWdyYXk7XG4kZGFtaWVyLWJnLW9uZS1lbmQ6IHJnYmEoZGFya2VuKCRkYW1pZXItYmctb25lLCAyJSksIDEpO1xuJGRhbWllci1iZy1vbmUtZ3JhZGllbnQ6ICRlbmFibGUtZ3JhZGllbnRzO1xuJGRhbWllci1iZy1vbmUtZ3JhZGllbnQtc3RhcnQ6IDEwJTtcbiRkYW1pZXItYmctb25lLWdyYWRpZW50LWVuZDogODAlO1xuJGRhbWllci1iZy1vbmUtZ3JhZGllbnQtZGVnOiAyMmRlZztcblxuJGRhbWllci1oMi10d28tY29sb3I6ICR3aGl0ZTtcbiRkYW1pZXItaDItdW5kZXJsaW5lLXR3by1jb2xvcjogJGxpbmUtdGl0bGUtY29sb3I7XG4kZGFtaWVyLXR4dC10d28tY29sb3I6ICR3aGl0ZTtcbiRkYW1pZXItbGluay10d28tY29sb3I6ICRwcmltYXJ5O1xuJGRhbWllci1saW5rLXR3by1jb2xvci1ob3ZlcjogJHByaW1hcnktZGFyaztcbiRkYW1pZXItYmctdHdvOiAkd2hpdGU7XG4kZGFtaWVyLWJnLXR3by1lbmQ6IGRhcmtlbigkcHJpbWFyeSwgMTAlKTtcbiRkYW1pZXItYmctdHdvLWdyYWRpZW50OiAkZW5hYmxlLWdyYWRpZW50cztcbiRkYW1pZXItYmctdHdvLWdyYWRpZW50LXN0YXJ0OiAwJTtcbiRkYW1pZXItYmctdHdvLWdyYWRpZW50LWVuZDogNTAlO1xuJGRhbWllci1iZy10d28tZ3JhZGllbnQtZGVnOiAxMjZkZWc7XG5cbi8vIEJPVVRPTlMgPiBwYXJhbcOpdHJhZ2UgZGFucyBidXR0b25zLnNjc3NcblxuLy8gUsOpZ2lvbiBDQUxMIFRPIEFDVElPTlxuJHJlZ2lvbi1mZWF0dXJlZC1maXJzdC1iZzogdHJhbnNwYXJlbnQ7XG4vLyBCbG9jIENBTEwgVE8gQUNUSU9OXG4kY2FsbC1hY3Rpb25zLXRpdGxlOiAkaDEtY29sb3I7XG4kY2FsbC1hY3Rpb25zLW51bWJlcnMtY29sb3I6ICRkYXJrO1xuJGNhbGwtYWN0aW9ucy1iZzogJHdoaXRlOy8vZm9uY3Rpb24gcGFzIMOgIGfDqXJlclxuLy8gQmxvYyBBRERUT0FOWVxuJGFkZHRvYW55LXRpdGxlOiAjNTQ1MzUzO1xuJGFkZHRvYW55LWNvbG9yOiAkd2hpdGU7XG4kYWRkdG9hbnktYm9yZGVyOiAkZ3JheS02MDA7IC8vc2kgJGFkZHRvYW55LWJhY2tncm91bmQgPSBjaXJjbGUtdGhpbjtcbiRhZGR0b2FueS1iZzogJHNlY29uZGFyeTtcblxuLy8gQmxvYyBGT1JDRVNcbiRmb3JjZXMtdGl0bGU6ICRoMS1jb2xvcjtcbiRmb3JjZXMtY29sb3I6ICRib2R5LWNvbG9yO1xuJGZvcmNlcy1iZzogJGJnLWdyYXk7XG4kZm9yY2VzLWJnLWVuZDogcmdiYShkYXJrZW4oJGZvcmNlcy1iZywgMiUpLCAxKTtcbiRmb3JjZXMtZ3JhZGllbnQ6ICRlbmFibGUtZ3JhZGllbnRzO1xuJGZvcmNlcy1ncmFkaWVudC1zdGFydDogMCU7XG4kZm9yY2VzLWdyYWRpZW50LWVuZDogNzAlO1xuJGZvcmNlcy1ncmFkaWVudC1kZWc6IDIwMGRlZztcblxuLy8gQmxvYyBQQVJBTExBWFxuJGJsb2MtcGFyYWxsYXgtdGl0bGUtY29sb3I6ICR3aGl0ZTtcbiRibG9jLXBhcmFsbGF4LWNvbnRlbnQtY29sb3I6ICR3aGl0ZTtcblxuLy8gQmxvYyBSw4lGw4lSRU5DRVNcbiRyZWZlcmVuY2VzLXRpdGxlOiAkaDEtY29sb3I7XG4kcmVmZXJlbmNlcy1jb2xvcjogJGJvZHktY29sb3I7XG4kcmVmZXJlbmNlcy1iZzogJGJnLWdyYXk7XG4kcmVmZXJlbmNlcy1iZy1lbmQ6IHJnYmEoZGFya2VuKCRyZWZlcmVuY2VzLWJnLCAyJSksIDEpO1xuJHJlZmVyZW5jZXMtZ3JhZGllbnQ6ICRlbmFibGUtZ3JhZGllbnRzO1xuJHJlZmVyZW5jZXMtZ3JhZGllbnQtc3RhcnQ6IDEwJTtcbiRyZWZlcmVuY2VzLWdyYWRpZW50LWVuZDogODAlO1xuJHJlZmVyZW5jZXMtZ3JhZGllbnQtZGVnOiAyMmRlZztcblxuLy8gQmxvYyBBVklTIEdPXG4kYXZpc2dvLWJnOiAkd2hpdGU7XG4kYXZpc2dvLWNvbG9yOiAkYm9keS1jb2xvcjtcblxuLy8gRk9PVEVSXG4kcmVnaW9uLWZvb3Rlci1zZWNvbmQtYmc6ICR3aGl0ZTtcbiRibG9jLWZ0LWNvb3Jkb25uZWVzLWJnOiB0cmFuc3BhcmVudDtcbiRibG9jLXdmLWNvbnRhY3QtYmc6IHRyYW5zcGFyZW50O1xuJGZvb3Rlci1jb2xvcjogJGRhcms7XG4kZm9vdGVyLWRlbm9taW5hdGlvbi1jb2xvcjogJGZvb3Rlci1jb2xvcjtcbiRmb290ZXItc2xvZ2FuLWNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuJGZvb3Rlci1hZHJlc3NlLWNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuJGZvb3Rlci10ZWwtY29sb3I6ICRmb290ZXItY29sb3I7XG4kZm9vdGVyLXRlbC1jb2xvci1ob3ZlcjogJGxpbmstY29sb3I7XG4kZm9vdGVyLWhvcmFpcmUtY29sb3I6ICRmb290ZXItY29sb3I7XG4vLyBTb2NpYWwgbmV0d29ya1xuJGJsb2MtcmVzZWF1eC1iZzogJHNlY29uZGFyeTtcbiRibG9jLXJlc2VhdXgtY29sb3I6ICR3aGl0ZTtcbiRibG9jLXJlc2VhdXgtYmctaG92ZXI6ICRzZWNvbmRhcnktZGFyaztcbiRibG9jLXJlc2VhdXgtY29sb3ItaG92ZXI6ICR3aGl0ZTtcbi8vIEZvcm1cbiRmb3JtLWJsb2MtaDItY29sb3I6ICRoMi1jb2xvcjtcbiRmb3JtLWJsb2MtaDItdW5kZXJsaW5lLWNvbG9yOiAkbGluZS10aXRsZS1jb2xvcjtcbi8vJGZvcm0tdGV4dC1jb2xvcjogJGJvZHktY29sb3I7XG4vLyRmb3JtLWxhYmVsLWNvbG9yOiAkZ3JheS04MDA7XG4kZm9ybS1ibG9jLXJncGQ6IGRhcmtlbigkZm9ybS1ibG9jLWgyLWNvbG9yLCAzNSUpO1xuJGZvcm0tYmxvYy1yZ3BkLWxpbms6IGRhcmtlbigkZm9ybS1ibG9jLWgyLWNvbG9yLCAxMCUpO1xuJGZvcm0tYmxvYy1yZ3BkLWxpbmstaG92ZXI6ICRmb3JtLWJsb2MtaDItY29sb3I7XG5cbi8vIE1BUFxuJHJlZ2lvbi1mb290ZXItdGhpcmQtYmc6ICRib2R5LWJnO1xuJG1hcC1pbnRlcnZlbnRpb24tZmE6ICRwcmltYXJ5O1xuJG1hcC1pbnRlcnZlbnRpb24tdGl0bGU6ICRibGFjaztcbiRtYXAtaW50ZXJ2ZW50aW9uLWNvbnRlbnQ6ICRibGFjaztcblxuLy8gQk9UVE9NXG4kYm90dG9tLWNvbG9yOiAkZGFyaztcbiRib3R0b20tYmc6ICRiZy1ncmF5O1xuJGJvdHRvbS1iZy1lbmQ6IHJnYmEoZGFya2VuKCRib3R0b20tYmcsIDclKSwgMSk7XG4kYm90dG9tLWdyYWRpZW50OiAkZW5hYmxlLWdyYWRpZW50cztcbiRib3R0b20tZ3JhZGllbnQtc3RhcnQ6IDAlO1xuJGJvdHRvbS1ncmFkaWVudC1lbmQ6IDY1JTtcbiRib3R0b20tZ3JhZGllbnQtZGVnOiAxNTVkZWc7XG4iLCIvLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMC42cmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAwOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgICAgICAgICAgICAgICAgICAgICAzOiAkc3BhY2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgNDogMXJlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDU6ICgkc3BhY2VyICogNCksXG4gICAgICAgICAgICAgICAgICAgICAgICA2OiAoJHNwYWNlciAqIDYpLFxuICAgICAgICAgICAgICAgICAgICAgICAgNzogKCRzcGFjZXIgKiAxMiksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkc3BhY2Vyc1xuKTtcblxuJHNwYWNlcnMtMjogKCkgIWRlZmF1bHQ7XG4kc3BhY2Vycy0yOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgMDogMHB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgMTA6IDEwcHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAxNTogMTVweCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDIwOiAyMHB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgMzA6IDMwcHgsXG4gICAgICAgICAgICAgICAgICAgICAgICA0MDogNDBweCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDUwOiA1MHB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgNjA6IDYwcHgsXG4gICAgICAgICAgICAgICAgICAgICAgICA3MDogNzBweCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDgwOiA4MHB4LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJHNwYWNlcnMtMlxuKTtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7IiwiLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAgICAgICB4czogMCxcbiAgICAgICAgc206IDU3NnB4LFxuICAgICAgICBtZDogNzY4cHgsXG4gICAgICAgIGxnOiA5OTJweCxcbiAgICAgICAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgICAgICBzbTogNTQwcHgsXG4gICAgICAgIG1kOiA3MjBweCxcbiAgICAgICAgbGc6IDk2MHB4LFxuICAgICAgICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuIiwiLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKGRhcmtlbigkYm9keS1iZywgNSUpLCAxKSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgMC4zMTNyZW0gIWRlZmF1bHQ7IC8vIDByZW0gLSAwLjI1cmVtIC0gMXJlbSAtIDJyZW1cbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICogLjMgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAqIC41ICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMDgpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAwLjhyZW0gMS40cmVtIHJnYmEoJGJsYWNrLCAuMDgpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbi8vIGZsw6hjaGUgZGVzIGRyb3Bkb3duc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIFZhcmlhYmxlcyBDVyAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vLyBSYWRpdXNcbiRyYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuJHJhZGl1cy1idG46ICRyYWRpdXM7XG4vLyRyYWRpdXMtbmF2YmFyOiAwcHg7XG4kbmF2YmFyLWRyb3BtZW51LXJhZGl1czogMCAwICRyYWRpdXMgJHJhZGl1cztcbiRyYWRpdXMtZmxvdHRhbnQ6ICRyYWRpdXM7XG4kcmFkaXVzLWRhbWllci1jYXJkczogJHJhZGl1cztcbiRjdy1jYXJkLWJvcmRlci1yYWRpdXM6IDA7XG4kYmxvYy1yZXNlYXV4LXJhZGl1czogJHJhZGl1cy1idG47XG4vLyRyYWRpdXMtZm9ybTogJHJhZGl1czsiLCIvLyBQYWRkaW5nIC0gTWFyZ2luIChlc3BhY2UgZW50cmUgbGVzIFwiYmxvY3NcIiBldCBlbnRyZSBsZXMgXCJibG9jcyBkZSB0ZXh0ZXNcIiBzdXIgdG91dCBsZSBwcm9qZXQpXG4kYmV0d2Vlbi16b25lczogM3JlbTtcbiRiZXR3ZWVuLXpvbmVzLWxnOiA0cmVtO1xuXG4vLyBIYXV0ZXVycyBibG9ja1xuJGRhbWllci1taW4taGVpZ2h0OiA1MDBweDtcbiRwYXJhbGxheC1taW4taGVpZ2h0OiA4NXZoO1xuXG4vLyBSw6lzZWF1eFxuJGJsb2MtcmVzZWF1eC13aWR0aC1oZWlnaHQ6IDUwcHg7XG4vLyRmb3JtLWlucHV0LWhlaWdodDogNDdweDtcblxuLy8gQ29udGFpbmVyXG4kY3ctY29udGFpbmVyIDogMTE0MHB4O1xuIiwiLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuOCAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgMXJlbTtcbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRoLWZvbnQtc2l6ZSAqIDIuMiAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRoLWZvbnQtc2l6ZSAqIDEuNyAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRoLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkaC1mb250LXNpemUgKiAxLjE1ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGgtZm9udC1zaXplICogMS4xICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGgtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICFkZWZhdWx0OyAvLyAkc3BhY2VyIC8gMlxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMyAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIDMhZGVmYXVsdDtcbiIsIi8vIEZvbnQgUEFTIFBMVVMgREUgREVVWCBQT0xJQ0VTIEdPT0dMRSAhIVxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3N3YWxkOndnaHRANDAwOzUwMDs2MDAmZGlzcGxheT1zd2FwJyk7XG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Nb250c2VycmF0OndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXAnKTtcblxuLy8gR0xPQkFMIFRZUE9HUkFQSElFU1xuJHRpdGxlLWZvbnQtZmFtaWx5OiAnT3N3YWxkJywgc2Fucy1zZXJpZjtcbiR0aXRsZS1ub3JtYWwtd2VpZ2h0OiA0MDA7XG4kdGl0bGUtYm9sZC13ZWlnaHQ6IDUwMDtcblxuJHByaW1hcnktZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ6IDQwMDtcbiRwcmltYXJ5LWJvbGQtd2VpZ2h0OiA2MDA7XG5cbiRzZWNvbmRhcnktZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJHNlY29uZGFyeS1mb250LXdlaWdodDogJHByaW1hcnktYm9sZC13ZWlnaHQ7XG5cbiRmb250LWZhbWlseS1iYXNlOiAkcHJpbWFyeS1mb250LWZhbWlseTsgLy9Gb250IHN1ciBib2R5XG4kZm9udC13ZWlnaHQtYmFzZTogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiRsaW5lLWhlaWdodC1iYXNlOiAxLjQ7XG4kbGV0dGVyLXNwYWNpbmctYmFzZTogMGVtO1xuXG4kY3ctZm9udC1zaXplLXhzOiAxNHB4O1xuJGN3LWZvbnQtc2l6ZS1tZDogMTVweDtcbiRjdy1mb250LXNpemUtbGc6IDE2cHg7XG5cbi8vIEgxXG4kaDEtZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRoMS1mb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuJGgxLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGgxLWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4kaDEtbGV0dGVyLXNwYWNpbmc6IDBlbTtcblxuLy8gSDJcbiRoMi1mb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuJGgyLWZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4kaDItdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kaDItbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiRoMi1sZXR0ZXItc3BhY2luZzogMGVtO1xuXG4vLyBOQVZCQVJcbiRuYXZiYXItbmFtZS1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kbmF2YmFyLW5hbWUtZm9udC13ZWlnaHQ6ICRwcmltYXJ5LWJvbGQtd2VpZ2h0O1xuJG5hdmJhci1uYW1lLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJG5hdmJhci1uYW1lLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiRuYXZiYXItbmFtZS1saW5lLWhlaWdodDogMTtcbiRuYXZiYXItbmFtZS1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG5cbiRuYXZiYXItc2xvZ2FuLWZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiRuYXZiYXItc2xvZ2FuLWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJG5hdmJhci1zbG9nYW4tdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kbmF2YmFyLXNsb2dhbi1mb250LXNpemU6ICRmb250LXNpemUteHM7XG4kbmF2YmFyLXNsb2dhbi1saW5lLWhlaWdodDogMTtcbiRuYXZiYXItc2xvZ2FuLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuJG5hdmJhci1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kbmF2YmFyLWZvbnQtd2VpZ2h0OiA3MDA7XG4kbmF2YmFyLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJG5hdmJhci1mb250LXNpemU6IDFyZW07XG4kbmF2YmFyLWxpbmUtaGVpZ2h0OiAxLjI7XG4kbmF2YmFyLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuLy8gTkFWQkFSIERyb3Bkb3duLW1lbnVcbiRuYXZiYXItZC1tZW51LWZvbnQtZmFtaWx5OiAkbmF2YmFyLWZvbnQtZmFtaWx5O1xuJG5hdmJhci1kLW1lbnUtZm9udC13ZWlnaHQ6IDQwMDtcbiRuYXZiYXItZC1tZW51LXRleHQtdHJhbnNmb3JtOiBub25lO1xuJG5hdmJhci1kLW1lbnUtZm9udC1zaXplOiAwLjk1cmVtO1xuJG5hdmJhci1kLW1lbnUtbGluZS1oZWlnaHQ6IDE7XG4kbmF2YmFyLWQtbWVudS1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG5cbi8vIEpVTUJPVFJPTiAtIETDqW5vbWluYXRpb25cbiRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4kanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC13ZWlnaHQtc3Ryb25nOiAkanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXdlaWdodDtcbiRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtc2l6ZS14czogMnJlbTtcbiRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtc2l6ZS1sZzogMi44cmVtO1xuJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC1zaXplLWxnLW5mOiBjYWxjKCN7JGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC1zaXplLWxnfSAtIDJyZW0pO1xuJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tbGluZS1oZWlnaHQ6IDEuMjtcbiRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XG4kanVtYm90cm9uLWRlbm9taW5hdGlvbi10ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuLy8gSlVNQk9UUk9OIC0gU2xvZ2FuXG4kanVtYm90cm9uLXNsb2dhbi1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kanVtYm90cm9uLXNsb2dhbi1mb250LXdlaWdodDogNTAwO1xuJGp1bWJvdHJvbi1zbG9nYW4tZm9udC13ZWlnaHQtc3Ryb25nOiAkcHJpbWFyeS1ib2xkLXdlaWdodDtcbiRqdW1ib3Ryb24tc2xvZ2FuLWZvbnQtc2l6ZS14czogMnJlbTtcbiRqdW1ib3Ryb24tc2xvZ2FuLWZvbnQtc2l6ZS1sZzogMi44NzVyZW07XG4kanVtYm90cm9uLXNsb2dhbi1mb250LXNpemUtbGctbmY6IGNhbGMoI3skanVtYm90cm9uLXNsb2dhbi1mb250LXNpemUtbGd9IC0gMXJlbSk7XG4kanVtYm90cm9uLXNsb2dhbi1saW5lLWhlaWdodDogMS4yO1xuJGp1bWJvdHJvbi1zbG9nYW4tbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuJGp1bWJvdHJvbi1zbG9nYW4tdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbi8vIEpVTUJPVFJPTiAtIFTDqWzDqXBob25lXG4kanVtYm90cm9uLXRlbC1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kanVtYm90cm9uLXRlbC1mb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiRqdW1ib3Ryb24tdGVsLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuJGp1bWJvdHJvbi10ZWwtbGluZS1oZWlnaHQ6IDEuNDtcbiRqdW1ib3Ryb24tdGVsLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiRqdW1ib3Ryb24tdGVsLXRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4vLyBKVU1CT1RST04gLSBBZHJlc3NlXG4kanVtYm90cm9uLWFkcmVzc2UtZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJGp1bWJvdHJvbi1hZHJlc3NlLWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJGp1bWJvdHJvbi1hZHJlc3NlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuJGp1bWJvdHJvbi1hZHJlc3NlLWxpbmUtaGVpZ2h0OiAxLjQ7XG4kanVtYm90cm9uLWFkcmVzc2UtbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuJGp1bWJvdHJvbi1hZHJlc3NlLXRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4vLyBKVU1CT1RST04gLSBCb3V0b24gMVxuJGp1bWJvdHJvbi1ib3V0b24tMS1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kanVtYm90cm9uLWJvdXRvbi0xLWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJGp1bWJvdHJvbi1ib3V0b24tMS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiRqdW1ib3Ryb24tYm91dG9uLTEtbGluZS1oZWlnaHQ6IDEuNDtcbiRqdW1ib3Ryb24tYm91dG9uLTEtbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuJGp1bWJvdHJvbi1ib3V0b24tMS10ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuLy8gSlVNQk9UUk9OIC0gQm91dG9uIDJcbiRqdW1ib3Ryb24tYm91dG9uLTItZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJGp1bWJvdHJvbi1ib3V0b24tMi1mb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiRqdW1ib3Ryb24tYm91dG9uLTItZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4kanVtYm90cm9uLWJvdXRvbi0yLWxpbmUtaGVpZ2h0OiAxLjQ7XG4kanVtYm90cm9uLWJvdXRvbi0yLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiRqdW1ib3Ryb24tYm91dG9uLTItdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbi8vIEJUTlxuJGJ0bi1mb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuJGJ0bi1mb250LXdlaWdodDogNTAwO1xuJGJ0bi10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRidG4tZm9udC1zaXplOiAxLjEyNXJlbTtcbiRidG4tbGluZS1oZWlnaHQ6IDE7XG4kYnRuLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuLy8gQ0FSRFNcbiRjdy1jYXJkcy10aXRsZS1mb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuJGN3LWNhcmRzLXRpdGxlLWZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4kY3ctY2FyZHMtdGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kY3ctY2FyZHMtdGl0bGUtZm9udC1zaXplOiAxLjNyZW07XG4kY3ctY2FyZHMtdGl0bGUtbGluZS1oZWlnaHQ6IDFlbTtcbiRjdy1jYXJkcy10aXRsZS1sZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xuXG4kY3ctY2FyZHMtZGF0ZS1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kY3ctY2FyZHMtZGF0ZS1mb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiRjdy1jYXJkcy1kYXRlLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4kY3ctY2FyZHMtZGF0ZS1mb250LXNpemU6ICRmb250LXNpemUteHM7XG4kY3ctY2FyZHMtZGF0ZS1saW5lLWhlaWdodDogMWVtO1xuJGN3LWNhcmRzLWRhdGUtbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcblxuJGN3LWNhcmRzLXRleHQtZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJGN3LWNhcmRzLXRleHQtZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4kY3ctY2FyZHMtdGV4dC10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRjdy1jYXJkcy10ZXh0LWZvbnQtc2l6ZTogMXJlbTtcbiRjdy1jYXJkcy10ZXh0LWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiRjdy1jYXJkcy10ZXh0LWxldHRlci1zcGFjaW5nOiAwO1xuXG4kY3ctY2FyZHMtbWFyZ2luLWJvdHRvbS10aHVtYjogMHJlbTtcbiRjdy1jYXJkcy1tYXJnaW4tdG9wLXN1bW1hcnk6IDAuNXJlbTtcbiRjdy1jYXJkcy1tYXJnaW4tYm90dG9tLWRhdGU6IDFyZW07XG4kY3ctY2FyZHMtbWFyZ2luLWJvdHRvbS10aXRsZTogMXJlbTtcbiRjdy1jYXJkcy1tYXJnaW4tYm90dG9tLXRleHQ6IDFyZW07XG5cbi8vIEFDVFVcbi8vIFZPSVIgY3ctY2FyZHMuc2NzcyBwb3VyIGxlIG1vbWVudFxuJGJsb2MtYWN0dS10aXRsZS1mb250LWZhbWlseTogJGN3LWNhcmRzLXRpdGxlLWZvbnQtZmFtaWx5O1xuJGJsb2MtYWN0dS10aXRsZS1mb250LXdlaWdodDogJGN3LWNhcmRzLXRpdGxlLWZvbnQtd2VpZ2h0O1xuJGJsb2MtYWN0dS10aXRsZS10ZXh0LXRyYW5zZm9ybTogJGN3LWNhcmRzLXRpdGxlLXRleHQtdHJhbnNmb3JtO1xuJGJsb2MtYWN0dS10aXRsZS1mb250LXNpemU6ICRjdy1jYXJkcy10aXRsZS1mb250LXNpemU7XG4kYmxvYy1hY3R1LXRpdGxlLWxpbmUtaGVpZ2h0OiAkY3ctY2FyZHMtdGl0bGUtbGluZS1oZWlnaHQ7XG4kYmxvYy1hY3R1LXRpdGxlLWxldHRlci1zcGFjaW5nOiAkY3ctY2FyZHMtdGl0bGUtbGV0dGVyLXNwYWNpbmc7XG4kYmxvYy1hY3R1LWJvZHktZm9udC1zaXplOiAkY3ctY2FyZHMtdGV4dC1mb250LXNpemU7XG4kYmxvYy1hY3R1LWJvZHktbGluZS1oZWlnaHQ6ICRjdy1jYXJkcy10ZXh0LWxpbmUtaGVpZ2h0O1xuXG4vLyBEQU1JRVJcbiRkYW1pZXItaDItZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRkYW1pZXItaDItZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbiRkYW1pZXItaDItdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kZGFtaWVyLWgyLWZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTtcbiRkYW1pZXItaDItbGluZS1oZWlnaHQ6ICRoMi1saW5lLWhlaWdodDtcbiRkYW1pZXItaDItbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcblxuLy8gQ0FMTCBUTyBBQ1RJT05cbi8vIERvaXQgZXRyZSBwYXJlaWwgcXVlIGxlcyBoMiBkYW1pZXIgOilcbiRjYWxsLWFjdGlvbi1oMi1mb250LWZhbWlseTogJGRhbWllci1oMi1mb250LWZhbWlseTtcbiRjYWxsLWFjdGlvbi1oMi1mb250LXdlaWdodDogJGRhbWllci1oMi1mb250LXdlaWdodDtcbiRjYWxsLWFjdGlvbi1oMi10ZXh0LXRyYW5zZm9ybTogJGRhbWllci1oMi10ZXh0LXRyYW5zZm9ybTtcbiRjYWxsLWFjdGlvbi1oMi1mb250LXNpemU6ICRkYW1pZXItaDItZm9udC1zaXplICogMS4yO1xuJGNhbGwtYWN0aW9uLWgyLWxpbmUtaGVpZ2h0OiAkZGFtaWVyLWgyLWxpbmUtaGVpZ2h0O1xuJGNhbGwtYWN0aW9uLWgyLWxldHRlci1zcGFjaW5nOiAkZGFtaWVyLWgyLWxldHRlci1zcGFjaW5nO1xuJGNhbGwtYWN0aW9uLW51bWJlcnMtZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4kY2FsbC1hY3Rpb24tbnVtYmVycy1mb250LXdlaWdodDogNjAwO1xuJGNhbGwtYWN0aW9uLW51bWJlcnMtdGV4dC10cmFuc2Zvcm06ICRkYW1pZXItaDItdGV4dC10cmFuc2Zvcm07XG4kY2FsbC1hY3Rpb24tbnVtYmVycy1mb250LXNpemU6IDEuMzVyZW07XG4kY2FsbC1hY3Rpb24tbnVtYmVycy1saW5lLWhlaWdodDogMTtcbiRjYWxsLWFjdGlvbi1udW1iZXJzLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuLy8gQUREVE9BTllcbiRhZGR0b2FueS10aXRsZS1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kYWRkdG9hbnktdGl0bGUtZm9udC13ZWlnaHQ6IDUwMDtcbiRhZGR0b2FueS10aXRsZS10ZXh0LXRyYW5zZm9ybTogJGNhbGwtYWN0aW9uLWgyLXRleHQtdHJhbnNmb3JtO1xuJGFkZHRvYW55LXRpdGxlLWZvbnQtc2l6ZTogMS4xcmVtO1xuJGFkZHRvYW55LXRpdGxlLWxpbmUtaGVpZ2h0OiAkY2FsbC1hY3Rpb24taDItbGluZS1oZWlnaHQ7XG4kYWRkdG9hbnktdGl0bGUtbGV0dGVyLXNwYWNpbmc6ICRjYWxsLWFjdGlvbi1oMi1sZXR0ZXItc3BhY2luZztcblxuLy8gUEFSQUxMQVhcbiRibG9jLXBhcmFsbGF4LXRpdGxlLWZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4kYmxvYy1wYXJhbGxheC10aXRsZS1mb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuJGJsb2MtcGFyYWxsYXgtdGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kYmxvYy1wYXJhbGxheC10aXRsZS1mb250LXNpemU6ICRoMi1mb250LXNpemU7XG4kYmxvYy1wYXJhbGxheC10aXRsZS1saW5lLWhlaWdodDogJGgyLWxpbmUtaGVpZ2h0O1xuJGJsb2MtcGFyYWxsYXgtdGl0bGUtbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcbiRibG9jLXBhcmFsbGF4LWNvbnRlbnQtZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJGJsb2MtcGFyYWxsYXgtY29udGVudC1mb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiRibG9jLXBhcmFsbGF4LWNvbnRlbnQtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kYmxvYy1wYXJhbGxheC1jb250ZW50LWZvbnQtc2l6ZTogMXJlbTtcbiRibG9jLXBhcmFsbGF4LWNvbnRlbnQtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuJGJsb2MtcGFyYWxsYXgtY29udGVudC1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG5cbi8vIEZPUk1VTEFJUkVcbiRmb3JtLXRpdGxlLWZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4kZm9ybS10aXRsZS1mb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuJGZvcm0tdGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kZm9ybS10aXRsZS1mb250LXNpemU6IDEuNHJlbTtcbiRmb3JtLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjM7XG4kZm9ybS10aXRsZS1sZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xuXG4vLyBGT09URVJcbiRjb250YWN0LWZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiRjb250YWN0LWZvbnQtc2l6ZTogMXJlbTtcbiRjb250YWN0LWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblxuLy8gQk9UVE9NXG4kYm90dG9tLWZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuJGJvdHRvbS1mb250LXNpemU6ICRmb250LXNpemUteHM7XG5cbi8vIENPTE9SQk9YXG4kY29sb3Jib3gtZm9udDogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiRjb2xvcmJveC1mb250LXNpemU6IDAuNzVyZW07XG4iLCIvLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHJnYmEoZGFya2VuKCRib2R5LWJnLCAxJSksIDEpICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8vIFRhYmxlYXVcbiR0ci1ldmVuLWJnOiAkZ3JheS0zMDA7XG4kdHItZXZlbi1kYXNoOiAkZ3JheS0yMDA7XG5cbi8vIHRhYmxlYXUgcmVzcG9uc2l2ZVxuJGN3LXRhYmxlLWNvbnRhaW5lci1iZyA6IHJnYmEoJHByaW1hcnksIDAuMzUpO1xuJGN3LXRhYmxlLWNvbnRhaW5lci1jb2xvcjogJHByaW1hcnk7XG4kY3ctdGFibGUtbW9iLWJnIDogcmdiYSgkd2hpdGUsIDAuNyk7XG4kY3ctdGFibGUtbW9iLWJnLXRyLWNoaWxkX29kZCA6IHJnYmEoJHdoaXRlLCAwLjQpO1xuJGN3LXRhYmxlLW1vYi1jb2xvcjokcHJpbWFyeTtcbiIsIi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAxLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICAkcHJpbWFyeS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAxICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAwcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAwICFkZWZhdWx0O1xuIiwiLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiIsIiRidG4tYm9yZGVyLWhlaWdodDogMHB4OyAvL1V0aWxpc2VyIGRlcyBib3JkdXJlcyB1bmlxdWVtZW50IHN1ciAkYnRuLWJnLXRyYW5zaXRpb246IDA7XG5cbi8vIEJUTiBQUklNQVJZXG4kYnRuLW9uZS1iZzogJHByaW1hcnk7XG4kYnRuLW9uZS1iZy1vcGFjaXR5OiAxO1xuJGJ0bi1vbmUtYmctaG92ZXI6ICRwcmltYXJ5LWRhcms7XG4kYnRuLW9uZS1iZy1vcGFjaXR5LWhvdmVyOiAxO1xuJGJ0bi1vbmUtZm9udC1jb2xvcjogJHdoaXRlO1xuJGJ0bi1vbmUtZm9udC1jb2xvci1ob3ZlcjogJHdoaXRlO1xuJGJ0bi1vbmUtYm9yZGVyLWNvbG9yOiAkYnRuLW9uZS1iZztcbiRidG4tb25lLWJvcmRlci1jb2xvci1vcGFjaXR5OiAxO1xuJGJ0bi1vbmUtYm9yZGVyLWNvbG9yLWhvdmVyOiAkYnRuLW9uZS1iZy1ob3ZlcjtcbiRidG4tb25lLWJvcmRlci1jb2xvci1ob3Zlci1vcGFjaXR5OiAxO1xuXG4vLyBCVE4gU0VDT05EQVJZXG4kYnRuLXR3by1iZzogJHNlY29uZGFyeTtcbiRidG4tdHdvLWJnLW9wYWNpdHk6IDE7XG4kYnRuLXR3by1iZy1ob3ZlcjogJHNlY29uZGFyeS1kYXJrO1xuJGJ0bi10d28tYmctb3BhY2l0eS1ob3ZlcjogMTtcbiRidG4tdHdvLWZvbnQtY29sb3I6ICR3aGl0ZTtcbiRidG4tdHdvLWZvbnQtY29sb3ItaG92ZXI6ICR3aGl0ZTtcbiRidG4tdHdvLWJvcmRlci1jb2xvcjogJGJ0bi10d28tYmc7XG4kYnRuLXR3by1ib3JkZXItY29sb3Itb3BhY2l0eTogMTtcbiRidG4tdHdvLWJvcmRlci1jb2xvci1ob3ZlcjogJGJ0bi10d28tYmctaG92ZXI7XG4kYnRuLXR3by1ib3JkZXItY29sb3ItaG92ZXItb3BhY2l0eTogMTtcblxuXG4kYnRuLWltZzogXCIuLi9pbWFnZXMvYmctYm91dG9uLTIuanBnXCI7XG4kYnRuLWltZy1ob3ZlcjogXCIuLi9pbWFnZXMvYmctYm91dG9uLmpwZ1wiO1xuIiwiLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgMC41cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbGlnaHQgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0OyAvLyBpbnB1dHMgKHNhdWYgYmxvY2sgY29udGFjdCBldCBmbG9hdC1ibG9jaywgdm9pciB2YXJpYWJsZXMgbDI1IGV0IDI2KVxuJGlucHV0LWJnLWRhcms6ICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlOyAvLyBtb2RpZmllIGxhIGNvdWxldXIgZHUgdGV4dGUgZGVzIGlucHV0cyBwb3VyIHF1J2VsbGUgc29pdCB2aXNpYmxlIHN1ciBmb25kIHNvbWJyZS5cbiRpbnB1dC1iZy1mbG9hdC1ibG9jazogICAgICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7IC8vIGlucHV0cyBibG9jayBmbG9hdC1ibG9ja1xuJGlucHV0LWJnLWZsb2F0LWJsb2NrLWRhcms6ICAgICAgICAgICAgIGZhbHNlOyAvLyBzZW1ibGFibGUgw6AgbGEgbGlnbmUgMjMuXG4kaW5wdXQtYmctYmxvY2stY29udGFjdDogICAgICAgICAgICAgICAgJGdyYXktMTAwOyAvLyBpbnB1dHMgYmxvY2sgY29udGFjdFxuJGlucHV0LWJnLWJsb2NrLWNvbnRhY3QtZGFyazogICAgICAgICAgIGZhbHNlOy8vIHNlbWJsYWJsZSDDoCBsYSBsaWduZSAyMy5cbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGlucHV0LWJnLCA4MCUpICFkZWZhdWx0O1xuJGlucHV0LWNvbG9yLWZsb2F0LWJsb2NrOiAgICAgICAgICAgICAgIGRhcmtlbigkaW5wdXQtYmctZmxvYXQtYmxvY2ssIDgwJSk7Ly9jd1xuJGlucHV0LWNvbG9yLWJsb2NrLWNvbnRhY3Q6ICAgICAgICAgICAgIGRhcmtlbigkaW5wdXQtYmctYmxvY2stY29udGFjdCwgODAlKTsvL2N3XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIGRhcmtlbigkaW5wdXQtYmcsIDMwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3ItZmxvYXQtYmxvY2s6ICAgZGFya2VuKCRpbnB1dC1iZy1mbG9hdC1ibG9jaywgMzAlKTsvL2N3XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3ItYmxvY2stY29udGFjdDogZGFya2VuKCRpbnB1dC1iZy1ibG9jay1jb250YWN0LCAzMCUpOy8vY3dcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDQpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgLyA0KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogNCwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiA0LCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDQsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuMDVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAwLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjogICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCc+PHBhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAvIDIgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgIGVzY2FwZS1zdmcoJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yKSByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSBuby1yZXBlYXQgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgICAgICAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PScwIDAgMTIgMTInPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWxpZFwiOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJpbnZhbGlkXCI6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7IiwiLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7Ly9cbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7Ly9cblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgMTBweCAhZGVmYXVsdDsvL1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDogICAgICA3NXZoICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0OyIsIi8qKioqKioqKioqKioqKiBHTE9CQUxFICoqKioqKioqKioqKioqL1xuLy8gSGF1dGV1clxuJG5hdmJhci1oZWlnaHQteHM6IDYwcHg7XG4kbmF2YmFyLWhlaWdodC1tZDogMTMwcHg7IC8vIFNpIGJ1ZyBzdXIgbmF2YmFyIGlsIGZhdXQgYXVnbWVudGVyIGwnYWN0aXZhdGlvbiBkZSBzY3JvbGxUb3AgZGFucyBsZSBjdXN0b20uanMgKHByb2Jsw6htZSBwb3NpdGlvbjpzdGlja3kpXG4kbmF2YmFyLWhlaWdodC1tZC1hZmZpeC1zY3JvbGw6IDkwcHg7XG4kbmF2YmFyLWhlaWdodC1uYXZiYXItbmF2OiAwcHg7IC8vIFBlcm1ldCBkZSBkw6ljb2xsZXIgbGVzIG9uZ2xldHMgZHUgYmFzIGRlIGxhIG5hdmJhciAodGFpbGxlIGRlIGxhIFwibWFyZ2VcIiBkdSBkZXNzdXMgZXQgZGVzc291cylcblxuLy8gQ291bGV1clxuJG5hdmJhci1iZzogJHdoaXRlO1xuJG5hdmJhci1vcGFjaXR5OiAxOyAvLyBzaSB0cmFuc3BhcmVuY2UgbWV0dHJlICRuYXZiYXItb3BhY2l0eS1hZmZpeC1zY3JvbGwgw6AgMC45NlxuJG5hdmJhci1vcGFjaXR5LWFmZml4LXNjcm9sbDogJG5hdmJhci1vcGFjaXR5O1xuJG5hdmJhci1jb2xvcjogJGRhcms7XG5cbi8qKioqKioqKioqKioqKiBMT0dPIC8gQlJBTkQgKioqKioqKioqKioqKiovXG4vLyBBZmZpY2hhZ2VcbiR4cy1zaG93LWxvZ286IHRydWU7IC8vIFhTID4gbG9nb1xuJHhzLXNob3ctbmFtZTogZmFsc2U7IC8vIFhTID4gbmFtZVxuJHhzLXNob3ctc2xvZ2FuOiBmYWxzZTsgLy8gWFMgPiBzbG9nYW5cbiRsZy1zaG93LWxvZ286IHRydWU7IC8vIExHID4gbG9nb1xuJGxnLXNob3ctbmFtZTogZmFsc2U7IC8vIExHID4gbmFtZVxuJGxnLXNob3ctc2xvZ2FuOiBmYWxzZTsgLy8gTEcgPiBzbG9nYW5cbiRsb2dvLW91dC1uYXZiYXI6IGZhbHNlOyAvLyBMb2dvIGTDqXBhc3NhbnQgZGUgbGEgbmF2YmFyXG4kbG9nby1vdXQtbmF2YmFyLWJyYW5kLWxlZnQ6IDEyMHB4OyAvLyDDoCByw6lnbGVyIHNpIETDqW5vbWluYXRpb24gb3Ugc2xvZ2FuIGFmZmljaMOpIChhdHRlbnRpb24gYXV4IG9uZ2xldHMgZW4gbGcpXG4kbG9nby1iZzogZmFsc2U7IC8vIExvZ28gYXZlYyBmb25kIChjb3VsZXVyIGRlIGxhIG5hdmJhciBkZSBiYXNlKVxuJGxvZ28tY2VudGVyLW5hdmJhcjogZmFsc2U7XG4kbG9nby1jZW50ZXItbmF2YmFyLXBvc2l0aW9uOiAzO1xuJHNob3ctbWluaS1sb2dvLWFmZml4LXNjcm9sbDogZmFsc2U7IC8vIEFmZmljaGUgbWluaS1sb2dvLWFmZml4LXNjcm9sbC5wbmcgbG9ycyBkdSBzY3JvbGxcblxuLy8gVGFpbGxlIC0gQ291bGV1clxuJG5hdmJhci1taW5pLWxvZ28td2lkdGg6IDE1MHB4O1xuJG5hdmJhci1taW5pLWxvZ28td2lkdGgtbGc6IDMwMHB4O1xuJG5hdmJhci1icmFuZC13aWR0aDogMjcwcHg7XG4kbmF2YmFyLWJyYW5kLWNvbG9yOiAkbmF2YmFyLWNvbG9yO1xuJG5hdmJhci1zbG9nYW4tb3BhY2l0eTogMC44O1xuXG4vKioqKioqKioqKioqKiogT05MR0VUICoqKioqKioqKioqKioqL1xuLy8gTm9uIGFjdGlmXG4kaXRlbS1hLWNvbG9yOiAkbmF2YmFyLWNvbG9yO1xuJGl0ZW0tYS1jb2xvci1vcGFjaXR5OiAxO1xuXG4vLyBBY3RpZiBldCBob3ZlclxuJGl0ZW0tYS1hY3RpdmUtYm9sZDogZmFsc2U7XG4kaXRlbS1hLWFjdGl2ZS1iZy14czogdHJhbnNwYXJlbnQ7XG4kaXRlbS1hLWFjdGl2ZS1jb2xvci14czogJHNlY29uZGFyeTtcbiRpdGVtLWEtYWN0aXZlLWJnLWxnOiAkaXRlbS1hLWFjdGl2ZS1iZy14cztcbiRpdGVtLWEtYWN0aXZlLWNvbG9yLWxnOiAkaXRlbS1hLWFjdGl2ZS1jb2xvci14cztcbiRpdGVtLWEtcGFkZGluZy14OiAxNHB4O1xuXG4vKioqKioqKioqKioqKiogTUVOVSBERVJPVUxBTlQgKioqKioqKioqKioqKiovXG4kZHJvcG1lbnUtYmc6ICRuYXZiYXItYmc7XG4kZHJvcG1lbnUtYmctb3BhY2l0eTogMTtcbiRkcm9wbWVudS1pdGVtLWEtY29sb3I6ICM1NDUzNTM7XG4kZHJvcG1lbnUtaXRlbS1hLWNvbG9yLW9wYWNpdHk6IDE7XG4kZHJvcG1lbnUtaXRlbS1hLWFjdGl2ZS1iZzogbGlnaHRlbigkZHJvcG1lbnUtYmcsIDQlKTtcbiRkcm9wbWVudS1pdGVtLWEtYWN0aXZlLWNvbG9yOiAkaXRlbS1hLWFjdGl2ZS1jb2xvci14cztcbiRkcm9wbWVudS1ib3JkZXI6IHRydWU7XG4kZHJvcG1lbnUtYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRkcm9wbWVudS1iZywgMTUlKTtcblxuXG4vKioqKioqKioqKioqKiogVE9HR0xFUiAqKioqKioqKioqKioqKi9cbiRuYXZiYXItdG9nZ2xlci1saW5lLWNvbG9yLWV4cGFuZGVkLWZhbHNlOiAkbmF2YmFyLWJyYW5kLWNvbG9yOyAvLyBNZW51IGZlcm3DqVxuJG5hdmJhci10b2dnbGVyLWxpbmUtY29sb3ItZXhwYW5kZWQtdHJ1ZTogJG5hdmJhci10b2dnbGVyLWxpbmUtY29sb3ItZXhwYW5kZWQtZmFsc2U7IC8vIE1lbnUgb3V2ZXJ0XG4kbmF2YmFyLXRvZ2dsZXItZ3JhZGllbnQ6ICRlbmFibGUtZ3JhZGllbnRzOyAvLyBBZmZpY2hlIHVuIGTDqWdyYWTDqSBzdXIgbGUganVtYm90cm9uXG4kbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LWNvbG9yLTE6ICRuYXZiYXItYmc7IC8vIGNvdWxldXIgdXRpbGlzw6kgc2kgZMOpZ3JhZMOpIG5vbiB1dGlsaXPDqVxuJG5hdmJhci10b2dnbGVyLWxpbmVhci1ncmFkaWVudC1jb2xvci0yOiBkYXJrZW4oJG5hdmJhci10b2dnbGVyLWxpbmVhci1ncmFkaWVudC1jb2xvci0xLDUlKTtcbiRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtb3JpZW50YXRpb246IDI3MGRlZztcbiRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQ6IDgwJTtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6IGxpZ2h0ZW4oJG5hdmJhci10b2dnbGVyLWxpbmVhci1ncmFkaWVudC1jb2xvci0xLCA1JSk7IC8vIGxpZ2h0ZW4gLSBkYXJrZW5cblxuLyoqKioqKioqKioqKioqICoqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBPUFRJT04gKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqICoqKioqKioqKioqKioqL1xuLy8gQWpvdXQgZCd1bmUgdG9wLWJhcnJlXG4kbmF2YmFyLXRvcDogZmFsc2U7XG4kbmF2YmFyLXRvcC1jb2xvcjogJGJvZHktY29sb3I7XG4kbmF2YmFyLXRvcC1iZzogJGdyYXktMTAwO1xuJG5hdmJhci10b3Atb3BhY2l0eTogMTtcbiRuYXZiYXItdG9wLWhlaWdodDogMzVweDtcbiRuYXZiYXItdG9wLWhlaWdodC1hZmZpeC1zY3JvbGwtbGc6IDM1cHg7XG5AaWYgJG5hdmJhci10b3AgIT0gdHJ1ZSB7XG4gICRuYXZiYXItdG9wLWhlaWdodDogMHB4O1xufVxuJG5hdmJhci10b3AtbG9nby1vdmVyOiBmYWxzZTtcblxuLy8gTmF2YmFyIC0gRMOpZ3JhZMOpIGVuIGFmZml4LXRvcCwgYW3DqWxpb3JlIGxpc2liaWxpdMOpIGxvcnNxdWUgbGEgbmF2YmFyIGVzdCB0cmFuc3BhcmVudGVcbiRuYXZiYXItZ3JhZGllbnQtYWZmaXgtdG9wOiBmYWxzZTtcbiRuYXZiYXItZ3JhZGllbnQtYWZmaXgtdG9wLWNvbG9yLTE6ICRuYXZiYXItYmc7XG4kbmF2YmFyLWdyYWRpZW50LWFmZml4LXRvcC1jb2xvci0yOiAkbmF2YmFyLWJnO1xuJG5hdmJhci1ncmFkaWVudC1hZmZpeC10b3Atb3BhY2l0eS0xOiAwLjg1O1xuJG5hdmJhci1ncmFkaWVudC1hZmZpeC10b3Atb3BhY2l0eS0yOiAwO1xuJG5hdmJhci1ncmFkaWVudC1hZmZpeC1zY3JvbGwtb3BhY2l0eTogMC45NTtcbi8vIE5hdmJhciAtIENvdWxldXJzIGRpZmbDqXJlbnRlIGF1IGFmZml4LXNjcm9sbFxuJG5hdmJhci1jb2xvcnMtZGlmZmVyZW50LXNjcm9sbDogZmFsc2U7XG4kbmF2YmFyLWNvbG9ycy1kaWZmZXJlbnQtc2Nyb2xsLWNvbG9yOiAkYmxhY2s7XG4kbmF2YmFyLWNvbG9ycy1kaWZmZXJlbnQtc2Nyb2xsLWFjdGl2ZS1jb2xvcjogcmVkO1xuXG4vLyBOYXZiYXIvRHJvcG1lbnUgLSBPbWJyZVxuJG5hdmJhci1zaGFkb3c6IHRydWU7XG4kbmF2YmFyLWRyb3Bkb3duLW1lbnUtc2hhZG93OiB0cnVlO1xuJG5hdmJhci1zaGFkb3ctY29sb3I6ICRibGFjaztcbiRuYXZiYXItc2hhZG93LW9wYWNpdHktYWZmaXgtdG9wOiAwOyAvLyBBdSBhZmZpeC10b3BcbiRuYXZiYXItc2hhZG93LW9wYWNpdHktYWZmaXgtc2Nyb2xsOiAwLjA1OyAvLyBBdSBhZmZpeC1zY3JvbGxcblxuLy8gQmx1ciAtIGZsb3VcbiRuYXZiYXItYmx1cjogZmFsc2U7XG5cbi8vIE9uZ2xldCAtIENlbnRyYWdlXG4kbmF2YmFyLWhvcml6b250YWwtY2VudGVyaW5nLWxpOiBmbGV4LWVuZDsgLy8gZmxleC1zdGFydCAtIHNwYWNlLWV2ZW5seSAtIGZsZXgtZW5kXG4kbmF2YmFyLXZlcnRpY2FsLWNlbnRlcmluZy1hOiBjZW50ZXI7XG4kbmF2YmFyLWhvcml6b250YWwtY2VudGVyaW5nLWE6IGNlbnRlcjtcbiRuYXZiYXItbGktd2lkdGgtZnVsbDogZmFsc2U7XG5cbi8vIE9uZ2xldCAtIEFmZmljaGUgdW5lIGxpZ25lIHNvdXMgbCdvbmdsZXRcbiRuYXZiYXItYS11bmRlcmxpbmUtYWN0aXZlOiB0cnVlO1xuJG5hdmJhci1hLXVuZGVybGluZS1hY3RpdmUtcG9zaXRpb246IGNlbnRlcjsgLy8gbGVmdCBvdSBjZW50ZXJcbiRuYXZiYXItYS11bmRlcmxpbmUtaGVpZ2h0OiAycHg7XG4kbmF2YmFyLWEtdW5kZXJsaW5lLXdpZHRoOiBjYWxjKDEwMCUgLSAjeyRpdGVtLWEtcGFkZGluZy14fSk7Ly8gMjVweCAtIGNhbGMoMTAwJSAtICN7JGl0ZW0tYS1wYWRkaW5nLXh9ICogMilcbiRuYXZiYXItYS11bmRlcmxpbmUtY29sb3I6ICRzZWNvbmRhcnk7XG4kbmF2YmFyLXRvcC1hLXVuZGVybGluZS1jb2xvcjogJG5hdmJhci10b3AtY29sb3I7XG5AaWYgJG5hdmJhci1hLXVuZGVybGluZS1hY3RpdmUge1xuICAkaXRlbS1hLWFjdGl2ZS1iZy1sZzogdHJhbnNwYXJlbnQ7IC8vICEhIE5FIFBBUyBDSEFOR0VSIENFVFRFIFZBTEVVUlxufVxuXG4vLyRkcm9wbWVudS1wdWNlOiBmYWxzZTsgLy8gQWZmaWNoZSB1bmUgcHVjZSB0cmlhbmd1bGFpcmUgYXUgZGVzc3VzXG4vLyRuYXZiYXItbWVudS1pY29uZXM6IGZhbHNlOyAvLyBBZmZpY2hlIHVuIGljw7RuZSDDoCBjw7R0w6kgZGUgY2hhcXVlIHJ1YnJpcXVlIGF5YW50IHVuZSBjbGFzcyBhdHRyaWJ1w6kiLCIvLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7IC8vLjNyZW1cbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGdyYXktNTAwLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgMCAhZGVmYXVsdDsgLy8kbmF2LWRpdmlkZXItbWFyZ2luLXlcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIDAuNXJlbSAhZGVmYXVsdDsgLy8uMjVyZW1cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7IiwiLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaDEtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGgxLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDsiLCIvLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4iLCIvLyBUYWlsbGVzXG4kanVtYm90cm9uLWhlaWdodDogMTAwdmg7Ly9tZXR0cmUgZW4gNTV2aCBzaSBzbGlkZXItc2xpbVxuJGp1bWJvdHJvbi1oZWlnaHQtbm90LWZyb250OiAyNDBweDtcblxuJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLWRlbm9taW5hdGlvbjogMDtcbiRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC1zbG9nYW46IDEuNXJlbTtcbiRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC1qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMjogMDtcbiRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC1hZHJlc3NlOiA1cHg7XG4kanVtYm90cm9uLXhzLW1hcmdpbi10b3AtdGVsZXBob25lOiAwO1xuJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLWJvdXRvbi0xOiAyMHB4O1xuJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLWJvdXRvbi0yOiA1cHg7XG5cbiRqdW1ib3Ryb24tZnJvbnQtbWFyZ2luLXRvcC1kZW5vbWluYXRpb246IDA7XG4kanVtYm90cm9uLWZyb250LW1hcmdpbi10b3Atc2xvZ2FuOiAxcmVtO1xuJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0yOiAwO1xuJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWFkcmVzc2U6IDA7XG4kanVtYm90cm9uLWZyb250LW1hcmdpbi10b3AtdGVsZXBob25lOiAwO1xuJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWJvdXRvbi0xOiAzMHB4O1xuJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWJvdXRvbi0yOiAwO1xuXG4kanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLWRlbm9taW5hdGlvbjogMDtcbiRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3Atc2xvZ2FuOiAwLjc1cmVtO1xuJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1ibG9jLXByaW5jaXBhbC1jaGlsZC0yOiAwO1xuJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC10ZWxlcGhvbmU6IDA7XG4kanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLWFkcmVzc2U6IDA7XG4kanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLWJvdXRvbi0xOiAwO1xuJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1ib3V0b24tMjogMDtcblxuLy8gT21icmFnZVxuJGp1bWJvdHJvbi1zaGFkb3c6IGZhbHNlO1xuJGp1bWJvdHJvbi1zaGFkb3cteDogMHB4O1xuJGp1bWJvdHJvbi1zaGFkb3cteTogM3B4O1xuJGp1bWJvdHJvbi1zaGFkb3ctYmx1cjogNHB4O1xuJGp1bWJvdHJvbi1zaGFkb3ctc3ByZWFkOiAwcHg7XG4kanVtYm90cm9uLXNoYWRvdy1jb2xvcjogJGJsYWNrO1xuJGp1bWJvdHJvbi1zaGFkb3ctb3BhY2l0eTogMC4xNTtcblxuLyoqKioqKioqKioqKioqICoqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogQ09VTEVVUiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqICoqKioqKioqKioqKioqL1xuJGp1bWJvdHJvbi1jb2xvcjogJHdoaXRlO1xuXG4vKioqKioqKioqKioqKiogKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogVFlQT0dSQVBISUUgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vLyBMT0dPXG4kanVtYm90cm9uLWxvZ28td2lkdGgtbWF4OiA1MzBweDsiLCIvLyBCbG9jIHByaW5jaXBhbFxuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jZW50ZXJpbmc6IGxlZnRjZW50ZXI7IC8vIGxlZnQgLSBjZW50ZXIgLSByaWdodCAtIGxlZnRjZW50ZXIgLSByaWdodGNlbnRlclxuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC13aWR0aDogNjkwcHg7IC8vIHBvdXIgbGVmdGNlbnRlciBldCByaWdodGNlbnRlclxuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1sb2dvLWZvbmQ6IGZhbHNlO1xuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1sb2dvLWZvbmQtY29sb3I6ICR3aGl0ZTtcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtbG9nby1mb25kLW9wYWNpdHk6IDAuNTtcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtbG9nby1mb25kLWJsdXI6IGZhbHNlO1xuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1mb25kOiBmYWxzZTtcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtZm9uZC1jb2xvcjogJHdoaXRlO1xuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1mb25kLW9wYWNpdHk6IDAuNTtcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtZm9uZC1ibHVyOiBmYWxzZTtcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtd2lkdGg6IDY5MHB4OyAvL0xhcmdldXIgc2kgZm9uZCBibGFuYyDDoCB0cnVlXG4kanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWJvdXRvbnMtZW4tbGlnbmU6IGZhbHNlO1xuXG4vLyBCbG9jIGluZm9zXG4kanVtYm90cm9uLWJsb2MtaW5mb3MtcG9zaXRpb246IGJvdHRvbTsgLy8gdG9wIC0gYm90dG9tXG4kanVtYm90cm9uLWJsb2MtaW5mb3MtY2VudGVyaW5nOiBjZW50ZXI7IC8vIGNlbnRlciAtIGJldHdlZW5cbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHM6IDA7IC8vIE1ldHRyZSDDoCAwcHggc2kgYmxvYy1pbmZvcyBkw6lzYWN0aXbDqVxuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZzogMDsgLy8gTWV0dHJlIMOgIDBweCBzaSBibG9jLWluZm9zIGTDqXNhY3RpdsOpXG4kanVtYm90cm9uLWJsb2MtaW5mb3MtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjg1KTtcbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1jb2xvci1saW5rOiByZ2JhKCR3aGl0ZSwgMC44NSk7XG4kanVtYm90cm9uLWJsb2MtaW5mb3MtY29sb3ItbGluay1ob3ZlcjogJHdoaXRlO1xuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHk6IDAuMztcbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZzogJGJsYWNrO1xuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLWVuZDogJGdyYXktODAwO1xuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWdyYWRpZW50OiBmYWxzZTtcbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1ncmFkaWVudC1zdGFydDogMTAlO1xuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWdyYWRpZW50LWVuZDogODAlO1xuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWdyYWRpZW50LWRlZzogMjJkZWc7XG5cbi8vIEJsb2MgY2Fyb3VzZWxcbiRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1taW5pOiBmYWxzZTsgLy8gZMOpc2FjdGl2ZXIgYmxvYy1pbmZvcyBldCBtb2RpZmllciBiYWNrZ3JvdW5kXG4kanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwteHM6IHRydWU7XG4kanVtYm90cm9uLWJsb2MtY2Fyb3VzZWw6IHRydWU7XG4kanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwtbmYteHM6IGZhbHNlOyAvLyBBIGTDqXZlbG9wcGVyXG4kanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwtbmY6IGZhbHNlOyAvLyBBIGTDqXZlbG9wcGVyXG5cbi8vIDIgY29sb25uZXMgZW4gZnJvbnRcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtMi1jb2w6ZmFsc2U7XG5cbi8vIEF2YW50L0FwcsOocyBmcm9udFxuJGp1bWJvdHJvbi1hdmFudC1hcHJlcy1mcm9udDogZmFsc2U7IC8vIEFjdGl2ZXIgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC0yLWNvbCBldCAkanVtYm90cm9uLWJsb2MtaW5mb3MtY2VudGVyaW5nIGVuIGNlbnRlclxuXG4vLyBMb2dvIG5vdC1mcm9udFxuJGpibmYtbG9nby1tYXgtaGVpZ2h0OiA1N3B4O1xuXG4vLyBHcmFkaWVudFxuJGp1bWJvdHJvbi1ncmFkaWVudDogdHJ1ZTsgLy8gQWZmaWNoZSB1biBkw6lncmFkw6kgc3VyIGxlIGp1bWJvdHJvbiAvLyBTaSB5IGEgdW4gY2Fyb3VzZWwgTGUgZMOpZ3JhZMOpIGVzdCBzdXIgY2Fyb3VzZWwtaXRlbSBwb3VyIHF1ZSBjYXJvdXNlbC1jYXB0aW9uIHNvaXQgYXUgZGVzc3VzIG1vZGlmaWVyIHBvdXIgY2Fyb3VzZWwtaW5uZXIgc2kgcGFzIGJlc29pbiBkZSBjYXJvdXNlbC1jYXB0aW9uXG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvcjogJGJsYWNrO1xuJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLXhzOiAwLjU7XG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTIteHM6IDA7XG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEtbGc6IDAuNTtcbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi1sZzogMDtcbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uOiA5MGRlZztcbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkOiA4MCU7XG5cbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLW5mOiAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvcjtcbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMS1sZy1uZjogMC41NTtcbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi1sZy1uZjogMC41NTtcbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLW5mOiAwZGVnO1xuJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQtbmY6IDkwJTtcblxuLy8gT3ZlcmxheVxuJGp1bWJvdHJvbi1vdmVybGF5OiAkb3ZlcmxheS1qdW1ib3Ryb247IC8vIEFmZmljaGUgdW4gbW90aWYgdHJhbnNwYXJlbnQgc3VyIGxlIGp1bWJvdHJvblxuIiwiLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcbiIsIi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcbiIsIi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuLy8kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkc2Vjb25kYXJ5LWRhcmsgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogVmFyaWFibGVzIENXICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8vIEJyZWFkY3J1bWJcbiRicmVhZGNydW1iLWZvbnQ6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG5cbiRicmVhZGNydW1iLWNvbG9yOiBsaWdodGVuKCRib2R5LWNvbG9yLCAyJSk7XG4kYnJlYWRjcnVtYi1iZzogcmdiYShkYXJrZW4oJGJvZHktYmcsIDElKSwgMSk7XG4kYnJlYWRjcnVtYi1iZy1lbmQ6IGRhcmtlbigkYm9keS1iZywgMCUpO1xuJGJyZWFkY3J1bWItZ3JhZGllbnQ6ICRlbmFibGUtZ3JhZGllbnRzO1xuJGJyZWFkY3J1bWItZ3JhZGllbnQtc3RhcnQ6IDAlO1xuJGJyZWFkY3J1bWItZ3JhZGllbnQtZW5kOiA5MCU7XG4kYnJlYWRjcnVtYi1ncmFkaWVudC1kZWc6IDIyZGVnO1xuXG4iLCIvLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjVMNC4yNSA0bDIuNS0yLjVMNS4yNSAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNMi43NSAwbC0xLjUgMS41TDMuNzUgNGwtMi41IDIuNUwyLjc1IDhsNC00LTQtNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuIiwiLyohXG4gKiBCb290c3RyYXAgdjQuNi4wIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAyMSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMjEgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKi9cblxuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3Jvb3RcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcmVib290XCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3R5cGVcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaW1hZ2VzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2NvZGVcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZ3JpZFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90YWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXNcIjtcbi8vQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZHJvcGRvd25cIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2lucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2N1c3RvbS1mb3Jtc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9uYXZcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbmF2YmFyXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2NhcmRcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2JhZGdlXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2p1bWJvdHJvblwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9hbGVydFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9wcm9ncmVzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9tZWRpYVwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Nsb3NlXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3RvYXN0c1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9tb2RhbFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90b29sdGlwXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3BvcG92ZXJcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3Mvc3Bpbm5lcnNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ByaW50XCI7XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICApLFxuICAkZ3JheXNcbik7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsIFwiJTNjXCIpLFxuICAoXCI+XCIsIFwiJTNlXCIpLFxuICAoXCIjXCIsIFwiJTIzXCIpLFxuICAoXCIoXCIsIFwiJTI4XCIpLFxuICAoXCIpXCIsIFwiJTI5XCIpLFxuKSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpICFkZWZhdWx0O1xuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDQgMyksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15ICogLjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjogICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCc+PHBhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIC41ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgc3VidHJhY3QoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDQpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICBlc2NhcGUtc3ZnKCRjdXN0b20tc2VsZWN0LWluZGljYXRvcikgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAvICRjdXN0b20tc2VsZWN0LWJnLXNpemUgbm8tcmVwZWF0ICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGFkZCgxZW0gKiAuNzUsICgyICogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICogLjc1KSArICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nMCAwIDEyIDEyJz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0OiAgICAgIDc1dmggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJG5hdi1kaXZpZGVyLW1hcmdpbi15ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggKiAuNSAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIHN1YnRyYWN0KCRwb3BvdmVyLWJvcmRlci1yYWRpdXMsICRwb3BvdmVyLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuLy8gTWFyZ2luIGJldHdlZW4gZWxlbWVudHMgaW4gZm9vdGVyLCBtdXN0IGJlIGxvd2VyIHRoYW4gb3IgZXF1YWwgdG8gMiAqICRtb2RhbC1pbm5lci1wYWRkaW5nXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjVMNC4yNSA0bDIuNS0yLjVMNS4yNSAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNMi43NSAwbC0xLjUgMS41TDMuNzUgNGwtMi41IDIuNUwyLjc1IDhsNC00LTQtNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIFNwaW5uZXJzXG5cbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBVdGlsaXRpZXNcblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1yb3csIHRhYmxlLWNlbGwsIGZsZXgsIGlubGluZS1mbGV4ICFkZWZhdWx0O1xuJG92ZXJmbG93czogYXV0bywgaGlkZGVuICFkZWZhdWx0O1xuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XG4kdXNlci1zZWxlY3RzOiBhbGwsIGF1dG8sIG5vbmUgIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG4vLyBWZW5kb3JcbkBpbXBvcnQgXCJ2ZW5kb3IvcmZzXCI7XG5cbi8vIERlcHJlY2F0ZVxuQGltcG9ydCBcIm1peGlucy9kZXByZWNhdGVcIjtcblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2hvdmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JhZGdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9zY3JlZW4tcmVhZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LXRydW5jYXRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Zpc2liaWxpdHlcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydFwiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NhcmV0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNpdGlvblwiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuQGltcG9ydCBcIm1peGlucy9mbG9hdFwiO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgZm9udCBzaXplc1xuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvdjgueC9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1mb250LXNpemUtdW5pdCAhPSByZW0gYW5kICRyZnMtZm9udC1zaXplLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLWZvbnQtc2l6ZS11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1mb250LXNpemUtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgZm9udC1zaXplIHN0YXJ0cyBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSBmb250IHNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInJlbVwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUsIGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInB4XCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBcImRpc2FibGVcIiB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1lbmFibGUtY2xhc3Mge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSgkbXEtdmFsdWUpIHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSwgKG1heC1oZWlnaHQ6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250IHNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICRmcyBmb3IgY2FsY3VsYXRpb25zXG4gICAgQGlmICRmcy11bml0ID09IFwicHhcIiB7XG4gICAgICAkZnM6IGRpdmlkZSgkZnMsICRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6IGRpdmlkZSgkZnMsIGRpdmlkZSgkZnMgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250IHNpemVcbiAgICAkcmZzLXN0YXRpYzogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCRmcywgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skZnN9cHgpO1xuXG4gICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSBmb250IHNpemUgaXMgYmlnZ2VyIHRoYW4gdGhlIG1pbmltdW0gZm9udCBzaXplXG4gICAgQGlmICRmcyA8PSAkcmZzLWJhc2UtZm9udC1zaXplIG9yIG5vdCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSBmb250IHNpemUgZm9yICRmc1xuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArIGRpdmlkZSgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJGZzIGFuZCB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICAgICRmcy1kaWZmOiAkZnMgLSAkZnMtbWluO1xuXG4gICAgICAvLyBCYXNlIGZvbnQtc2l6ZSBmb3JtYXR0aW5nXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skZnMtbWlufXB4KTtcblxuICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJGZzLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgIC8vIFNldCB0aGUgY2FsY3VsYXRlZCBmb250LXNpemVcbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG5cbiAgICAgIC8vIEJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgJG1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcblxuICAgICAgQGluY2x1ZGUgX3Jmcy1kaXNhYmxlLWNsYXNzIHtcbiAgICAgICAgZm9udC1zaXplOiAjeyRyZnMtc3RhdGljfSN7JHJmcy1zdWZmaXh9O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICAgICAgICBAaW5jbHVkZSBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW5zIHVzZSBSRlMgdG8gcmVzY2FsZSB0aGUgZm9udCBzaXplXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gRGVwcmVjYXRlIG1peGluXG4vL1xuLy8gVGhpcyBtaXhpbiBjYW4gYmUgdXNlZCB0byBkZXByZWNhdGUgbWl4aW5zIG9yIGZ1bmN0aW9ucy5cbi8vIGAkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzYCBpcyBhIGdsb2JhbCB2YXJpYWJsZSwgYCRpZ25vcmUtd2FybmluZ2AgaXMgYSB2YXJpYWJsZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG9cbi8vIHNvbWUgZGVwcmVjYXRlZCBtaXhpbnMgdG8gc3VwcHJlc3MgdGhlIHdhcm5pbmcgKGZvciBleGFtcGxlIGlmIHRoZSBtaXhpbiBpcyBzdGlsbCBiZSB1c2VkIGluIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgQm9vdHN0cmFwKVxuQG1peGluIGRlcHJlY2F0ZSgkbmFtZSwgJGRlcHJlY2F0ZS12ZXJzaW9uLCAkcmVtb3ZlLXZlcnNpb24sICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgQGlmICgkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzICE9IGZhbHNlIGFuZCAkaWdub3JlLXdhcm5pbmcgIT0gdHJ1ZSkge1xuICAgIEB3YXJuIFwiI3skbmFtZX0gaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiAjeyRkZXByZWNhdGUtdmVyc2lvbn0uIEl0IHdpbGwgYmUgcmVtb3ZlZCBlbnRpcmVseSBpbiAjeyRyZW1vdmUtdmVyc2lvbn0uXCI7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCgpIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tL2Nzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbWctcmV0aW5hKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRiYWRnZS1mb2N1cy13aWR0aCByZ2JhKCRiZywgLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5KCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSgpIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBzaXplKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1lbXBoYXNpcy12YXJpYW50KClgXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBWaXNpYmlsaXR5XG5cbkBtaXhpbiBpbnZpc2libGUoJHZpc2liaWxpdHkpIHtcbiAgdmlzaWJpbGl0eTogJHZpc2liaWxpdHkgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGludmlzaWJsZSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cywgMCk7XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93bigpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCkge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCgpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogJG5hdi1kaXZpZGVyLWNvbG9yLCAkbWFyZ2luLXk6ICRuYXYtZGl2aWRlci1tYXJnaW4teSwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogJG1hcmdpbi15IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgbmF2LWRpdmlkZXIoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZvcm0tY29udHJvbC1mb2N1cygpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcblxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMTU1N1xuICAgIC8vIEFsaWduIHRvb2x0aXAgdG8gZm9ybSBlbGVtZW50c1xuICAgIC5mb3JtLXJvdyA+IC5jb2wgPiAmLFxuICAgIC5mb3JtLXJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdID4gJiB7XG4gICAgICBsZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1wYWRkaW5nLXggKiA0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1wYWRkaW5nLXggKiAyIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kLCAkY3VzdG9tLXNlbGVjdC1iZyBlc2NhcGUtc3ZnKCRpY29uKSAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uIC8gJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplIG5vLXJlcGVhdDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy12YXJpYW50YCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLWdyYWRpZW50LXZhcmlhbnRgIG1peGluXCIsIFwidjQuNS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuIiwiQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAkcmVzdWx0OiAoKTtcblxuICAgIEBpZiAobGVuZ3RoKCRzaGFkb3cpID09IDEpIHtcbiAgICAgIC8vIFdlIGNhbiBwYXNzIGBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO2BcbiAgICAgICRyZXN1bHQ6ICRzaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBGaWx0ZXIgdG8gYXZvaWQgaW52YWxpZCBwcm9wZXJ0aWVzIGZvciBleGFtcGxlIGBib3gtc2hhZG93OiBub25lLCAxcHggMXB4IGJsYWNrO2BcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRzaGFkb3cpIHtcbiAgICAgICAgQGlmIG50aCgkc2hhZG93LCAkaSkgIT0gXCJub25lXCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJHNoYWRvdywgJGkpLCBcImNvbW1hXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAobGVuZ3RoKCRyZXN1bHQpID4gMCkge1xuICAgICAgYm94LXNoYWRvdzogJHJlc3VsdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyICogLjU7XG4gIG1hcmdpbi1sZWZ0OiAtJGd1dHRlciAqIC41O1xufVxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG1ha2UtY29udGFpbmVyLW1heC13aWR0aHNgIG1peGluXCIsIFwidjQuNS4yXCIsIFwidjVcIik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAqIC41O1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gICAgbWF4LXdpZHRoOiBkaXZpZGUoMTAwJSwgJGNvdW50KTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBtaXhpbiBmbG9hdC1sZWZ0KCkge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LWxlZnRgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG5AbWl4aW4gZmxvYXQtcmlnaHQoKSB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LXJpZ2h0YCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuQG1peGluIGZsb2F0LW5vbmUoKSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtbm9uZWAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIjpyb290IHtcbiAgLy8gQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGJwLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tYnJlYWtwb2ludC0jeyRicH06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC8vIFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIDEuIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gNC4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vLyA1LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA1XG59XG5cbi8vIFNoaW0gZm9yIFwibmV3XCIgSFRNTDUgc3RydWN0dXJhbCBlbGVtZW50cyB0byBkaXNwbGF5IGNvcnJlY3RseSAoSUUxMCwgb2xkZXIgYnJvd3NlcnMpXG4vLyBUT0RPOiByZW1vdmUgaW4gdjVcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmFydGljbGUsIGFzaWRlLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gU2V0IGFuIGV4cGxpY2l0IGluaXRpYWwgdGV4dC1hbGlnbiB2YWx1ZSBzbyB0aGF0IHdlIGNhbiBsYXRlciB1c2Vcbi8vICAgIHRoZSBgaW5oZXJpdGAgdmFsdWUgb24gdGhpbmdzIGxpa2UgYDx0aD5gIGVsZW1lbnRzLlxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIDNcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcbn1cblxuLy8gRnV0dXJlLXByb29mIHJ1bGU6IGluIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCA6Zm9jdXMtdmlzaWJsZSwgc3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmVcbi8vIG9uIGVsZW1lbnRzIHRoYXQgcHJvZ3JhbW1hdGljYWxseSByZWNlaXZlIGZvY3VzIGJ1dCB3b3VsZG4ndCBub3JtYWxseSBzaG93IGEgdmlzaWJsZVxuLy8gZm9jdXMgb3V0bGluZS4gSW4gZ2VuZXJhbCwgdGhpcyB3b3VsZCBtZWFuIHRoYXQgdGhlIG91dGxpbmUgaXMgb25seSBhcHBsaWVkIGlmIHRoZVxuLy8gaW50ZXJhY3Rpb24gdGhhdCBsZWQgdG8gdGhlIGVsZW1lbnQgcmVjZWl2aW5nIHByb2dyYW1tYXRpYyBmb2N1cyB3YXMgYSBrZXlib2FyZCBpbnRlcmFjdGlvbixcbi8vIG9yIHRoZSBicm93c2VyIGhhcyBzb21laG93IGRldGVybWluZWQgdGhhdCB0aGUgdXNlciBpcyBwcmltYXJpbHkgYSBrZXlib2FyZCB1c2VyIGFuZC9vclxuLy8gd2FudHMgZm9jdXMgb3V0bGluZXMgdG8gYWx3YXlzIGJlIHByZXNlbnRlZC5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTLzpmb2N1cy12aXNpYmxlXG4vLyBhbmQgaHR0cHM6Ly9kZXZlbG9wZXIucGFjaWVsbG9ncm91cC5jb20vYmxvZy8yMDE4LzAzL2ZvY3VzLXZpc2libGUtYW5kLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5L1xuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gIGhlaWdodDogMDsgLy8gMVxuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxufVxuXG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4vLyBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBEdXBsaWNhdGUgYmVoYXZpb3IgdG8gdGhlIGRhdGEtKiBhdHRyaWJ1dGUgZm9yIG91ciB0b29sdGlwIHBsdWdpblxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDQuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbi8vIDUuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0geyAvLyAxXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICBjdXJzb3I6IGhlbHA7IC8vIDNcbiAgYm9yZGVyLWJvdHRvbTogMDsgLy8gNFxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDVcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxufVxuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg4MCUpOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg3NSUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb2RlXG4vL1xuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG5wcmUge1xuICAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbiAgbWFyZ2luLXRvcDogMDtcbiAgLy8gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgcmVtYHNcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLy8gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG4gIG92ZXJmbG93OiBhdXRvO1xuICAvLyBEaXNhYmxlIGF1dG8taGlkaW5nIHNjcm9sbGJhciBpbiBJRSAmIGxlZ2FjeSBFZGdlIHRvIGF2b2lkIG92ZXJsYXAsXG4gIC8vIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIGludGVyYWN0IHdpdGggdGhlIGNvbnRlbnRcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmcge1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNjg3OFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBFeHBsaWNpdGx5IHJlbW92ZSBmb2N1cyBvdXRsaW5lIGluIENocm9taXVtIHdoZW4gaXQgc2hvdWxkbid0IGJlXG4vLyB2aXNpYmxlIChlLmcuIGFzIHJlc3VsdCBvZiBtb3VzZSBjbGljayBvciB0b3VjaCB0YXApLiBJdCBhbHJlYWR5XG4vLyBzaG91bGQgYmUgZG9pbmcgdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgc2VlbXMgdG8gY3VycmVudGx5IGJlXG4vLyBjb25mdXNlZCBhbmQgYXBwbGllcyBpdHMgdmVyeSB2aXNpYmxlIHR3by10b25lIG91dGxpbmUgYW55d2F5LlxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlXG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcbn1cblxuLy8gU2V0IHRoZSBjdXJzb3IgZm9yIG5vbi1gPGJ1dHRvbj5gIGJ1dHRvbnNcbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwNTYyXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB3b3JkLXdyYXAgaW4gU2FmYXJpLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDk5MFxuc2VsZWN0IHtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG5cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCBidXR0b24gZWxlbWVudHMuXG5AaWYgJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucyB7XG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLVxuICBwYWRkaW5nOiAwOyAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtXG59XG5cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxufVxuXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxufVxuXG4vL1xuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG4vL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpOyB9XG5oMiwgLmgyIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpOyB9XG5oMywgLmgzIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpOyB9XG5oNCwgLmg0IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpOyB9XG5oNSwgLmg1IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpOyB9XG5oNiwgLmg2IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpOyB9XG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkxLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTItc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5My1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXk0LXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg5MCUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygka2JkLWJveC1zaGFkb3cpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTAwJSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGNvbG9yOiAkdGFibGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZzsgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMiAqICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCxcbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY2NlbnQtYmc7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1ib3JkZXItbGV2ZWwpKTtcbn1cblxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYWN0aXZlLWJnKTtcblxuXG4vLyBEYXJrIHN0eWxlc1xuLy9cbi8vIFNhbWUgdGFibGUgbWFya3VwLCBidXQgaW52ZXJ0ZWQgY29sb3Igc2NoZW1lOiBkYXJrIGJhY2tncm91bmQgYW5kIGxpZ2h0IHRleHQuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4udGFibGUge1xuICAudGhlYWQtZGFyayB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAudGhlYWQtbGlnaHQge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtZGFyayB7XG4gIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG5cbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLnRhYmxlLXN0cmlwZWQge1xuICAgIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1hY2NlbnQtYmc7XG4gICAgfVxuICB9XG5cbiAgJi50YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkgdHIge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgICAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyIG9uIGhvcml6b250YWwgc2Nyb2xsIGR1ZSB0byB1c2Ugb2YgYGRpc3BsYXk6IGJsb2NrO2BcbiAgICAgICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIH1cbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIC8vIFJlbW92ZSBzZWxlY3Qgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkaW5wdXQtY29sb3I7XG4gIH1cblxuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICB9XG59XG5cbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXG4uZm9ybS1jb250cm9sLWZpbGUsXG4uZm9ybS1jb250cm9sLXJhbmdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsYWJlbD4vPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xufVxuXG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJltzaXplXSxcbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbn1cblxuXG4vLyBGb3JtIGdyaWRcbi8vXG4vLyBTcGVjaWFsIHJlcGxhY2VtZW50IGZvciBvdXIgZ3JpZCBzeXN0ZW0ncyBgLnJvd2AgZm9yIHRpZ2h0ZXIgZm9ybSBsYXlvdXRzLlxuXG4uZm9ybS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIGZvciB3b3JrYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0gfiAuZm9ybS1jaGVjay1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG5cbiAgLy8gVW5kbyAuZm9ybS1jaGVjay1pbnB1dCBkZWZhdWx0cyBhbmQgYWRkIHNvbWUgYG1hcmdpbi1yaWdodGAuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbkBlYWNoICRzdGF0ZSwgJGRhdGEgaW4gJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMge1xuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCBtYXAtZ2V0KCRkYXRhLCBjb2xvciksIG1hcC1nZXQoJGRhdGEsIGljb24pKTtcbn1cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcblxuICAvLyBCZWNhdXNlIHdlIHVzZSBmbGV4LCB0aGUgaW5pdGlhbCBzaXppbmcgb2YgY2hlY2tib3hlcyBpcyBjb2xsYXBzZWQgYW5kXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXG4gIC8vIHNvIHdlIGZvcmNlIHRoYXQgaGVyZS5cbiAgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAsXG4gICAgLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wcmlnaHQsXG4uZHJvcGRvd24sXG4uZHJvcGxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1wYWRkaW5nLXg7XG4gIG1hcmdpbjogJGRyb3Bkb3duLXNwYWNlciAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkcm9wZG93bi1mb250LXNpemUpO1xuICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRkcm9wZG93bi1ib3gtc2hhZG93KTtcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tbGVmdCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tcmlnaHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3ByaWdodCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQocmlnaHQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGxlZnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChsZWZ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gUG9wcGVyIGlzIGVuYWJsZWQsIHJlc2V0IHRoZSBiYXNpYyBkcm9wZG93biBwb3NpdGlvblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5kcm9wZG93bi1tZW51IHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZywgJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXksIHRydWUpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgLy8gUHJldmVudCBkcm9wZG93biBvdmVyZmxvdyBpZiB0aGVyZSdzIG5vIHBhZGRpbmdcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI3NzAzXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAvLyBDdXN0b20gZmlsZSBpbnB1dHMgaGF2ZSBtb3JlIGNvbXBsZXggbWFya3VwLCB0aHVzIHJlcXVpcmluZyBkaWZmZXJlbnRcbiAgLy8gYm9yZGVyLXJhZGl1cyBvdmVycmlkZXMuXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtdmFsaWRhdGlvbiB7XG4gICAgPiAuZm9ybS1jb250cm9sOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuICsgMykgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41O1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yIHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogNTAlIC8gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemV9IG5vLXJlcGVhdDtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHN3aXRjaGVzXG4vL1xuLy8gVHdlYWsgYSBmZXcgdGhpbmdzIGZvciBzd2l0Y2hlc1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGFkZCgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1zLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAqIC41O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdi10YWJzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci1icmFuZC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiA1MCUgLyAxMDAlIDEwMCUgbm8tcmVwZWF0O1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiAkbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgKiAuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG5cbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhZGdlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhZGdlLXRyYW5zaXRpb24pO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nICogLjUpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogJGFsZXJ0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxlcnQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmFsZXJ0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCh0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJvcmRlci1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWNvbG9yLWxldmVsKSk7XG4gIH1cbn1cbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzLWhlaWdodCAwOyB9XG4gICAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBsaW5lLWhlaWdodDogMDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgcHJvZ3Jlc3MtYmFyLXN0cmlwZXM7XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmICsgJiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci13aWR0aDogMCAwICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi50b2FzdCB7XG4gIC8vIFByZXZlbnRzIGZyb20gc2hyaW5raW5nIGluIElFMTEsIHdoZW4gaW4gYSBmbGV4IGNvbnRhaW5lclxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODM0MVxuICBmbGV4LWJhc2lzOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBtYXgtd2lkdGg6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHN1YnRyYWN0KCR0b2FzdC1ib3JkZXItcmFkaXVzLCAkdG9hc3QtYm9yZGVyLXdpZHRoKSk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gKiAuNTtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWJvcmRlcjtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWdyb3c7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuXG5AaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwidXRpbGl0aWVzL2FsaWduXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYm9yZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2VtYmVkXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2ZsZXhcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZmxvYXRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvaW50ZXJhY3Rpb25zXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL292ZXJmbG93XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NjcmVlbnJlYWRlcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2hhZG93c1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zaXppbmdcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc3BhY2luZ1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zdHJldGNoZWQtbGlua1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy90ZXh0XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Zpc2liaWxpdHlcIjtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIEJvcmRlclxuLy9cblxuLmJvcmRlciAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQgICB7IGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tICB7IGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQgICAgeyBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYm9yZGVyLSN7JGNvbG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLXBpbGwgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbiIsIi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGRpdmlkZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSwgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJHVzZXItc2VsZWN0cyB7XG4gIC51c2VyLXNlbGVjdC0jeyR2YWx1ZX0geyB1c2VyLXNlbGVjdDogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgQGlmIFwiI3skc2l6ZX1cIiAhPSBcIjBcIiB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gRGVwcmVjYXRlZCwgYnV0IGF2b2lkcyBpc3N1ZXMgd2l0aCBmbGV4IGNvbnRhaW5lcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIFVzZWQgaW5zdGVhZCBvZiBgb3ZlcmZsb3ctd3JhcGAgZm9yIElFICYgRWRnZSBMZWdhY3lcbn1cblxuLy8gUmVzZXRcblxuLnRleHQtcmVzZXQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9tYWluLmNzcy9ibG9iL21hc3Rlci9zcmMvX3ByaW50LmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwczovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ3JheS01MDA7IC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIFNwZWNpZnkgYSBzaXplIGFuZCBtaW4td2lkdGggdG8gbWFrZSBwcmludGluZyBjbG9zZXIgYWNyb3NzIGJyb3dzZXJzLlxuICAgIC8vIFdlIGRvbid0IHNldCBtYXJnaW4gaGVyZSBiZWNhdXNlIGl0IGJyZWFrcyBgc2l6ZWAgaW4gQ2hyb21lLiBXZSBhbHNvXG4gICAgLy8gZG9uJ3QgdXNlIGAhaW1wb3J0YW50YCBvbiBgc2l6ZWAgYXMgaXQgYnJlYWtzIGluIENocm9tZS5cbiAgICBAcGFnZSB7XG4gICAgICBzaXplOiAkcHJpbnQtcGFnZS1zaXplO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWRhcmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iLCJAbWl4aW4gc2hhcGUtZGl2aWRlcigkYmctc2hhcGUtZGl2aWRlcjogdHJhbnNwYXJlbnQsICRjb2xvci1maWxsLWRpYWc6ICNmN2Y3ZjcsICRvcGFjaXR5OiAxLCAkc2hhcGUtZGl2aWRlci1oZWlnaHQ6IDUwcHgsICRzdmc6ICRzaGFwZS1kaXZpZGVyLXNlbGVjdGlvbikge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctc2hhcGUtZGl2aWRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGNhbGMoI3skc2hhcGUtZGl2aWRlci1oZWlnaHR9IC0gNTBweCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygjeyRzaGFwZS1kaXZpZGVyLWhlaWdodH0gLSA1MHB4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDEwMzE7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBoZWlnaHQ6ICRzaGFwZS1kaXZpZGVyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgJHNoYXBlLWRpdmlkZXItaGVpZ2h0O1xuICB9XG5cbiAgQGlmICRzdmcgPT0gMSB7IC8vIFdhdmVzL1ZhZ3Vlc1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgZGF0YS1uYW1lPVwiTGF5ZXIgMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEyMDAgMTIwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj48cGF0aCBkPVwiTTMyMS4zOSw1Ni40NGM1OC0xMC43OSwxMTQuMTYtMzAuMTMsMTcyLTQxLjg2LDgyLjM5LTE2LjcyLDE2OC4xOS0xNy43MywyNTAuNDUtLjM5QzgyMy43OCwzMSw5MDYuNjcsNzIsOTg1LjY2LDkyLjgzYzcwLjA1LDE4LjQ4LDE0Ni41MywyNi4wOSwyMTQuMzQsM1YwSDBWMjcuMzVBNjAwLjIxLDYwMC4yMSwwLDAsMCwzMjEuMzksNTYuNDRaXCIgY2xhc3M9XCJzaGFwZS1maWxsXCIgZmlsbD1cIicrIHRvUkdCQSgkY29sb3ItZmlsbC1kaWFnLCAkb3BhY2l0eSkgKydcXFwiPjwvcGF0aD4gPC9zdmc+Jyk7XG4gIH1cbiAgQGlmICRzdmcgPT0gMiB7IC8vIFdhdmVzIE9wYWNpdHlcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCA8c3ZnIGRhdGEtbmFtZT1cIkxheWVyIDFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMjAwIDEyMFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCI+IDxwYXRoIGQ9XCJNMCwwVjQ2LjI5YzQ3Ljc5LDIyLjIsMTAzLjU5LDMyLjE3LDE1OCwyOCw3MC4zNi01LjM3LDEzNi4zMy0zMy4zMSwyMDYuOC0zNy41QzQzOC42NCwzMi40Myw1MTIuMzQsNTMuNjcsNTgzLDcyLjA1YzY5LjI3LDE4LDEzOC4zLDI0Ljg4LDIwOS40LDEzLjA4LDM2LjE1LTYsNjkuODUtMTcuODQsMTA0LjQ1LTI5LjM0Qzk4OS40OSwyNSwxMTEzLTE0LjI5LDEyMDAsNTIuNDdWMFpcIiBvcGFjaXR5PVwiLjI1XCIgY2xhc3M9XCJzaGFwZS1maWxsXCIgZmlsbD1cIicrIHRvUkdCQSgkY29sb3ItZmlsbC1kaWFnLCAkb3BhY2l0eSkgKydcXFwiPjwvcGF0aD4gPHBhdGggZD1cIk0wLDBWMTUuODFDMTMsMzYuOTIsMjcuNjQsNTYuODYsNDcuNjksNzIuMDUsOTkuNDEsMTExLjI3LDE2NSwxMTEsMjI0LjU4LDkxLjU4YzMxLjE1LTEwLjE1LDYwLjA5LTI2LjA3LDg5LjY3LTM5LjgsNDAuOTItMTksODQuNzMtNDYsMTMwLjgzLTQ5LjY3LDM2LjI2LTIuODUsNzAuOSw5LjQyLDk4LjYsMzEuNTYsMzEuNzcsMjUuMzksNjIuMzIsNjIsMTAzLjYzLDczLDQwLjQ0LDEwLjc5LDgxLjM1LTYuNjksMTE5LjEzLTI0LjI4czc1LjE2LTM5LDExNi45Mi00My4wNWM1OS43My01Ljg1LDExMy4yOCwyMi44OCwxNjguOSwzOC44NCwzMC4yLDguNjYsNTksNi4xNyw4Ny4wOS03LjUsMjIuNDMtMTAuODksNDgtMjYuOTMsNjAuNjUtNDkuMjRWMFpcIiBvcGFjaXR5PVwiLjVcIiBjbGFzcz1cInNoYXBlLWZpbGxcIiBmaWxsPVwiJysgdG9SR0JBKCRjb2xvci1maWxsLWRpYWcsICRvcGFjaXR5KSArJ1xcXCI+PC9wYXRoPiA8cGF0aCBkPVwiTTAsMFY1LjYzQzE0OS45Myw1OSwzMTQuMDksNzEuMzIsNDc1LjgzLDQyLjU3YzQzLTcuNjQsODQuMjMtMjAuMTIsMTI3LjYxLTI2LjQ2LDU5LTguNjMsMTEyLjQ4LDEyLjI0LDE2NS41NiwzNS40QzgyNy45Myw3Ny4yMiw4ODYsOTUuMjQsOTUxLjIsOTBjODYuNTMtNywxNzIuNDYtNDUuNzEsMjQ4LjgtODQuODFWMFpcIiBjbGFzcz1cInNoYXBlLWZpbGxcIiBmaWxsPVwiJysgdG9SR0JBKCRjb2xvci1maWxsLWRpYWcsICRvcGFjaXR5KSArJ1xcXCI+PC9wYXRoPiA8L3N2Zz4nKTtcbiAgfVxuICBAaWYgJHN2ZyA9PSAzIHsgLy8gQ3VydmVcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCA8c3ZnIGRhdGEtbmFtZT1cIkxheWVyIDFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMjAwIDEyMFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCI+PHBhdGggZD1cIk0wLDBWNy4yM0MwLDY1LjUyLDI2OC42MywxMTIuNzcsNjAwLDExMi43N1MxMjAwLDY1LjUyLDEyMDAsNy4yM1YwWlwiIGNsYXNzPVwic2hhcGUtZmlsbFwiIGZpbGw9XCInKyB0b1JHQkEoJGNvbG9yLWZpbGwtZGlhZywgJG9wYWNpdHkpICsnXFxcIj48L3BhdGg+PC9zdmc+Jyk7XG4gIH1cbiAgQGlmICRzdmcgPT0gNCB7IC8vIFRyaWFuZ2xlXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyBkYXRhLW5hbWU9XCJMYXllciAxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTIwMCAxMjBcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiPiA8cGF0aCBkPVwiTTEyMDAgMEwwIDAgNTk4Ljk3IDExNC43MiAxMjAwIDB6XCIgY2xhc3M9XCJzaGFwZS1maWxsXCIgZmlsbD1cIicrIHRvUkdCQSgkY29sb3ItZmlsbC1kaWFnLCAkb3BhY2l0eSkgKydcXFwiPjwvcGF0aD4gPC9zdmc+Jyk7XG4gIH1cbiAgQGlmICRzdmcgPT0gNSB7IC8vIFRyaWFuZ2xlIEFzeW1tZXRyaWNhbFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgZGF0YS1uYW1lPVwiTGF5ZXIgMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEyMDAgMTIwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj48cGF0aCBkPVwiTTEyMDAgMEwwIDAgODkyLjI1IDExNC43MiAxMjAwIDB6XCIgY2xhc3M9XCJzaGFwZS1maWxsXCIgZmlsbD1cIicrIHRvUkdCQSgkY29sb3ItZmlsbC1kaWFnLCAkb3BhY2l0eSkgKydcXFwiPjwvcGF0aD48L3N2Zz4nKTtcbiAgfVxuICBAaWYgJHN2ZyA9PSA2IHsgLy8gQXJyb3dcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCA8c3ZnIGRhdGEtbmFtZT1cIkxheWVyIDFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMjAwIDEyMFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCI+PHBhdGggZD1cIk02NDkuOTcgMEw1NTAuMDMgMCA1OTkuOTEgNTQuMTIgNjQ5Ljk3IDB6XCIgY2xhc3M9XCJzaGFwZS1maWxsXCIgZmlsbD1cIicrIHRvUkdCQSgkY29sb3ItZmlsbC1kaWFnLCAkb3BhY2l0eSkgKydcXFwiPjwvcGF0aD48L3N2Zz4nKTtcbiAgfVxuICBAaWYgJHN2ZyA9PSA3IHsgLy8gVGlsdC9EaWFnb25hbFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgZGF0YS1uYW1lPVwiTGF5ZXIgMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEyMDAgMTIwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj48cGF0aCBkPVwiTTEyMDAgMTIwTDAgMTYuNDggMCAwIDEyMDAgMCAxMjAwIDEyMHpcIiBjbGFzcz1cInNoYXBlLWZpbGxcIiBmaWxsPVwiJysgdG9SR0JBKCRjb2xvci1maWxsLWRpYWcsICRvcGFjaXR5KSArJ1xcXCI+PC9wYXRoPjwvc3ZnPicpO1xuICB9XG4gIEBpZiAkc3ZnID09IDggeyAvLyBCb29rXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyBkYXRhLW5hbWU9XCJMYXllciAxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTIwMCAxMjBcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiPjxwYXRoIGQ9XCJNMTIwMCwwSDBWMTIwSDI4MS45NEM1NzIuOSwxMTYuMjQsNjAyLjQ1LDMuODYsNjAyLjQ1LDMuODZoMFM2MzIsMTE2LjI0LDkyMywxMjBoMjc3WlwiIGNsYXNzPVwic2hhcGUtZmlsbFwiIGZpbGw9XCInKyB0b1JHQkEoJGNvbG9yLWZpbGwtZGlhZywgJG9wYWNpdHkpICsnXFxcIj48L3BhdGg+PC9zdmc+Jyk7XG4gIH1cbiAgLy9AaWYgJHN2ZyA9PSA5IHsgLy8gVmFndWVzIGN3XG4gIC8vICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCA8c3ZnIGlkPVwiQ2FscXVlXzJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1OTYuNzYgMTYuMDJcIj48ZyBpZD1cIkNhbHF1ZV8xLTJcIj48cGF0aCBjbGFzcz1cImNscy0xXCIgZD1cIk0wLDEuNDRjMzMuMTIsMCwzMy42NiwxNC41OCw2Ni43OCwxNC41OFM5OS45MSwxLjQ0LDEzMy4wMywxLjQ0czMzLjEyLDE0LjU4LDY2LjI1LDE0LjU4UzIzMi40LDEuNDQsMjY1LjUyLDEuNDRzMzMuMTIsMTQuNTgsNjYuMjUsMTQuNThTMzY0Ljg5LDEuNDQsMzk4LjAxLDEuNDRzMzMuMTIsMTQuNTgsNjYuMjUsMTQuNThTNDk3LjM5LDEuNDQsNTMwLjUxLDEuNDRzMzMuMTMsMTQuNTgsNjYuMjUsMTQuNThWMEgwVjEuNDRaXCIgZmlsbD1cIicrIHRvUkdCQSgkY29sb3ItZmlsbC1kaWFnLCAkb3BhY2l0eSkgKydcXFwiLz48L2c+PC9zdmc+Jyk7XG4gIC8vfVxufVxuXG5AbWl4aW4gY2xpcC1wYXRoKCRwcm9wZXJ0eS4uLikgeyAvLyBodHRwczovL2Jlbm5ldHRmZWVseS5jb20vY2xpcHB5L1xuICAtd2Via2l0LXNoYXBlLW91dHNpZGU6ICRwcm9wZXJ0eTtcbiAgc2hhcGUtb3V0c2lkZTogJHByb3BlcnR5O1xuICAtd2Via2l0LWNsaXAtcGF0aDogJHByb3BlcnR5O1xuICBjbGlwLXBhdGg6ICRwcm9wZXJ0eTtcbn1cblxuQG1peGluIHgtb3BhY2l0eSgkdmFsdWU6IDApIHsgLy8gVE9ETyBodHRwczovL2dpdGh1Yi5jb20vZHJ1YmxpYy9TYXNzLU1peGlucy9ibG9iL21hc3Rlci9wYXJ0aWFscy9fb3BhY2l0eS5zY3NzXG4gICR2YWx1ZS1wZXJjZW50YWdlOiAkdmFsdWUgKiAxMDA7XG5cbiAgb3BhY2l0eTogJHZhbHVlO1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSN7JHZhbHVlLXBlcmNlbnRhZ2V9KVwiO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9I3skdmFsdWUtcGVyY2VudGFnZX0pO1xufVxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLW1vei10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgLW8tdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydHkuLi4pIHtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHk7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJGR1cmF0aW9uLi4uKSB7XG4gIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogJGR1cmF0aW9uO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAkZHVyYXRpb247XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkZHVyYXRpb247XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLi4uKSB7XG4gIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJGRlbGF5Li4uKSB7XG4gIC1tb3otdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICAtby10cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbkBtaXhpbiBhbHBoYS1hdHRyaWJ1dGUoJGF0dHJpYnV0ZSwgJGNvbG9yLCAkYmFja2dyb3VuZCkge1xuICAkcGVyY2VudDogYWxwaGEoJGNvbG9yKSAqIDEwMCU7XG4gICRvcGFxdWU6IG9wYWNpZnkoJGNvbG9yLCAxKTtcbiAgJHNvbGlkLWNvbG9yOiBtaXgoJG9wYXF1ZSwgJGJhY2tncm91bmQsICRwZXJjZW50KTtcbiAgI3skYXR0cmlidXRlfTogJHNvbGlkLWNvbG9yO1xuICAjeyRhdHRyaWJ1dGV9OiAkY29sb3I7XG59XG5cbkBtaXhpbiBiZWZvcmUtYWZ0ZXItZnVsbCB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuQG1peGluIHB1bGwtbGVmdCgpIHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuQG1peGluIHB1bGwtcmlnaHQoKSB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyB7XG4gICAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpOyAvLyBJRTYgYW5kIElFNyB1c2UgdGhlIHdyb25nIHN5bnRheC5cbiAgfVxuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG59XG5cbi8vIFR1cm5zIG9mZiB0aGUgZWxlbWVudC1pbnZpc2libGUgZWZmZWN0LlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgY2xpcDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuIGJ5IGRlZmF1bHQsIGJ1dCB2aXNpYmxlIHdoZW4gZm9jdXNlZC5cbkBtaXhpbiBlbGVtZW50LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gIH1cbn1cblxuQG1peGluIGFscGhhLWF0dHJpYnV0ZSgkYXR0cmlidXRlLCAkY29sb3IsICRiYWNrZ3JvdW5kKSB7XG4gICRwZXJjZW50OiBhbHBoYSgkY29sb3IpICogMTAwJTtcbiAgJG9wYXF1ZTogb3BhY2lmeSgkY29sb3IsIDEpO1xuICAkc29saWQtY29sb3I6IG1peCgkb3BhcXVlLCAkYmFja2dyb3VuZCwgJHBlcmNlbnQpO1xuICAjeyRhdHRyaWJ1dGV9OiAkc29saWQtY29sb3I7XG4gICN7JGF0dHJpYnV0ZX06ICRjb2xvcjtcbn1cblxuQG1peGluIHRleHQtZ3JhZGllbnQoJGRlZ3JlZToyODguMTdkZWcsICRjb2xvcjE6IzI5MTY5ZCwgJGNvbG9yMjojMzY0NmNjLCAkY29sb3IzOiMxY2MyZTcsICRwZXJjZW50YWdlY29sb3IxOjEyLjYlLCAkcGVyY2VudGFnZWNvbG9yMjo1MC44MiUsICRwZXJjZW50YWdlY29sb3IzOjkwLjEyJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZ3JlZSwgJGNvbG9yMSAkcGVyY2VudGFnZWNvbG9yMSwgJGNvbG9yMiAkcGVyY2VudGFnZWNvbG9yMiwkY29sb3IzICRwZXJjZW50YWdlY29sb3IzKTtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xufVxuXG5AbWl4aW4gbGluZS1iZWZvcmVfYWZ0ZXIoJGJnY29sb3I6JGdyYXksICR3aWR0aDo5MHB4LCAkaGVpZ2h0OjVweCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBiYWNrZ3JvdW5kOiAkYmdjb2xvcjtcbiAgbWFyZ2luOiAxMHB4IGF1dG8gMjNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHdpZHRoO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBtaXhpbiBsaW5lLWJhY2tncm91bmQoJGJnY29sb3I6JGdyYXksICRoZWlnaHQ6MC4yNWVtLCAkcG9zaXRpb246ODUlKSB7IC8vbWV0dHJlIHVuZSBzcGFuIGV0IGx1aSBham91dGVyIGxhIGNsYXNzIGFmaW4gZGUgbmUgcGFzIHBlcmRyZSBsZSBjZW50cmFnZSBldCBtYXJnZXNcbiAgZGlzcGxheTogaW5saW5lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKCRiZ2NvbG9yLCAxKSAwLCByZ2JhKCRiZ2NvbG9yLCAxKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlICRoZWlnaHQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgJHBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5AbWl4aW4gYWZ0ZXJfbGVmdF9yaWdodC1ib3JkZXIoJGJnY29sb3I6JHByaW1hcnksICRwb3NpdGlvbjogbGVmdCwgJHNwYWNlOjM1cHgsICR3aWR0aDo4cHgsICRoZWlnaHQ6OTAlKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGlmICgkcG9zaXRpb24gPT0gbGVmdCkge1xuICAgIGxlZnQ6ICRzcGFjZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2U7XG4gIH0gQGVsc2Uge1xuICAgIHJpZ2h0OiAkc3BhY2U7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2U7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygoMTAwJSAtICN7JGhlaWdodH0pIC8gMik7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBAaWYgKCRwb3NpdGlvbiA9PSBsZWZ0KSB7XG4gICAgICBsZWZ0OiAtJHNwYWNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgcmlnaHQ6IC0kc3BhY2U7XG4gICAgfVxuICB9XG59XG5cbi8vQG1peGluIGFmdGVyLWJvcmRlci1iZygkaGVpZ2h0OjI3cHgsICRtdDoxNXB4LCAkZmlsZToncHVjZS1oMS5wbmcnKSB7XG4vLyAgZGlzcGxheTogYmxvY2s7XG4vLyAgY29udGVudDogXCJcIjtcbi8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAjeyRoZWlnaHR9KTtcbi8vICB3aWR0aDogMTAwJTtcbi8vICBtYXgtd2lkdGg6IDEwMCU7XG4vLyAgdG9wOiBjYWxjKC0jeyRoZWlnaHR9IC8gMik7XG4vLyAgbGVmdDogMDtcbi8vICB6LWluZGV4OiAtMTtcbi8vICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzLyN7JGZpbGV9KTtcbi8vICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbi8vICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuLy8gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4vLyAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuLy99XG5cbkBtaXhpbiBhZnRlci1ib3JkZXItYmcoJGhlaWdodDoyN3B4LCAkbXQ6MTVweCwgJGZpbGU6J3B1Y2UtaDEucG5nJykge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSArICN7JGhlaWdodH0pO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0b3A6IGNhbGMoLSN7JGhlaWdodH0gLyAyICsgI3skbXR9KTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvI3skZmlsZX0pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAvL21hcmdpbjogJG10IGF1dG8gMDtcbn1cblxuQG1peGluIGNoZXZyb24tYWZ0ZXIoJG5hbWUsJHBvc2l0aW9ueCkgeyAvL3V0aWxpc8OpIHBvdXIgbGEgcGFnaW5hdGlvblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICRuYW1lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMTVyZW07XG4gICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgQGlmICRwb3NpdGlvbnggPT0gbGVmdCB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjdy1ib3hzaGFkb3coJG9wYWNpdHkgOiAwLjExLCAkeCA6IDBweCwgJHkgOiA5cHgsICRibHVyIDogNDZweCwgJHNwcmVhZCA6IDBweCwgJGNvbG9yIDogJGJsYWNrKSB7XG4gIGJveC1zaGFkb3c6ICR4ICR5ICRibHVyICRzcHJlYWQgcmdiYSgkY29sb3IsICRvcGFjaXR5KTtcbn1cblxuQG1peGluIGN3LW92ZXJsYXkoJG92ZXJsYXktbW90aWYgOiAwLCAkYmFja2dyb3VuZC1hdHRhY2htZW50IDogdHJ1ZSwgJG9wYWNpdHkgOiAxLCAkei1pbmRleCA6IC0xKSB7XG4gIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgei1pbmRleDogJHotaW5kZXg7XG4gIEBpZiAkYmFja2dyb3VuZC1hdHRhY2htZW50ID09IHRydWUge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIH1cbiAgQGlmICRvdmVybGF5LW1vdGlmID09IDAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL292ZXJsYXktMS5wbmcnKTtcbiAgfVxuICBAaWYgJG92ZXJsYXktbW90aWYgPT0gMSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvb3ZlcmxheS0yLnBuZycpO1xuICB9XG4gIEBpZiAkb3ZlcmxheS1tb3RpZiA9PSAyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9vdmVybGF5LTMucG5nJyk7XG4gIH1cbiAgQGlmICRvdmVybGF5LW1vdGlmID09IDMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL292ZXJsYXktNC5wbmcnKTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuLWNhcmQoJGNvbG9yLCAkYmcsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICBib3JkZXI6ICRib3JkZXI7XG59XG5cbkBmdW5jdGlvbiB0b1JHQkEgKCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgQHJldHVybiBcInJnYmEoXCIgKyByZWQoJGNvbG9yKSArIFwiLCBcIiArIGdyZWVuKCRjb2xvcikgKyBcIiwgXCIgKyBibHVlKCRjb2xvcikgKyBcIiwgXCIgKyAkb3BhY2l0eSArIFwiKVwiO1xufVxuXG5AbWl4aW4gY3ctY29udGFpbmVyKCRtdyA6ICRjdy1jb250YWluZXIpIHtcbiAgbWF4LXdpZHRoOiAkbXc7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuQG1peGluIGN3LWxpc3QtdWwoKSB7XG4gIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICBsaSB7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGJvZHktY29sb3IhaW1wb3J0YW50O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvciFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGxpOmJlZm9yZXtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBmcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6ICRsaS1zdHlsZS1mYS13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkbGktc3R5bGUtZmEtc2l6ZTtcbiAgICBjb250ZW50OiAkbGktc3R5bGUtZmEtaWNvbjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgY29sb3I6ICRsaS1zdHlsZS1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gY3ctaW1nLXNob3ctbW9yZSgkZmEtaWNvbjonXFxmMDZlJywgJGltZy1vcGFjaXR5OjEsICRpY29uLXJvdGF0ZS1kZWc6MCkge1xuICBpbWcge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygkaW1nLW9wYWNpdHkpIGJsdXIoMHB4KTtcbiAgICAvL2ZpbHRlcjogc2VwaWEoMCUpO1xuICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjRzLCBmaWx0ZXIgMC4ycyk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG4gIH1cblxuICAuc2hvdy1tb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgLmljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGljb24tcm90YXRlLWRlZytkZWcpO1xuICAgIH1cblxuICAgIC5pY29uOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBmcmVlXCI7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBjb250ZW50OiAkZmEtaWNvbjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgc2NhbGUoMSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzKTtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuOHMgLjJzKTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuNikpO1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDAuNSkgYmx1cigxcHgpO1xuICAgICAgLy9maWx0ZXI6IHNlcGlhKDI1JSk7XG4gICAgfVxuXG4gICAgLnNob3ctbW9yZSB7XG4gICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzKTtcblxuICAgICAgLmljb246YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc2NhbGUoMS41KTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC42cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgfVxuICB9XG59XG4iLCJkaXYuY3ctZ3JpZC10d28ge1xuICBncmlkLWdhcDogMjBweDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0byBhdXRvIGF1dG87XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogQk9VVE9OUyBBVkVDIEZPTkQgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG5cblxuQG1peGluIGJ0bi1jb2xvcigkY29sb3I6JGJ0bi1vbmUtZm9udC1jb2xvciwgJGNvbG9ySG92ZXI6JGJ0bi1vbmUtZm9udC1jb2xvci1ob3Zlcikge1xuICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3JIb3ZlciAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBidG4tYm9yZGVyKCRib3JkZXItaGVpZ2h0OiRidG4tYm9yZGVyLWhlaWdodCwgJGJvcmRlcjokYnRuLW9uZS1ib3JkZXItY29sb3IsICRib3JkZXItaG92ZXI6JGJ0bi1vbmUtYm9yZGVyLWNvbG9yLWhvdmVyLCAkb3BhY2l0eTokYnRuLW9uZS1ib3JkZXItY29sb3Itb3BhY2l0eSwgJG9wYWNpdHktaG92ZXI6JGJ0bi1vbmUtYm9yZGVyLWNvbG9yLWhvdmVyLW9wYWNpdHkpIHtcbiAgYm9yZGVyOiAkYm9yZGVyLWhlaWdodCBzb2xpZCByZ2JhKCRib3JkZXIsICRvcGFjaXR5KTtcbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLWhlaWdodCBzb2xpZCByZ2JhKCRib3JkZXItaG92ZXIsICRvcGFjaXR5LWhvdmVyKTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuLWFmdGVyKCRhZnRlci1oZWlnaHQ6MXB4LCAkdW5kZXJsaW5lLWNvbG9yOiRwcmltYXJ5LCAkdW5kZXJsaW5lLWNvbG9yLWhvdmVyOiRwcmltYXJ5LWRhcmspIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCBsZWZ0IDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWZ0ZXItaGVpZ2h0IHNvbGlkICR1bmRlcmxpbmUtY29sb3I7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhZnRlci1oZWlnaHQgc29saWQgJHVuZGVybGluZS1jb2xvci1ob3ZlcjtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggMC4ycyBlYXNlLWluLW91dCwgbGVmdCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gKDEwMCUgLyAyKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidG4taW1nKCRidG4taW1nLCAkYnRuLWltZy1ob3Zlcikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGJ0bi1pbWcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGJ0bi1pbWctaG92ZXIpO1xuICB9XG59XG5cbkBtaXhpbiBidG4tYmctdHJhbnNpdGlvbigkYmctdHJhbnNpdGlvbjokYnRuLWJnLXRyYW5zaXRpb24sICRiZ0NvbG9yOiRidG4tb25lLWJnLCAkYmdDb2xvckhvdmVyOiRidG4tb25lLWJnLWhvdmVyLCAkYmdDb2xvck9wYWNpdHk6JGJ0bi1vbmUtYmctb3BhY2l0eSwgJGJnQ29sb3JPcGFjaXR5SG92ZXI6JGJ0bi1vbmUtYmctb3BhY2l0eS1ob3ZlciwgJGJnQ29sb3JUd286JGJ0bi1vbmUtYmctaG92ZXIsICRiZ0NvbG9yVHdvSG92ZXI6JGJ0bi1vbmUtYmcpIHtcbiAgQGlmICRiZy10cmFuc2l0aW9uID09IDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJnQ29sb3IsICRiZ0NvbG9yT3BhY2l0eSk7XG4gICAgJjpob3ZlcntcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJnQ29sb3JIb3ZlciwgJGJnQ29sb3JPcGFjaXR5SG92ZXIpO1xuICAgIH1cbiAgfVxuICBAaWYgJGJnLXRyYW5zaXRpb24gPT0gMSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRiZ0NvbG9yLCAkYmdDb2xvck9wYWNpdHkpLCB0cmFuc3BhcmVudCA3MCUpIHJnYmEoJGJnQ29sb3JIb3ZlciwgJGJnQ29sb3JPcGFjaXR5SG92ZXIpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cztcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHkpLCB0cmFuc3BhcmVudCA3MCUpIHJnYmEoJGJnQ29sb3JIb3ZlciwgJGJnQ29sb3JPcGFjaXR5SG92ZXIpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShsaWdodGVuKCRiZ0NvbG9yLCA1JSksICRiZ0NvbG9yT3BhY2l0eSk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xuICAgIH1cbiAgfVxuICBAaWYgJGJnLXRyYW5zaXRpb24gPT0gMiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRiZ0NvbG9yLCAkYmdDb2xvck9wYWNpdHkpLCB0cmFuc3BhcmVudCA3MCUpIHJnYmEoJGJnQ29sb3JIb3ZlciwgJGJnQ29sb3JPcGFjaXR5SG92ZXIpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cztcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEobGlnaHRlbigkdGVydGlhcnksIDUlKSwgJGJ0bi1vbmUtYmctb3BhY2l0eSk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xuICAgIH1cbiAgfVxuICBAaWYgJGJnLXRyYW5zaXRpb24gPT0gMyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmdDb2xvciwgJGJnQ29sb3JPcGFjaXR5KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMCwgcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3ZlciksIHJnYmEoJGJnQ29sb3JIb3ZlciwgJGJnQ29sb3JPcGFjaXR5SG92ZXIpKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgfVxuICB9XG4gIEBpZiAkYmctdHJhbnNpdGlvbiA9PSA0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiZ0NvbG9yLCAkYmdDb2xvck9wYWNpdHkpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwLCByZ2JhKCRiZ0NvbG9ySG92ZXIsICRiZ0NvbG9yT3BhY2l0eUhvdmVyKSwgcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3ZlcikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAaWYgJGJnLXRyYW5zaXRpb24gPT0gNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmdDb2xvciwgJGJnQ29sb3JPcGFjaXR5KTtcbiAgICBib3gtc2hhZG93OiA1cHggNXB4IDBweCAwcHggcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3Zlcik7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAxMXB4IDExcHggMHB4IDBweCByZ2JhKCRiZ0NvbG9ySG92ZXIsICRiZ0NvbG9yT3BhY2l0eUhvdmVyKTtcbiAgICB9XG4gIH1cbiAgQGlmICRiZy10cmFuc2l0aW9uID09IDYge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjJkZWcsICRiZ0NvbG9yLCBsaWdodGVuKCRiZ0NvbG9yLCAyNSUpLCAkYmdDb2xvcik7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTAlO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDZweCAxMHB4IDBweCByZ2JhKGRhcmtlbigkYmxhY2ssIDEwJSksIDAuMDUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIH1cbiAgfVxuICBAaWYgJGJnLXRyYW5zaXRpb24gPT0gNyB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjJkZWcsICRiZ0NvbG9ySG92ZXIsIGxpZ2h0ZW4oJGJnQ29sb3JIb3ZlciwgMjUlKSwgJGJnQ29sb3JIb3Zlcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBvdXRsaW5lOiBzb2xpZCAycHggZGFya2VuKHJnYmEoJGJnQ29sb3IsIDEpLCAzJSk7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBvdXRsaW5lOiBzb2xpZCAwIGRhcmtlbihyZ2JhKCRiZ0NvbG9yLCAwKSwgMyUpO1xuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBjaGFuZ2UgdG8gZmFsc2UgaWYgaXRzIG5vdCBpbXBvcnRlZCBpbnRvIGJvb3RzdHJhcFxuJHVzZS1ib290c3RyYXA6IGZhbHNlO1xuXG4vLyBtYXJnaW4gYW5kIHBhZGRpbmcgdmFsdWVzIGFycmF5XG4kd2lkdGgtdmFsdWVzOiAoXG4gICAgICAgIDEwMCxcbiAgICAgICAgMTIwLFxuICAgICAgICAxNDAsXG4gICAgICAgIDE2MCxcbiAgICAgICAgMTgwLFxuICAgICAgICAyMDAsXG4gICAgICAgIDIyMCxcbiAgICAgICAgMjQwLFxuICAgICAgICAyNjAsXG4gICAgICAgIDI4MCxcbiAgICAgICAgMzAwLFxuICAgICAgICAzMjAsXG4gICAgICAgIDM0MCxcbiAgICAgICAgMzYwLFxuICAgICAgICAzODAsXG4gICAgICAgIDQwMCxcbikgIWRlZmF1bHQ7XG5cbi8vIG1haW4gZnVuY3Rpb24gZGVmaW5pdGlvblxuQG1peGluIG1ha2Utc3BhY2UoJHZhbHVlcywgJGJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LW5hbWUsICRicmVha3BvaW50LXZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAgICAgLmJ0bi0jeyRicmVha3BvaW50LW5hbWV9LSN7JHZhbHVlfSB7XG4gICAgICAgICAgd2lkdGg6ICN7JHZhbHVlfXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWFrZS1zcGFjZSgkd2lkdGgtdmFsdWVzLCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICBbY2xhc3MqPVwiYnRuLVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgLmRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwiLmN3LW9wYWNpdHktMTAwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDEpXG59XG5cbi5jdy1vcGFjaXR5LTkwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuOSk7XG59XG5cbi5jdy1vcGFjaXR5LTgwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuOCk7XG59XG5cbi5jdy1vcGFjaXR5LTcwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuNyk7XG59XG5cbi5jdy1vcGFjaXR5LTYwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuNik7XG59XG5cbi5jdy1vcGFjaXR5LTUwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuNSk7XG59XG5cbi5jdy1vcGFjaXR5LTQwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuNCk7XG59XG5cbi5jdy1vcGFjaXR5LTMwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuMyk7XG59XG5cbi5jdy1vcGFjaXR5LTIwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuMik7XG59XG5cbi5jdy1vcGFjaXR5LTEwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuMSk7XG59XG5cbi5jdy1vcGFjaXR5LTAge1xuICBAaW5jbHVkZSB4LW9wYWNpdHkoMClcbn0iLCJidXR0b24sIC5idG4ge1xuICAmOmZvY3VzLCAmOmFjdGl2ZTpmb2N1cywgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbi5idG4tZHJvcGRvd24ge1xuICAuZHJvcGRvd24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICBidXR0b24sIC5kcm9wZG93bi1tZW51IHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ0bi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRidG4tbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYnRuLXRleHQtdHJhbnNmb3JtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogUEFSQU1FVFJBR0UgREUgQkFTRSAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLmJ0biB7XG4gIEBpZiAkYnRuLXNoYWRvdyB7XG4gICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMTUsIDBweCwgMjBweCwgNDBweCwgMHB4KTtcbiAgfVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMtYnRuKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBpbml0aWFsO1xuICBwYWRkaW5nOiAyNHB4IDMwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRidG4tZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGJ0bi1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICB0ZXh0LXRyYW5zZm9ybTogJGJ0bi10ZXh0LXRyYW5zZm9ybTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvL21hcmdpbjogMDtcbiAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAvL3RleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLy9iYWNrZ3JvdW5kOiBub25lO1xuXG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC4ycyk7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcmFkaXVzLWJ0bik7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuICAgIC8vdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5idG4tcHJpbWFyeSwgLmJ1dHRvbi1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgYnRuLWNvbG9yKCk7XG4gIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKCk7IC8vUmVnYXJkZXIgZW4gYmFzIHBvdXIgYXZvaXIgbGVzIGRpZmbDqXJlbnRlcyB2YXJpYWJsZXNcbiAgQGlmICRidG4tYm9yZGVyLWhlaWdodCA+IDAge1xuICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoJGJ0bi1ib3JkZXItaGVpZ2h0LCAkYnRuLW9uZS1ib3JkZXItY29sb3IsICRidG4tb25lLWJvcmRlci1jb2xvci1ob3Zlcik7XG4gIH1cbiAgLy9AaW5jbHVkZSBidG4tYWZ0ZXIoKTtcbn1cblxuLmJ0bi1zZWNvbmRhcnksIC5idXR0b24tc2Vjb25kYXJ5IHtcbiAgQGluY2x1ZGUgYnRuLWNvbG9yKCRidG4tdHdvLWZvbnQtY29sb3IsICRidG4tdHdvLWZvbnQtY29sb3ItaG92ZXIpO1xuICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigkYnRuLWJnLXRyYW5zaXRpb24sICRidG4tdHdvLWJnLCAkYnRuLXR3by1iZy1ob3ZlciwgJGJ0bi10d28tYmctb3BhY2l0eSwgJGJ0bi10d28tYmctb3BhY2l0eS1ob3Zlcik7XG4gIEBpZiAkYnRuLWJvcmRlci1oZWlnaHQgPiAwIHtcbiAgICBAaW5jbHVkZSBidG4tYm9yZGVyKCRidG4tYm9yZGVyLWhlaWdodCwgJGJ0bi10d28tYm9yZGVyLWNvbG9yLCAkYnRuLXR3by1ib3JkZXItY29sb3ItaG92ZXIsICRidG4tdHdvLWJvcmRlci1jb2xvci1vcGFjaXR5LCAkYnRuLXR3by1ib3JkZXItY29sb3ItaG92ZXItb3BhY2l0eSk7XG4gIH1cbn1cblxuLmJ0bi10ZXJ0aWFyeSB7XG4gIEBpbmNsdWRlIGJ0bi1hZnRlcigxcHgsICRncmF5LTYwMCwgJHdoaXRlKTtcbiAgcGFkZGluZzogN3B4IDA7XG4gIG1hcmdpbjogMCAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKiBCTE9DIEFDVFUgKioqKioqKioqKioqKiovXG4uYWxsLWFjdHVzIHtcbiAgQGluY2x1ZGUgYnRuLWNvbG9yKCk7XG4gIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKCRidG4tYmctdHJhbnNpdGlvbik7XG4gIEBpZiAkYnRuLWJvcmRlci1oZWlnaHQgPiAwIHtcbiAgICBAaW5jbHVkZSBidG4tYm9yZGVyKCRidG4tYm9yZGVyLWhlaWdodCwgJGJ0bi1vbmUtYm9yZGVyLWNvbG9yLCAkYnRuLW9uZS1ib3JkZXItY29sb3ItaG92ZXIpO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKiBCTE9DIEFWSVMgQ0xJRU5UIChmcm9udCkqKioqKioqKioqKioqKi9cbiNhdmlzLWNsaWVudCAudmlldy1mb290ZXIge1xuICAuYnRuLWF2aXMgLmJ0bi1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBidG4tY29sb3IoKTtcbiAgICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigkYnRuLWJnLXRyYW5zaXRpb24pO1xuICAgIEBpZiAkYnRuLWJvcmRlci1oZWlnaHQgPiAwIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoJGJ0bi1ib3JkZXItaGVpZ2h0LCAkYnRuLW9uZS1ib3JkZXItY29sb3IsICRidG4tb25lLWJvcmRlci1jb2xvci1ob3Zlcik7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiBBVklTIENMSUVOVCAqKioqKioqKioqKioqKi9cbi5wYWdlLW5vZGUtYWRkLW1lc3NhZ2UgLmZvcm0tYWN0aW9ucyB7XG4gIC53ZWJmb3JtLXN1Ym1pdCwgI2VkaXQtc3VibWl0IHtcbiAgICBAaW5jbHVkZSBidG4tY29sb3IoKTtcbiAgICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigkYnRuLWJnLXRyYW5zaXRpb24pO1xuICAgIEBpZiAkYnRuLWJvcmRlci1oZWlnaHQgPiAwIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoJGJ0bi1ib3JkZXItaGVpZ2h0LCAkYnRuLW9uZS1ib3JkZXItY29sb3IsICRidG4tb25lLWJvcmRlci1jb2xvci1ob3Zlcik7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiBGT1JNVUxBSVJFIEJMT0MgQk9UVE9NIEFDQ1VFSUwgKioqKioqKioqKioqKiovXG4vLy5ibG9jay13Zi1jb250YWN0IHtcbi8vICAuYnV0dG9uLS1wcmltYXJ5IHtcbi8vICB9XG4vL31cblxuLyoqKioqKioqKioqKioqIEZPUk1VTEFJUkUgUEFHRSBDT05UQUNUICoqKioqKioqKioqKioqL1xuLy9mb3JtIHtcbi8vICAuYnV0dG9uLS1wcmltYXJ5IHtcbi8vICB9XG4vL31cblxuLy8vKioqKioqKioqKioqKiogRkxPVFRBTlQgKioqKioqKioqKioqKiovXG4vLy5mbGItYnRuIHsgLy8gYm91dG9uIGVuIG1vYmlsZSwgZGFucyBsYSBuYXZiYXJcbi8vICAuYnRuLXByaW1hcnkge1xuLy8gIH1cbi8vfVxuLy8uZmxiLWJsb2NrIHsgLy8gYm91dG9uIGR1IGZvcm11bGFpcmVcbi8vICAuYnV0dG9uLS1wcmltYXJ5IHtcbi8vICB9XG4vL31cblxuLy8vKioqKioqKioqKioqKiogQ1ctQ0FSRCAqKioqKioqKioqKioqKi9cbi8vLmN3LWNhcmQge1xuLy8gIC5idG4tcHJpbWFyeSB7XG4vLyAgfVxuLy99XG5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKiBCVE4gRVhFTVBMRSAqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLmJ0bi0wIHtcbiAgQGluY2x1ZGUgYnRuLWNvbG9yKCk7XG4gIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKDApO1xufVxuXG4uYnRuLTEge1xuICBAaW5jbHVkZSBidG4tY29sb3IoKTtcbiAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oMSwgJHByaW1hcnksICRwcmltYXJ5LWRhcmssIDEsIDEsICRwcmltYXJ5LWRhcmssICRwcmltYXJ5KTtcbn1cblxuLmJ0bi0yIHtcbiAgQGluY2x1ZGUgYnRuLWNvbG9yKCk7XG4gIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKDIpO1xufVxuXG4uYnRuLWltZyB7XG4gIEBpbmNsdWRlIGJ0bi1jb2xvcigpO1xuICBAaW5jbHVkZSBidG4taW1nKCRidG4taW1nLCAkYnRuLWltZy1ob3Zlcik7XG59XG5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKiogQlROIHBvdXIgRm9udCBBd2Vzb21lICoqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbltjbGFzcyo9XCJidG4tZmEtXCJdIHtcbiAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgd2lkdGg6IDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDJweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG4gIH1cbn1cblxuLmJ0bi1mYS1hbmdsZS1sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiO1xufVxuXG4uYnRuLWZhLWFuZ2xlLXJpZ2h0OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG59XG5cbi5idG4tZmEtYW5nbGUtY2VudGVyIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG4gIH1cbn1cblxuLmJ0bi1ncm91cC14cyA+IC5idG4sIC5idG4teHMge1xuICBwYWRkaW5nOiAuNHJlbSAuNXJlbTtcbiAgZm9udC1zaXplOiAuNjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAuNTtcbiAgYm9yZGVyLXJhZGl1czogLjJyZW07XG59XG5cbi8vIEJvdXRvbiBkZSBtb2RpZmljYXRpb25zXG4uYnRuLXdhcm5pbmcge1xuICBjb2xvcjogIzE4MTgxODtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyFpbXBvcnRhbnQ7XG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM5ZTAwO1xuICAgIGJvcmRlci1jb2xvcjogI2M2OTUwMDtcbiAgfVxufVxuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKiBCVE4gc2xpZGUgKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSh4cykge1xuICBib2R5IC5idG4tc2xpZGUge1xuICAgIG1pbi13aWR0aDogMjUwcHggIWltcG9ydGFudDtcbiAgICBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmJ0bi1zbGlkZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogNjJweDtcbiAgbWluLWhlaWdodDogNTBweDtcbiAgQGlmICRidG4tc2hhZG93IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAycHggM3B4IHJnYmEoJGJsYWNrLCAwLjE1KTtcbiAgfVxuICBzcGFuIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQsIHJpZ2h0IDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDJweDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBwYWRkaW5nOiA3LjVweDtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIGNvbnRlbnQ6XCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtM3B4O1xuICAgIGxlZnQ6IDBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICB9XG4gICY6aG92ZXIge1xuICAgIHNwYW4ge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAwLjJzIGVhc2UtaW4tb3V0LCByaWdodCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGNvbG9yOiAkd2hpdGUhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5idG4tc2xpZGUuYnRuLXNsaWRlLXdoaXRlIHtcbiAgY29sb3I6ICR3aGl0ZSFpbXBvcnRhbnQ7XG4gICY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG4gIH1cbn1cblxuLy8gw6AgdXRpbGlzZXIgc3VyIHVuZSBpbWFnZSAobG9nbyBwYXIgZXhlbXBsZSlcbi5idG4taW1nIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihmaWx0ZXIgMC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xuICBAaW5jbHVkZSBmaWx0ZXIoZHJvcC1zaGFkb3coMHB4IDZweCA2cHggcmdiYSgkYmxhY2ssIDAuMikpKTtcbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihmaWx0ZXIgMC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjA1KSk7XG4gICAgQGluY2x1ZGUgZmlsdGVyKGRyb3Atc2hhZG93KDBweCA2cHggMTJweCByZ2JhKCRibGFjaywgMC41KSkpO1xuICB9XG59XG4iLCIuaW1nLWNlbnRlciwgLmJveC1jZW50ZXIge1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuaW1nLXNtLWNlbnRlciwgLmJveC1zbS1jZW50ZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5pbWctc20tbGVmdCwgLmJveC1zbS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmltZy1zbS1yaWdodCwgLmJveC1zbS1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLm1kLWltZy1hcnRpY2xlIHtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICB9XG5cbiAgLmltZy1tZC1jZW50ZXIsIC5ib3gtbWQtY2VudGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuaW1nLW1kLWxlZnQsIC5ib3gtbWQtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5pbWctbWQtcmlnaHQsIC5ib3gtbWQtcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5sZy1pbWctYXJ0aWNsZSB7XG4gICAgbWF4LXdpZHRoOiA3OTBweDtcbiAgfVxuICAuaW1nLWxnLWNlbnRlciwgLmJveC1sZy1jZW50ZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5pbWctbGctbGVmdCwgLmJveC1sZy1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmltZy1sZy1yaWdodCwgLmJveC1sZy1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLmltZy14bC1jZW50ZXIsIC5ib3gteGwtY2VudGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuaW1nLXhsLWxlZnQsIC5ib3gteGwtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5pbWcteGwtcmlnaHQsIC5ib3gteGwtcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufSIsIi8qIC0tLS0tLS0tLS0tLSBQSUNUT1MgUEFSQUxMQVggLS0tLS0tLS0tLS0tICovXG4uY3ctaWJveCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4xcyBlYXNlLWluLW91dCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuICBwYWRkaW5nOiAyMHB4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgYmFja2dyb3VuZDogcmdiYShkYXJrZW4oJGJvZHktYmcsIDElKSwgMSk7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIyZGVnLCByZ2JhKGRhcmtlbigkYm9keS1iZywgMiUpLCAxKSAwJSwgcmdiYShkYXJrZW4oJGJvZHktYmcsIDAuNSUpLCAxKSA5MCUpO1xuICB9XG5cbiAgPiBoNCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgaDMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuc2VwYXJhdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIHNjYWxlKDEuMDMpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyBlYXNlLWluLW91dCk7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGc7XG4gIH1cblxuICB1bCwgcCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tIFpPT00gU1VSIElNQUdFIGI0MzEgLS0tLS0tLS0tLS0tICovXG4uY3ctbGF6eSB7IC8vTCdpbWFnZSBzb3J0IGRlIHNhIGRpdlxuICBpbWcge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQpO1xuICB9XG5cbiAgaW1nOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBzY2FsZSgxLjEpO1xuICB9XG59XG5cbi5jdy1sYXp5LWhpZGUgeyAvL0wnaW1hZ2UgbmUgc29ydCBwYXMgZGUgc2EgZGl2XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIC0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tICovXG4uY3ctbm8tYmVmb3JlLWFmdGVyIHtcbiAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY3ctY29udGVudCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAqIDI7XG4gIHBhZGRpbmc6IDIwcHg7XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgQGluY2x1ZGUgc2NhbGUoMS4xKTtcbiAgfVxufVxuXG4uY3ctYmxlbmQtbW9kZS1zY3JlZW4ge1xuICBtaXgtYmxlbmQtbW9kZTogc2NyZWVuOyAvL0EgdXRpbGlzZXIgc3VyIC5wbmcgcG91ciBzdXBwcmltZXIgZm9uZCwgbmUgcGFzIG1ldHRyZSBkZSBmYWRlSW4uXG59XG5cbi5jdy1ibGVuZC1tb2RlLWRhcmtlbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBkYXJrZW47IC8vQSB1dGlsaXNlciBzdXIgLnBuZyBwb3VyIHN1cHByaW1lciBmb25kLCBuZSBwYXMgbWV0dHJlIGRlIGZhZGVJblxufVxuXG4uY3ctYm94LTEwMCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3ctYm94cmFkaXVzLW5vbmUge1xuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY3ctYm94cmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4uY3ctYm94cmFkaXVzLTIge1xuICBib3JkZXItcmFkaXVzOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8vJGN3LWJveHJhZGl1cy14eHh4XG4kY3ctYm94cmFkaXVzLXh4eHg6IDEwMHB4O1xuLmN3LWJveHJhZGl1cy0xeDF4IHtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygjeyRjdy1ib3hyYWRpdXMteHh4eH0gLyAyKSAwIGNhbGMoI3skY3ctYm94cmFkaXVzLXh4eHh9IC8gMikgMCAhaW1wb3J0YW50O1xufVxuXG4uY3ctYm94cmFkaXVzLXgxeDEge1xuICBib3JkZXItcmFkaXVzOiAwIGNhbGMoI3skY3ctYm94cmFkaXVzLXh4eHh9IC8gMikgMCBjYWxjKCN7JGN3LWJveHJhZGl1cy14eHh4fSAvIDIpICFpbXBvcnRhbnQ7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLmN3LWJveHJhZGl1cy0xeDF4IHtcbiAgICBib3JkZXItcmFkaXVzOiAkY3ctYm94cmFkaXVzLXh4eHggMCAkY3ctYm94cmFkaXVzLXh4eHggMCAhaW1wb3J0YW50O1xuICB9XG4gIC5jdy1ib3hyYWRpdXMteDF4MSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAkY3ctYm94cmFkaXVzLXh4eHggMCAkY3ctYm94cmFkaXVzLXh4eHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy0tLS0tLVxuXG4uY3ctYm94c2hhZG93IHtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG59XG5cbi5jdy1ib3hzaGFkb3ctMSB7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtO1xufVxuXG4uY3ctYm94c2hhZG93LTIge1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZztcbn1cblxuLmN3LWRyb3Atc2hhZG93IHtcbiAgQGluY2x1ZGUgZmlsdGVyKGRyb3Atc2hhZG93KDBweCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTUpKSk7XG59XG5cbi5jdy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLmN3LXNxdWFyZSB7XG4gIGhlaWdodDogMjYwcHg7XG4gIHdpZHRoOiAyNjBweDtcbiAgbWF4LWhlaWdodDogODB2dztcbiAgbWF4LXdpZHRoOiA4MHZ3O1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5jdy1iZy1kcm9wX2ZpbHRlcl9ibHVyIHtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoJGJsdXItdmFsdWUpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoJGJsdXItdmFsdWUpO1xufVxuXG4uY3ctYm9yZGVyIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggcmdiYSgkZ3JheS0yMDAsIDAuNTIpICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1ib3JkZXItdG9wIHtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4IHJnYmEoJGdyYXktMjAwLCAxKSAhaW1wb3J0YW50O1xufVxuXG4uY3ctYm9yZGVyLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKCRncmF5LTIwMCwgMSkgIWltcG9ydGFudDtcbn1cblxuLmN3LWxpbmUtdmVydGljYWwge1xuICB3aWR0aDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRncmF5LTIwMCwgMSk7XG59XG5cbi5jdy1iZy1vbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xufVxuXG5cbi5jdy1iZy10d28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy10aHJlZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1vbmUgIWltcG9ydGFudDtcbn1cblxuLmN3LWJnLW9uZS10ciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRwcmltYXJ5LCAwLjIpICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy10d28tdHIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkc2Vjb25kYXJ5LCAwLjIpICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy10aHJlZS10ciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRiZy1vbmUsIDAuMikgIWltcG9ydGFudDtcbn1cblxuLmN3LWJnLXdoaXRlLXRyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjIpICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy1ibGFjay10ciwgLmN3LWJnLWRhcmstdHIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkYmxhY2ssIDAuMikgIWltcG9ydGFudDtcbn1cblxuLmN3LWJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy1ibGFjaywgLmN3LWJnLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbn1cblxuLmN3LWJnLWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDAgIWltcG9ydGFudDtcbn1cblxuLmN3LWJnLWltZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9waWN0by1iZy5wbmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5jdy1iZy1ncmFkaWVudC1vbmUge1xuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRwcmltYXJ5IDAlLCAkcHJpbWFyeS1kYXJrIDEwMCUpKTtcbn1cblxuLmN3LWJnLWdyYWRpZW50LXR3byB7XG4gIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJHNlY29uZGFyeSAwJSwgJHNlY29uZGFyeS1kYXJrIDEwMCUpKTtcbn1cblxuLmN3LWJnLWdyYWRpZW50LXRocmVlIHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkdGVydGlhcnkgMCUsICR0ZXJ0aWFyeS1kYXJrIDEwMCUpKTtcbn1cblxuLmN3LWJnLWdyYWRpZW50LXdoaXRlIHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkd2hpdGUgMCUsICRncmF5LTEwMCAxMDAlKSk7XG59XG5cbi5jdy1iZy1ncmFkaWVudC1ncmF5IHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkZ3JheS0xMDAgMCUsICRncmF5LTIwMCAxMDAlKSk7XG59XG5cbi5jdy1iZy1ncmFkaWVudC1kYXJrIHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkZ3JheS04MDAgMCUsICRncmF5LTkwMCAxMDAlKSk7XG59XG5cbltjbGFzcyo9XCJjdy1iZy1ncmFkaWVudC1cIl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xuICB9XG59XG5cbi5jdy1iZy1ncmFkaWVudC1vbmUtdHJhbnNwYXJlbnQ6YmVmb3JlIHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCRwcmltYXJ5LCAwLjYpIDAlLCByZ2JhKCRwcmltYXJ5LCAwLjYpIDEwMCUpKTtcbn1cblxuLmN3LWJnLWdyYWRpZW50LXR3by10cmFuc3BhcmVudDpiZWZvcmUge1xuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoJHNlY29uZGFyeSwgMC42KSAwJSwgcmdiYSgkc2Vjb25kYXJ5LCAwLjYpIDEwMCUpKTtcbn1cblxuLmN3LWJnLWdyYWRpZW50LXRocmVlLXRyYW5zcGFyZW50OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgkdGVydGlhcnksIDAuNikgMCUsIHJnYmEoJHRlcnRpYXJ5LCAwLjYpIDEwMCUpKTtcbn1cblxuLmN3LWJnLWdyYWRpZW50LXdoaXRlLXRyYW5zcGFyZW50OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgkd2hpdGUsIDAuNikgMCUsIHJnYmEoJHdoaXRlLCAwLjYpIDEwMCUpKTtcbn1cblxuLmN3LWJnLWdyYWRpZW50LWdyYXktdHJhbnNwYXJlbnQ6YmVmb3JlIHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCRncmF5LTIwMCwgMC42KSAwJSwgcmdiYSgkZ3JheS0yMDAsIDAuNikgMTAwJSkpO1xufVxuXG4uY3ctYmctZ3JhZGllbnQtZGFyay10cmFuc3BhcmVudDpiZWZvcmUge1xuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoJGJsYWNrLCAwLjYpIDAlLCByZ2JhKCRibGFjaywgMC42KSAxMDAlKSk7XG59XG5cbi5jdy1iZWZvcmUtYWZ0ZXItZnVsbCB7XG4gIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xufVxuXG4uY3ctZmlsdGVyLWJsYWNrOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgb3BhY2l0eTogMC41NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAvL0BpbmNsdWRlIGdyYWRpZW50LXZlcnRpY2FsKHRyYW5zcGFyZW50ICwgJGJsYWNrLCAwJSwgMTAwJSk7XG59XG5cblxuLmN3LWltZy1ncmF5c2NhbGUge1xuICBAaW5jbHVkZSBmaWx0ZXIoZ3JheXNjYWxlKDEpKTtcbn1cblxuLmN3LW5ld2xpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qIC0tLSBkaXNwbGF5IG5vbmUgYSBwYXJ0aXIgZGUgLi4uIGNmIHF1ZXJpZXMgLS0tICovXG4uZnJvbnQgLnhzLWZyLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ub3QtZnJvbnQgLnhzLW5mci1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AaW1wb3J0ICdxdWVyaWVzL2N3LWJveCc7XG4iLCJAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5jdy1pYm94IHtcbiAgICBwYWRkaW5nOiA1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLm1kLWltZy1hcnRpY2xlIHtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmxnLWltZy1hcnRpY2xlIHtcbiAgICBtYXgtd2lkdGg6IDc5MHB4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbn0iLCIvLyBUYWJsZWF1IHJlc3BvbnNpdmVcbi5jdy10YWJsZS1jb250YWluZXIge1xuICBwYWRkaW5nOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3ctdGFibGUtY29udGFpbmVyLWJnO1xuICBjb2xvcjogJGN3LXRhYmxlLWNvbnRhaW5lci1jb2xvcjtcblxuICBoMiB7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbiAgICBjb2xvcjogJGN3LXRhYmxlLWNvbnRhaW5lci1jb2xvcjtcbiAgfVxuXG4gIC5idG4ge1xuICAgIEBpbmNsdWRlIGJ0bi1jb2xvcigkYnRuLXR3by1mb250LWNvbG9yLCAkYnRuLXR3by1mb250LWNvbG9yLWhvdmVyKTtcbiAgICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigkYnRuLWJnLXRyYW5zaXRpb24sICRidG4tdHdvLWJnLCAkYnRuLXR3by1iZy1ob3ZlciwgJGJ0bi10d28tYmctb3BhY2l0eSwgJGJ0bi10d28tYmctb3BhY2l0eS1ob3Zlcik7XG4gICAgQGluY2x1ZGUgYnRuLWJvcmRlcigkYnRuLWJvcmRlci1oZWlnaHQsICRidG4tdHdvLWJvcmRlci1jb2xvciwgJGJ0bi10d28tYm9yZGVyLWNvbG9yLWhvdmVyLCAkYnRuLXR3by1ib3JkZXItY29sb3Itb3BhY2l0eSwgJGJ0bi10d28tYm9yZGVyLWNvbG9yLWhvdmVyLW9wYWNpdHkpO1xuICAgIHBhZGRpbmc6IDdweCA3cHg7XG4gIH1cblxuICB0aGVhZCB0ciB0ZCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuY3ctdGFibGUtbW9iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3ctdGFibGUtbW9iLWJnO1xuXG4gICAgdGJvZHkgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiAkY3ctdGFibGUtbW9iLWNvbG9yO1xuXG4gICAgICAmOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdy10YWJsZS1tb2ItYmctdHItY2hpbGRfb2RkO1xuICAgICAgfVxuXG4gICAgICB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwcHggMjBweCAxMHB4IDIwcHg7XG5cbiAgICAgICAgYnIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIC8vcGFkZGluZy10b3A6IDBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqKlRhYmxlYXUgY29tcGxleGUgLSBiZWZvcmUgLSBham91dGVyIGxhIGNsYXNzZSAuY3ctdGFibGUtY29tcGxleCAqKiovXG4kY29udGVudC1iZWZvcmUtY2hpbGRfMTogXCItIE1pbmkgLVwiO1xuJGNvbnRlbnQtYmVmb3JlLWNoaWxkXzI6IFwiLSBTdGFuZGFyZCAtXCI7XG4kY29udGVudC1iZWZvcmUtY2hpbGRfMzogXCItIEdyYW5kZSAtXCI7XG5cbi5jdy10YWJsZS1jb250YWluZXIgLmN3LXRhYmxlLWNvbXBsZXgge1xuICB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRib2R5IHRyIHRkIHtcbiAgICAmOm50aC1jaGlsZCgyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNvbnRlbnQtYmVmb3JlLWNoaWxkXzE7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMyk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjb250ZW50LWJlZm9yZS1jaGlsZF8yO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDQpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY29udGVudC1iZWZvcmUtY2hpbGRfMztcbiAgICB9XG4gIH1cbn1cblxuXG4ubm90LWJlZm9yZTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyAtLT4gQ2xhc3NlIMOgIGFqb3V0ZXIgYXUgSFRNTCBwb3VyIGVmZmFjZXIgbGVzIGJlZm9yZSBzdXIgbGVzIGNlbGx1bGVzIGF2ZWMgdW5lIGNvbmZpZ3VyYXRpb24gZGlmZsOpcmVudGVcblxuLyoqKiBEZXV4IHRhYmxlYXUgZGFucyB1bmUgY2FydGVfbWVudSAqKiovXG4uY3ctY29udGFpbmVyLXR3by10YWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLmN3LXRhYmxlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5jdy10YWJsZS1tb2IgdGJvZHkge1xuICAgIHRyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHRkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICAgIC8vcGFkZGluZzowcHghaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMjBweCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDU1JSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgYnIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTowcHghaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLyoqKlRhYmxlYXUgY29tcGxleGUgLSB0aGVhZCAtIGFqb3V0ZXIgbGEgY2xhc3NlIC5jdy10YWJsZS1jb21wbGV4ICoqKi9cbiAgLmN3LXRhYmxlLWNvbnRhaW5lciAuY3ctdGFibGUtY29tcGxleCB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICB9XG5cblxuICAvKioqIERldXggdGFibGVhdSBkYW5zIHVuZSBjYXJ0ZV9tZW51ICoqKi9cbiAgLmN3LWNvbnRhaW5lci10d28tdGFibGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAuY3ctdGFibGUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgICBtYXJnaW46IDBweDtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBURVhURSBDRU5UUkVSIFNVUiBJTUcgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLy8gSU5GTzogU3Vydm9sIGQndW5lIGltYWdlIGF2ZWMgdW4gYmFja2dyb3VuZC1jb2xvclxuLy8gUFJPSkVUIFJFRiA6IGh0dHBzOi8vZG9taW5vLmNsaWtlbi13ZWIuY29tL3Byb2plY3QvMjEyMFxuLy8gSFRNTCA6IDxkaXYgY2xhc3M9XCJpbWctaG92ZXJcIj48aW1nIGFsdD1cIlwiIGNsYXNzPVwiaW1nLXJlc3BvbnNpdmUgaW1nLWNlbnRlciBjdy1ib3hzaGFkb3dcIiBzcmM9XCIvc2l0ZXMvMjEyMGQ3MTgvZmlsZXMvY2VydGlmaWNhdEdJQS5qcGdcIiAvPjxhIGhyZWY9XCJcIj5Wb2lyIFBsdXMgKzwvYT48L2Rpdj5cbiNpbm5lci1wYWdlLXNlY3Rpb24gLmN3LWltZy1ob3ZlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdiYWNrZ3JvdW5kLWNvbG9yJywgcmdiYSgkc2Vjb25kYXJ5LCAwLjg2KSwgJHNlY29uZGFyeSk7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogTE9HT1MgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqICoqKioqKioqKioqKioqL1xuLnBhcmFncmFwaC0tdHlwZS0tYmxvYy1sb2dvLW11bHRpcGxlIHtcbiAgLnJvdyB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmNvbC1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjZyZW07XG4gIH1cblxuICAuY29sLWxvZ28tY2FwdGlvbl9vdXQuZmxleC1sZy1yb3cgLmxvZ28tY2FwdGlvbntcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgfVxuXG4gIC5sb2dvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgcGFkZGluZzogMjBweDtcblxuICAgICYubG9nby1zcXVhcmUge1xuICAgICAgbWluLWhlaWdodDogMjIwcHg7XG4gICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIH1cblxuICAgICYubG9nby1yZWN0YW5nbGUge1xuICAgICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5sb2dvLWNhcHRpb24ge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KHhzKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJsb2MtbG9nby1tdWx0aXBsZSB7XG4gICAgLmxvZ28ge1xuICAgICAgbWFyZ2luOiAxMHB4IDMwcHg7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbihzbSwgbGcpIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tYmxvYy1sb2dvLW11bHRpcGxlIHtcbiAgICAubG9nbyB7XG4gICAgICBtYXJnaW46IDJweCAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJsb2MtbG9nby1tdWx0aXBsZSB7XG4gICAgLmxvZ28taW1hZ2Uge1xuICAgICAgbWluLWhlaWdodDogNzFweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tYmxvYy1sb2dvLW11bHRpcGxlIHtcbiAgICAuY29sLXhsLTIuY3VzdG9tLWNvbC01IHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqICoqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBQSUNUT1MgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqICoqKioqKioqKioqKioqL1xuJGN3LXBpY3RvLWhlaWdodDogMjIwcHg7XG4kY3ctcGljdG8td2lkdGg6IDIyMHB4O1xuJGN3LXBpY3RvLXA6IDEyJTtcbi5jdy1waWN0b3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgJi5jdy1waWN0b3MtbXQtbGVnZW5kIHtcbiAgICAucGljdG8tbGVnZW5kZSB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7Ly9BY3RpdmVyIHNpIHRleHRlIGNlbnRlciB2ZXJ0aWNhbGVtZW50ICoqXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIC8vaGVpZ2h0OiA4MHB4Oy8vICoqXG4gICAgfVxuICB9XG5cbiAgLnBpY3RvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmaWxsOiAkd2hpdGU7XG4gICAgaGVpZ2h0OiAkY3ctcGljdG8taGVpZ2h0O1xuICAgIHdpZHRoOiAkY3ctcGljdG8td2lkdGg7XG4gICAgcGFkZGluZzogJGN3LXBpY3RvLXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvL2hlaWdodDogMTAwJTsgLy8gU2kgYmcgc3VyIC5waWN0byAoaW1nIGV0IHRleHRlIGF2ZWMgZm9uZClcblxuICAgIGltZyB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLnBpY3RvLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxMjlweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAucGljdG8tbGVnZW5kZSB7XG4gICAgbWF4LXdpZHRoOiAzMzBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8vY29sb3I6ICRkYXJrO1xuICAgIC8vQGluY2x1ZGUgdGV4dC1zaGFkb3coMHB4IDVweCA0cHggcmdiYSgwLCAwLCAwLCAwLjM2KSk7XG4gICAgYiB7XG4gICAgICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc2Vjb25kYXJ5LWZvbnQtd2VpZ2h0O1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICB9XG4gIH1cbn1cblxuLmN3LXBpY3Rvcy14cyB7XG4gID4gZGl2IHtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTQwcHg7XG5cbiAgICAucGljdG8ge1xuICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uY3ctcGljdG9zLXNtIHtcbiAgPiBkaXYge1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTYwcHg7XG5cbiAgICAucGljdG8ge1xuICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uY3ctcGljdG9zLW1kIHtcbiAgPiBkaXYge1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTgwcHg7XG5cbiAgICAucGljdG8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIH1cbiAgfVxufVxuXG4uY3ctcGljdG9zLWxnIHtcbiAgPiBkaXYge1xuICAgIG1hcmdpbjogMCAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMjAwcHg7XG5cbiAgICAucGljdG8ge1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uY3ctcGljdG9zLXJlY3RhbmdsZSB7XG4gID4gZGl2IHtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXG4gICAgLnBpY3RvIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDglO1xuICAgIH1cbiAgfVxufVxuXG4uYWxsLWltZy1ncmF5c2NhbGUge1xuICBpbWcge1xuICAgIEBpbmNsdWRlIGZpbHRlcihncmF5c2NhbGUoMTAwJSkpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC41cyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGZpbHRlcihncmF5c2NhbGUoMCUpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC41cyk7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogUFVaWkxFICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiAqKioqKioqKioqKioqKi9cbi8vIHB1enpsZSAzIGltYWdlcyDDoCBsYSBwbGFjZSBkZSBsJ2ltYWdlIHVuaXF1ZS5cbiRwdXp6bGUtaW1nLXdpZHRoOiA1MCU7XG4kcHV6emxlLWltZy1oZWlnaHQ6IDE5MHB4O1xuJHB1enpsZS1zcGFjZTogN3B4O1xuXG4kc3BhY2Vycy1wb3VyY2VudDogKCkgIWRlZmF1bHQ7XG4kc3BhY2Vycy1wb3VyY2VudDogbWFwLW1lcmdlKFxuICAgIChcbiAgICAgIDEwOiAxMCUsXG4gICAgICAyMDogMjAlLFxuICAgICAgMzA6IDMzLjMzJSxcbiAgICAgIDUwOiA1MCUsXG4gICAgICAxMDA6IDEwMCUsXG4gICAgKSxcbiAgICAkc3BhY2Vycy1wb3VyY2VudFxuKTtcblxuQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMtcG91cmNlbnQge1xuICAucHV6emxlLWltZy1oZWlnaHQtI3skc2l6ZX0ge1xuICAgICYuaW1nLWNvbnRlbnQge1xuICAgICAgaGVpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5wdXp6bGUtY29sLXdpZHRoLSN7JHNpemV9IHtcbiAgICB3aWR0aDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jdy1pbWdzLXB1enpsZSB7XG4gIC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5pbWctY29udGVudDpudGgtY2hpbGQobisyKSB7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYygjeyRwdXp6bGUtc3BhY2V9ICogMik7XG4gICAgfVxuXG4gICAgPiBkaXY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCN7JHB1enpsZS1zcGFjZX0gKiAyKTtcbiAgICB9XG4gIH1cblxuICAuaW1nLWJhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGN3LWltZy1zaG93LW1vcmUoJ1xcZjBiMicsIDEsIDIyNSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1kYW1pZXItY2FyZHM7XG4gICAgQGlmICRkYW1pZXItY2FyZHMtc2hhZG93IHtcbiAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjI3KTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIC5zaG93LW1vcmUge1xuICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjcpO1xuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1kYW1pZXItY2FyZHM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAxKTtcbiAgICB9XG4gIH1cblxuICAuY29sLXB1enpsZS0xLCAuY29sLXB1enpsZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMiAqICN7JHB1enpsZS1pbWctaGVpZ2h0fSk7XG4gIH1cblxuICAuY29sLXB1enpsZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMzg1cHggLyAyKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCN7JHB1enpsZS1zcGFjZX0gKiAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBSw6lzZWF1eCBzb2NpYXV4IGR1IGZvb3RlclxuLy9cbi8vIFNWRyA6IDxhIGhyZWY9XCIjXCIgdGFyZ2V0PVwiX2JsYW5rXCI+PGkgY2xhc3M9XCJzdmcgc3ZnLWJvb2tpbmdcIj48c3ZnIHZpZXdib3g9XCIwIDAgMy4wMzYgMy4wMzdcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xLjExMyAyLjUyNGgtLjUxdi0uNjFjMC0uMTMuMDUtLjIuMTYyLS4yMTRoLjM1YS4zOC4zOCAwIDAgMSAuNDEuNDExYzAgLjI2LS4xNTcuNDE1LS40MS40MTV6TS42MDIuODc1di0uMTZjMC0uMTQuMDYtLjIwOC4xOS0uMjE2aC4yNjJjLjIyNCAwIC4zNi4xMzQuMzYuMzYgMCAuMTctLjA5Mi4zNy0uMzUuMzdoLS40NnptMS4xNjQuNjFsLS4wOTItLjA1Mi4wOC0uMDdjLjA5NC0uMDguMjUtLjI2Mi4yNS0uNTc1IDAtLjQ4LS4zNzItLjc5LS45NDctLjc5aC0uNzNhLjMyLjMyIDAgMCAwLS4zMDkuMzE3djIuNzJIMS4wN2MuNjQgMCAxLjA1Mi0uMzQ4IDEuMDUyLS44ODggMC0uMjktLjEzMy0uNTQtLjM1OC0uNjY1XCIgZmlsbD1cIiNmZmZmZmZcIj48L3BhdGg+PHBhdGggZD1cIk0yLjI4OCAyLjY3YzAtLjIwMy4xNjMtLjM2Ny4zNjUtLjM2N3MuMzY3LjE2NC4zNjcuMzY3LS4xNjQuMzY3LS4zNjcuMzY3LS4zNjUtLjE2NC0uMzY1LS4zNjdcIiBmaWxsPVwiI2ZmZmZmZlwiPjwvcGF0aD48L3N2Zz48L2k+PC9hPlxuW2NsYXNzKj1cImN3LWZvbGxvdy11cy1cIl0ge1xuICBjb2xvcjogJGZvb3Rlci1jb2xvcjtcblxuICBhIHtcbiAgICBjb2xvcjogJGZvb3Rlci1jb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgYSA+IGkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIHdpZHRoOiAkYmxvYy1yZXNlYXV4LXdpZHRoLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRibG9jLXJlc2VhdXgtd2lkdGgtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRibG9jLXJlc2VhdXgtYmc7XG4gICAgY29sb3I6ICRibG9jLXJlc2VhdXgtY29sb3I7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRibG9jLXJlc2VhdXgtcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgkYmxhY2ssIDApO1xuXG4gICAgcGF0aCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGZpbGw6ICRibG9jLXJlc2VhdXgtY29sb3I7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsb2MtcmVzZWF1eC1iZy1ob3ZlcjtcbiAgICAgIGNvbG9yOiAkYmxvYy1yZXNlYXV4LWNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogMCA2cHggNnB4IDAgcmdiYSgkYmxhY2ssIDAuMSk7XG5cbiAgICAgIHBhdGgge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgZmlsbDogJGJsb2MtcmVzZWF1eC1jb2xvci1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhIGkuZmFiLCBhIC5zdmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGkgPiBzdmcge1xuICAgIHdpZHRoOiAyMXB4O1xuICAgIGhlaWdodDogMThweDsgLy8gYnVnIGlsIHkgYSB1biBkw6ljYWxsYWdlIGVudHJlIGxhIHRhaWxsZSBkdSBzdmcgZXQgbCdpbnRlcnByw6h0YXRpb24gZHUgbmF2aWdhdGV1clxuICAgIG1heC13aWR0aDogMTAwJTsgLy9maXJlZm94XG4gICAgbWF4LWhlaWdodDogMTAwJTsgLy9maXJlZm94XG4gICAgJjpob3ZlciwgJmZvY3VzIHtcbiAgICAgIGZpbGw6ICRibG9jLXJlc2VhdXgtY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi5jdy1mb2xsb3ctdXMtb25seSB7IC8vIFVuIHNldWwgcsOpc2VhdSBzb2NpYWxcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4yZW07XG59XG5cbi5jdy1mb2xsb3ctdXMtdmFyaW91cyB7IC8vIFBsdXNpZXVycyByw6lzZWF1eCBzb2NpYXV4XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuXG4gIC5jdy1mb2xsb3ctdXMtdmFyaW91cy1jb250ZW50IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uY3ctY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKClcbn1cblxuXG5AaW1wb3J0ICdxdWVyaWVzL2N3LW1vZGVsJztcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICB0YWJsZS5jdy10YWJsZS1yZXNwb25zaXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHItZXZlbi1iZztcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICB0ciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1ib3R0b206IDAuNXB4IGRhc2hlZCAkdHItZXZlbi1kYXNoO1xuICAgICAgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHRhYmxlLWJnIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuZnJvbnQgLnNtLWZyLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5ub3QtZnJvbnQgLnNtLW5mci1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuZnJvbnQgLm1kLWZyLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5ub3QtZnJvbnQgLm1kLW5mci1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuZnJvbnQgLmxnLWZyLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5ub3QtZnJvbnQgLmxnLW5mci1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIGh0dHBzOi8vd3d3LnNoYXBlZGl2aWRlci5hcHAvXG5cbi8qIC0xIG91IDEgcG91ciBvcmllbnRhdGlvbiBob3Jpem9udGFsIGRlIGxhIGZvcm1lICovXG4kc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYmVmb3JlOiAtMTsgLy8gaGF1dFxuJHNoYXBlLWRpdmlkZXItZGlyZWN0aW9uLWFmdGVyOiAxOyAvLyBiYXNcblxuJHNoYXBlLWRpdmlkZXItaGVhZGVyLWJnOiB0cmFuc3BhcmVudDtcbiRzaGFwZS1kaXZpZGVyLWhlYWRlci1oZWlnaHQteHM6IDI1cHg7XG4kc2hhcGUtZGl2aWRlci1oZWFkZXItaGVpZ2h0LWxnOiA3MHB4O1xuXG4kc2hhcGUtZGl2aWRlci1maXJzdC1iZzogdHJhbnNwYXJlbnQ7XG5cbiRzaGFwZS1kaXZpZGVyLW9wYWNpdHk6IDE7XG4kc2hhcGUtZGl2aWRlci1oZWlnaHQ6ICRzaGFwZS1kaXZpZGVyLWhlYWRlci1oZWlnaHQtbGc7XG5cbiRzaGFwZS1kaXZpZGVyLWp1bWJvdHJvbi1ib3R0b20tY29sb3I6ICRibG9jLWFjdHUtYmc7XG4kc2hhcGUtZGl2aWRlci1qdW1ib3Ryb24tYm90dG9tLW5vdC1mcm9udC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4kc2hhcGUtZGl2aWRlci1hY3R1YWxpdGUtYm90dG9tLWNvbG9yOiAkYm9keS1iZztcbiRzaGFwZS1kaXZpZGVyLXBhcmFsbGF4LXRvcC1jb2xvcjogJGZvcmNlcy1iZztcbiRzaGFwZS1kaXZpZGVyLXBhcmFsbGF4LWJvdHRvbS1jb2xvcjogJHJlZmVyZW5jZXMtYmc7XG4kc2hhcGUtZGl2aWRlci1tYXAtdG9wLWNvbG9yOiAkcmVnaW9uLWZvb3Rlci1zZWNvbmQtYmc7XG4kc2hhcGUtZGl2aWRlci1tYXAtYm90dG9tLWNvbG9yOiAkYm90dG9tLWJnO1xuXG4vKioqKioqKioqKioqKiogKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBCTE9DICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKiogKioqKioqKioqKioqKiovXG4vLyBoZWFkZXJcbkBpZiAkc2hhcGUtZGl2aWRlci1qdW1ib3Ryb24tYm90dG9tIHsgLy8gYmFzXG4gIC5wYXRoLWZyb250cGFnZSAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcigkc2hhcGUtZGl2aWRlci1oZWFkZXItYmcsICRzaGFwZS1kaXZpZGVyLWp1bWJvdHJvbi1ib3R0b20tY29sb3IsIDEsICRzaGFwZS1kaXZpZGVyLWhlYWRlci1oZWlnaHQtbGcpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYWZ0ZXIsIC0xKTtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICB9XG4gIH1cbiAgLm5vdC1mcm9udCAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcigkc2hhcGUtZGl2aWRlci1oZWFkZXItYmcsICRicmVhZGNydW1iLWJnLCAxLCAkc2hhcGUtZGl2aWRlci1oZWFkZXItaGVpZ2h0LWxnKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHNoYXBlLWRpdmlkZXItZGlyZWN0aW9uLWFmdGVyLCAtMSk7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIGFjdHVhbGl0w6lzXG4uYmxvYy1hY3R1YWxpdGVzIHtcbiAgQGlmICRzaGFwZS1kaXZpZGVyLWFjdHVhbGl0ZS1ib3R0b20geyAvLyBiYXNcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBzaGFwZS1kaXZpZGVyKCRzaGFwZS1kaXZpZGVyLWZpcnN0LWJnLCAkc2hhcGUtZGl2aWRlci1hY3R1YWxpdGUtYm90dG9tLWNvbG9yLCAkc2hhcGUtZGl2aWRlci1vcGFjaXR5LCAkc2hhcGUtZGl2aWRlci1oZWlnaHQpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYWZ0ZXIsLTEpO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBwYXJhbGxheFxuQGlmICRzaGFwZS1kaXZpZGVyLXBhcmFsbGF4LXRvcCB7IC8vIGhhdXRcbiAgLmJsb2NrLXBhcmFsbGF4LWZyb250IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcih0cmFuc3BhcmVudCwgJHNoYXBlLWRpdmlkZXItcGFyYWxsYXgtdG9wLWNvbG9yLCAkc2hhcGUtZGl2aWRlci1vcGFjaXR5LCAkc2hhcGUtZGl2aWRlci1oZWlnaHQpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYmVmb3JlLCAxKTtcbiAgICAgIHRvcDogLTFweDtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRzaGFwZS1kaXZpZGVyLXBhcmFsbGF4LWJvdHRvbSB7IC8vIGJhc1xuICAuYmxvY2stcGFyYWxsYXgtZnJvbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHNoYXBlLWRpdmlkZXIodHJhbnNwYXJlbnQsICRzaGFwZS1kaXZpZGVyLXBhcmFsbGF4LWJvdHRvbS1jb2xvciwgJHNoYXBlLWRpdmlkZXItb3BhY2l0eSwgJHNoYXBlLWRpdmlkZXItaGVpZ2h0KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHNoYXBlLWRpdmlkZXItZGlyZWN0aW9uLWFmdGVyLCAtMSk7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIGZvb3RlciBNQVBcbkBpZiAkc2hhcGUtZGl2aWRlci1tYXAtdG9wIHsgLy8gaGF1dFxuICAucmVnaW9uLWZvb3Rlci10aGlyZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcih0cmFuc3BhcmVudCwgJHNoYXBlLWRpdmlkZXItbWFwLXRvcC1jb2xvciwgJHNoYXBlLWRpdmlkZXItb3BhY2l0eSwgJHNoYXBlLWRpdmlkZXItaGVpZ2h0KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHNoYXBlLWRpdmlkZXItZGlyZWN0aW9uLWJlZm9yZSwgMSk7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkc2hhcGUtZGl2aWRlci1tYXAtYm90dG9tIHsgLy8gYmFzXG4gIC5yZWdpb24tZm9vdGVyLXRoaXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBzaGFwZS1kaXZpZGVyKHRyYW5zcGFyZW50LCAkc2hhcGUtZGl2aWRlci1tYXAtYm90dG9tLWNvbG9yLCAkc2hhcGUtZGl2aWRlci1vcGFjaXR5LCAkc2hhcGUtZGl2aWRlci1oZWlnaHQpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYWZ0ZXIsIC0xKTtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqICoqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIENMQVNTICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqICoqKioqKioqKioqKioqL1xuW2NsYXNzKj1cInNoYXBlLWRpdmlkZXItYm90dG9tLVwiXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICY6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTFweDtcbiAgfVxufVxuXG5bY2xhc3MqPVwic2hhcGUtZGl2aWRlci10b3AtXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgJjpiZWZvcmUge1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4uc2hhcGUtZGl2aWRlci10b3AtZG93bi1sciB7Ly8gSEFVVCBkZSBsYSBkaXZcbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHNoYXBlLWRpdmlkZXIoJHNoYXBlLWRpdmlkZXItZmlyc3QtYmcsICRiZy1vbmUsICRzaGFwZS1kaXZpZGVyLW9wYWNpdHksICRzaGFwZS1kaXZpZGVyLWhlaWdodCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgICBmaWxsOiAjMGU2OWJlO1xuICB9XG59XG5cbi5zaGFwZS1kaXZpZGVyLXRvcC11cC1sciB7Ly8gSEFVVCBkZSBsYSBkaXZcbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHNoYXBlLWRpdmlkZXIoJHNoYXBlLWRpdmlkZXItZmlyc3QtYmcsICRiZy1vbmUsICRzaGFwZS1kaXZpZGVyLW9wYWNpdHksICRzaGFwZS1kaXZpZGVyLWhlaWdodCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gIH1cbn1cblxuLnNoYXBlLWRpdmlkZXItYm90dG9tLWRvd24tbHIgey8vIEJBUyBkZSBsYSBkaXZcbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcigkc2hhcGUtZGl2aWRlci1maXJzdC1iZywgJGJnLW9uZSwgJHNoYXBlLWRpdmlkZXItb3BhY2l0eSwgJHNoYXBlLWRpdmlkZXItaGVpZ2h0KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAtMSk7XG4gIH1cbn1cblxuLnNoYXBlLWRpdmlkZXItYm90dG9tLXVwLXJsIHsvLyBCQVMgZGUgbGEgZGl2XG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHNoYXBlLWRpdmlkZXIoJHNoYXBlLWRpdmlkZXItZmlyc3QtYmcsICRiZy1vbmUsICRzaGFwZS1kaXZpZGVyLW9wYWNpdHksICRzaGFwZS1kaXZpZGVyLWhlaWdodCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gIH1cbn1cbiIsIi8vIENsYXNzIHBhZGRpbmcgZXQgbWFyZ2luIGVuIHB4XG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2Vycy0yIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2Vycy0yIHtcbiAgICAgIEBpZiBcIiN7JHNpemV9XCIgIT0gXCIwXCIge1xuICAgICAgICAubSN7JGluZml4fS1uI3skc2l6ZX0geyBtYXJnaW46IC0kbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm10I3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubXIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1iI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWwjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDbGFzcyBwYWRkaW5nIGV0IG1hcmdpbiBlbnRyZSByw6lnaW9uL2Jsb2MvYmxvY3MgZGUgdGV4dGVzXG4uY3ctcHQge1xuICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXM7XG59XG5cbi5jdy1wYiB7XG4gIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcztcbn1cblxuLmN3LXB5IHtcbiAgcGFkZGluZy10b3A6ICRiZXR3ZWVuLXpvbmVzO1xuICBwYWRkaW5nLWJvdHRvbTogJGJldHdlZW4tem9uZXM7XG4gIC5jdy1teTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAuY3ctbXk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uY3ctcHktMiB7XG4gIHBhZGRpbmctdG9wOiAkYmV0d2Vlbi16b25lcyAqIDAuNjU7XG4gIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcyAqIDAuNjU7XG4gIC5jdy1teS0yOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5jdy1teS0yOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmN3LW10IHtcbiAgbWFyZ2luLXRvcDogJGJldHdlZW4tem9uZXM7XG59XG5cbi5jdy1tYiB7XG4gIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzO1xufVxuXG4uY3ctbXkge1xuICBtYXJnaW4tdG9wOiAkYmV0d2Vlbi16b25lcztcbiAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXM7XG59XG5cbi5jdy1teS0yIHtcbiAgbWFyZ2luLXRvcDogJGJldHdlZW4tem9uZXMgKiAwLjY1O1xuICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcyAqIDAuNjU7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmN3LXB0IHtcbiAgICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXMtbGc7XG4gIH1cblxuICAuY3ctcGIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxuXG4gIC5jdy1weSB7XG4gICAgcGFkZGluZy10b3A6ICRiZXR3ZWVuLXpvbmVzLWxnO1xuICAgIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxuXG4gIC5jdy1weS0yIHtcbiAgICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXMtbGcgKiAwLjY1O1xuICAgIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZyAqIDAuNjU7XG4gIH1cblxuICAuY3ctbXQge1xuICAgIG1hcmdpbi10b3A6ICRiZXR3ZWVuLXpvbmVzLWxnO1xuICB9XG5cbiAgLmN3LW1iIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxuXG4gIC5jdy1teSB7XG4gICAgbWFyZ2luLXRvcDogJGJldHdlZW4tem9uZXMtbGc7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGc7XG4gIH1cblxuICAuY3ctbXktMiB7XG4gICAgbWFyZ2luLXRvcDogJGJldHdlZW4tem9uZXMtbGcgKiAwLjY1O1xuICAgIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLWxnICogMC42NTtcbiAgfVxufVxuIiwiLy8gRMOpY2FsbGFnZSBkZSBsJ2FuY3JlIGVuIGZvbmN0aW9uIGRlIGxhIG5hdmJhciAow6AgYWpvdXRlciBzdXIgbCdhbmNyZSlcbi5jdy1zY3JvbGwtbWFyZ2luLXRvcCB7XG4gIHNjcm9sbC1tYXJnaW4tdG9wOiBjYWxjKCN7JG5hdmJhci1oZWlnaHQteHN9ICsgI3skcGFyYWdyYXBoLW1hcmdpbi1ib3R0b219KTtcbn1cblxuZGl2LmN3LXNjcm9sbC1tYXJnaW4tdG9wIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmN3LXNjcm9sbC1tYXJnaW4tdG9wIHtcbiAgICBzY3JvbGwtbWFyZ2luLXRvcDogY2FsYygjeyRuYXZiYXItaGVpZ2h0LW1kfSArICN7JHBhcmFncmFwaC1tYXJnaW4tYm90dG9tfSk7XG4gIH1cbn1cblxuLy8gRGlzcGxheSBub25lIGVuIG5vdC1mcm9udFxuLmN3LWQtbm9uZS1uZiB7XG4gIC5ub3QtZnJvbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuY3ctZC1ub25lLWxnLW5mIHtcbiAgICAubm90LWZyb250IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEZsZXhcbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gIC5jdy1mbGV4LSN7JGl9IHtcbiAgICBmbGV4OiAkaSAhaW1wb3J0YW50O1xuICB9XG4gIC5ub3QtZnJvbnQgLmN3LWZsZXgtI3skaX0tbmYge1xuICAgIGZsZXg6ICRpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgIC5jdy1mbGV4LWxnLSN7JGl9IHtcbiAgICAgIGZsZXg6ICRpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ub3QtZnJvbnQgLmN3LWZsZXgtbGctI3skaX0tbmYge1xuICAgICAgZmxleDogJGkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIiRwdWNlLWJvcmRlci1jb2xvcjogI2ZmZjtcblxuLyogLS0tLS0tLS0tLS0tIEZPTlQgQ09MT1JTIC0tLS0tLS0tLS0tLSAqL1xuLmN3LXR4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XG59XG5cbi5jdy10eHQtc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICRzZWNvbmRhcnkgIWltcG9ydGFudDtcbn1cblxuLmN3LXR4dC13aGl0ZSB7XG4gIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmN3LXR4dC1ib2R5IHtcbiAgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi5jdy10eHQtZGFyayB7XG4gIGNvbG9yOiAkZGFyayAhaW1wb3J0YW50O1xufVxuXG4uY3ctdHh0LWJsYWNrIHtcbiAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLSAqL1xuXG4uY3ctZm9udC1iYXNlIHtcbiAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1mb250LWxvdWQge1xuICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseSAhaW1wb3J0YW50O1xufVxuXG4uY3ctdHh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jdy10eHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLmN3LXR4dC1jYXBpdGFsaXplOjpmaXJzdC1sZXR0ZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLmN3LXR4dC11cCB7XG4gIGZvbnQtc2l6ZTogMS41ZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50O1xufVxuXG4uY3ctdHh0LXVwLTIge1xuICBmb250LXNpemU6IDEuMzVlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7XG59XG5cbi5jdy10eHQtdXAtMyB7XG4gIGZvbnQtc2l6ZTogMS4yZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50O1xufVxuXG4uY3ctdHh0LXNoYWRvdyB7XG4gIEBpbmNsdWRlIHRleHQtc2hhZG93KDBweCA1cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4zNikpO1xufVxuXG4ueHMtdGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xufVxuXG4ueHMtdGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnhzLXRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uY3ctdW5kZXJsaW5lLWJlZm9yZSB7XG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkbGluZS10aXRsZS1jb2xvcik7XG4gIH1cbiAgJi50ZXh0LWxlZnQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uY3ctdW5kZXJsaW5lLWFmdGVyIHtcbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGxpbmUtdGl0bGUtY29sb3IpO1xuICB9XG4gICYudGV4dC1sZWZ0OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uY3ctbGluZS1iYWNrZ3JvdW5kIHsgLy9tZXR0cmUgdW5lIHNwYW4gZXQgbHVpIGFqb3V0ZXIgbGEgY2xhc3MgYWZpbiBkZSBuZSBwYXMgcGVyZHJlIGxlIGNlbnRyYWdlIGV0IG1hcmdlc1xuICBAaW5jbHVkZSBsaW5lLWJhY2tncm91bmQoJGxpbmUtdGl0bGUtY29sb3IpO1xufVxuXG4uY3ctcHVjZS11bmRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9wdWNlLWgxLnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbn1cblxuLmN3LWJvcmRlci1sZWZ0IHtcbiAgQGluY2x1ZGUgYWZ0ZXJfbGVmdF9yaWdodC1ib3JkZXIoJGxpbmUtdGl0bGUtY29sb3IsIGxlZnQpO1xufVxuXG4uY3ctYm9yZGVyLXJpZ2h0IHtcbiAgQGluY2x1ZGUgYWZ0ZXJfbGVmdF9yaWdodC1ib3JkZXIoJGxpbmUtdGl0bGUtY29sb3IsIHJpZ2h0KTtcbn1cblxuLmZpZWxkLS1uYW1lLWJvZHkgdWw6bm90KFtjbGFzcyo9XCJjdy1pbmxpbmUtdWxcIl0pIHtcbiAgQGluY2x1ZGUgY3ctbGlzdC11bCgpO1xuICA+IGxpID4gdWwgPiBsaTpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxudWwuY3ctaW5saW5lLXVsIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOm50aC1jaGlsZChldmVuKSBhIHtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjExMVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIGEge1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIH1cbiAgfVxufVxuXG4jcGFnZS1oZWFkZXIgaS5jdy1mYS1iZy1jaXJjbGUge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6ICRzZWNvbmRhcnk7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG5cbiAgJjpob3ZlciwgJjphZnRlciB7XG4gICAgY29sb3I6ICRwcmltYXJ5O1xuICB9XG59XG5cbkBpbXBvcnQgJ3F1ZXJpZXMvY3ctdHh0JztcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLnNtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zbS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmN3LWxpc3Qtc20ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgIHdpZHRoOiA0NSU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLm1kLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZC10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmxnLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmxnLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmxnLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5sZy10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgLnhsLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnhsLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnhsLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC54bC10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBDaWJsZSBsZXMgY2xhc3MgXCJlbmZhbnRzXCJcbi5jdy1jaGlsZHJlbi1wID4gKiB7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG5cbi5jdy1jaGlsZHJlbi1tID4gcCB7XG4gIG1hcmdpbjogJHNwYWNlciAwO1xufVxuXG4udGV4dC1hbGlnbi1jZW50ZXIgLmN3LWNoaWxkcmVuLWhyLXcxMDAgPiBociB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi50ZXh0LWFsaWduLXJpZ2h0IC5jdy1jaGlsZHJlbi1oci13MTAwID4gaHIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uY3ctY2hpbGRyZW4taHItdzEwMCA+IGhyIHtcbiAgbWF4LXdpZHRoOiAxMDBweDtcbiAgbWFyZ2luLXRvcDogJHNwYWNlcjtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmN3LWNoaWxkcmVuLWJveHNoYWRvdyA+ICp7XG4gIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjIsIDBweCwgMHB4LCAyNXB4LCAwcHgpO1xufVxuXG4vLyDDgCB1dGlsaXNlciBnw6luw6lyYWxlbWVudCBzdXIgbGEgcm93IGQndW5lIHN0cnVjdHVyZSBib290c3RyYXAgLnJvdyA+IC5jb2wgPiAuY29udGVudFxuLy8gQ2libGUgbGVzIGNsYXNzIFwiLmNvbnRlbnRcIlxuLmN3LWNoaWxkcmVuLWNvbnRlbnQtYmctb25lIC5jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG59XG5cbi5jdy1jaGlsZHJlbi1jb250ZW50LWJnLXR3byAuY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG59XG5cbi5jdy1jaGlsZHJlbi1jb250ZW50LWJnLXRocmVlIC5jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWdyYXk7XG59XG5cbi5jdy1jaGlsZHJlbi1jb250ZW50LWJnLXdoaXRlIC5jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4uY3ctY2hpbGRyZW4tY29udGVudC1iZy1ncmF5IC5jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwO1xufVxuXG4uY3ctY2hpbGRyZW4tY29udGVudC1iZy1ibGFjayAuY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbn1cblxuLmN3LWNoaWxkcmVuLWNvbnRlbnQtaDEwMCAuY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uY3ctY2hpbGRyZW4tY29udGVudC1wIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1jaGlsZHJlbi1jb250ZW50LXAgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDUwcHg7XG4gIH1cbn1cblxuLmN3LWNoaWxkcmVuLWNvbnRlbnQtc2hhZG93IC5jb250ZW50IHtcbiAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4yKTtcbn1cblxuLmN3LWNoaWxkcmVuLWNvbnRlbnQtcmFkaXVzIC5jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMpO1xufVxuXG4vL1xuLmN3LWNoaWxkcmVuLXF1aW5jdW54LW1kIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5jdy1jaGlsZHJlbi1xdWluY3VueC1tZCB7XG4gICAgPiBkaXY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICA+IGRpdjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vaHR0cHM6Ly9iZW5uZXR0ZmVlbHkuY29tL2NsaXBweS9cblxuLmN3LWNsaXAtcGF0aC1jaXJjbGUge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgoY2lyY2xlKDUwJSBhdCA1MCUgNTAlKSk7XG59XG5cbi5jdy1jbGlwLXBhdGgtdHJpYW5nbGUge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSkpO1xufVxuXG4uY3ctY2xpcC1wYXRoLWxvc2FuZ2Uge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbig1MCUgMCUsIDEwMCUgNTAlLCA1MCUgMTAwJSwgMCUgNTAlKSk7XG59XG5cbi5jdy1jbGlwLXBhdGgtZXRvaWxlIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oNTAlIDAlLCA2MSUgMzUlLCA5OCUgMzUlLCA2OCUgNTclLCA3OSUgOTElLCA1MCUgNzAlLCAyMSUgOTElLCAzMiUgNTclLCAyJSAzNSUsIDM5JSAzNSUpKTtcbn1cblxuLmN3LWNsaXAtcGF0aC1oZXhhZ29uIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oNTAlIDAsIDEwMCUgMjclLCAxMDAlIDczJSwgNTAlIDEwMCUsIDAgNzMlLCAwIDI3JSkpO1xufVxuXG4uY2xpcC1wYXRoLTEtZG91YmxlIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCA1JSwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgOTUlKSk7XG59XG5cbi5jbGlwLXBhdGgtMi1kb3VibGUge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDEwMCUgNSUsIDEwMCUgOTUlLCAwIDEwMCUpKTtcbn1cblxuLmNsaXAtcGF0aC0zLWRvdWJsZS1wYXJhbGxlbGUge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDUlLCAxMDAlIDAsIDEwMCUgOTUlLCAwJSAxMDAlKSk7XG59XG5cbi5jbGlwLXBhdGgtYm90dG9tLXVwLWxyIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgOTUlLCAwIDEwMCUpKTtcbn1cblxuLmNsaXAtcGF0aC1ib3R0b20tZG93bi1sciB7XG4gIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgOTUlKSk7XG59XG5cbi5jbGlwLXBhdGgtdG9wLXVwLWxyIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCA1JSwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSkpO1xufVxuXG4uY2xpcC1wYXRoLXRvcC1kb3duLWxyIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDUlLCAxMDAlIDEwMCUsIDAlIDEwMCUpKTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuY2xpcC1wYXRoLTEtZG91YmxlIHtcbiAgICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDEyJSwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgODglKSk7XG4gIH1cbiAgLmNsaXAtcGF0aC0yLWRvdWJsZSB7XG4gICAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDEyJSwgMTAwJSA4OCUsIDAgMTAwJSkpO1xuICB9XG4gIC5jbGlwLXBhdGgtMy1kb3VibGUtcGFyYWxsZWxlIHtcbiAgICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDEyJSwgMTAwJSAwLCAxMDAlIDg4JSwgMCUgMTAwJSkpO1xuICB9XG4gIC5jbGlwLXBhdGgtYm90dG9tLXVwLWxyIHtcbiAgICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSA4OCUsIDAgMTAwJSkpO1xuICB9XG4gIC5jbGlwLXBhdGgtYm90dG9tLWRvd24tbHIge1xuICAgIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgODglKSk7XG4gIH1cbiAgLmNsaXAtcGF0aC10b3AtdXAtbHIge1xuICAgIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgMTIlLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCAxMDAlKSk7XG4gIH1cbiAgLmNsaXAtcGF0aC10b3AtZG93bi1sciB7XG4gICAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDEyJSwgMTAwJSAxMDAlLCAwJSAxMDAlKSk7XG4gIH1cbn0iLCIubm9kZS0tdHlwZS1nYWxlcmllLCAuZ2FsZXJpZS1zZWN0aW9uIHtcbiAgLmZpZWxkLS10eXBlLWltYWdlLmZpZWxkX19pdGVtLCAuZmllbGQtLXR5cGUtaW1hZ2UgLmZpZWxkX19pdGVtIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpZiAkZGFtaWVyLWNhcmRzLXNoYWRvdyB7XG4gICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4xNSwgMHB4LCAwLjVyZW0sIDFyZW0sIDBweCk7XG4gICAgfVxuICB9XG59XG5cbi5maWVsZC0tdHlwZS1pbWFnZS5maWVsZF9faXRlbSwgLmZpZWxkLS10eXBlLWltYWdlIC5maWVsZF9faXRlbSB7XG4gIC5jb2xvcmJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgY3ctaW1nLXNob3ctbW9yZSgnXFxmMGIyJywgMSwgMjI1KTtcbiAgfVxufVxuXG4uY29sb3Jib3guY29sb3Jib3gtem9vbSB7XG4gIC5pY29uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSAhaW1wb3J0YW50O1xuICB9XG4gIC5pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjAwMicgIWltcG9ydGFudDtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMikpO1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEpIGJsdXIoMHB4KTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICAuc2hvdy1tb3JlIHtcbiAgICAgIC5pY29uOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMikgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2Nib3hPdmVybGF5IHtcbiAgb3BhY2l0eTogMC45NSFpbXBvcnRhbnQ7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRwcmltYXJ5LCAxNSUpO1xufVxuI2NvbG9yYm94IHtcbiAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICNjYm94V3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgI2Nib3hDb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRjb2xvcmJveC1mb250O1xuICAgICAgZm9udC1zaXplOiAkY29sb3Jib3gtZm9udC1zaXplO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAzLjEyNWVtIHJnYmEoMCwgMCwgMCwgLjk1KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIH1cbiAgICAgICNjYm94TG9hZGVkQ29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgI2Nib3hMb2FkaW5nT3ZlcmxheSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwZDBkMGQ7XG4gICAgICB9XG4gICAgICAjY2JveFRpdGxlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgICAgIGNvbG9yOiAkZ3JheS02MDA7XG4gICAgICAgIHBhZGRpbmc6IDdweCA1cHg7XG4gICAgICB9XG4gICAgICAjY2JveExvYWRpbmdHcmFwaGljIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIGFuaW1hdGlvbjogZmEtc3BpbiA1cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgY29udGVudDogXCJcXGYxMTBcIjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICAgICAgY29sb3I6ICRncmF5LTYwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnV0dG9uI2Nib3hQcmV2aW91cywgYnV0dG9uI2Nib3hOZXh0LCBidXR0b24jY2JveENsb3NlIHtcbiAgICAgICAgYm90dG9tOiAtMzRweDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICAgICNjYm94Q3VycmVudCB7XG4gICAgICAgIGJvdHRvbTogLTMycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKiogRkxFQ0hFUyBDT0xPUkJPWCAqKioqKioqKioqKioqL1xuXG4jY2JveEN1cnJlbnQsICNjYm94Q2xvc2Uge1xuICBib3R0b206IC0xcHg7XG59XG5cbmJ1dHRvbiNjYm94UHJldmlvdXMsXG5idXR0b24jY2JveE5leHQsXG5idXR0b24jY2JveENsb3NlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IHVuc2V0O1xuICB0ZXh0LWluZGVudDogdW5zZXQ7XG4gIGJvdHRvbTogLTRweDtcblxuICAmOjphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgZnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgY29sb3I6ICRncmF5LTcwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuYnV0dG9uI2Nib3hQcmV2aW91cyB7XG4gIGxlZnQ6IC0zNHB4O1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjBhOFwiO1xuICB9XG59XG5cbmJ1dHRvbiNjYm94TmV4dCB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjBhOVwiO1xuICB9XG59XG5cbiNjYm94Q3VycmVudCB7XG4gIGxlZnQ6IDc0cHg7XG4gIGNvbG9yOiAkZ3JheS02MDA7XG59XG5cbmJ1dHRvbiNjYm94Q2xvc2Uge1xuICB3aWR0aDogdW5zZXQ7XG4gIHJpZ2h0OiAycHg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG4gIH1cbn1cblxuIiwiJGZvcm0tYW5pbS1zaXplOiAxcHg7XG5cbkBpZiAkZm9ybS1hbmltLWxpbmUgPT0gYWxsIGFuZCAkcmFkaXVzLWJ0biAhPSAwIHsgLy8gc2kgcmFkaXVzIG9ibGlnYXRvaXJlbWVudCBib3R0b21cbiAgJGZvcm0tYW5pbS1saW5lOiBib3R0b207XG59XG5cbkBpZiAkZm9ybS1hbmltLWxpbmUgPT0gYm90dG9tIE9SICRmb3JtLWFuaW0tbGluZSA9PSBhbGwge1xuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ge1xuICAgIC5mb3JtLXR5cGUtc2VsZWN0IC5jb250YWluZXItZmllbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lci1maWVsZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyAuY29udGFpbmVyLWZpZWxkIHtcbiAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgIH1cblxuICAgIFtjbGFzcyo9XCJmaWVsZC1hbmltLVwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRsaW5lLWZvcm0tY29sb3IsICRsaW5lLWZvcm0tY29sb3Itb3BhY2l0eSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAwLjI1cyBlYXNlKTtcbiAgICB9XG5cbiAgICBAaWYgJGZvcm0tYW5pbS1saW5lID09IGJvdHRvbSB7XG4gICAgICAuZmllbGQtYW5pbS1ib3R0b20ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogJGZvcm0tYW5pbS1zaXplO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGJvdHRvbSwgcmlnaHQpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDApKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC41cyBlYXNlKTtcbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW5lci1maWVsZCB7XG4gICAgICAgIGlucHV0Om5vdCguZm9ybS1maWxlKSwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zm9jdXMgfiAuZmllbGQtYW5pbS1ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihib3R0b20sIGxlZnQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgxKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRmb3JtLWFuaW0tbGluZSA9PSBhbGwge1xuICAgICAgLmNvbnRhaW5lci1maWVsZCB7XG4gICAgICAgIGlucHV0Om5vdCguZm9ybS1maWxlKSwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQpO1xuXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zm9jdXMgfiAuZmllbGQtYW5pbS1ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihib3R0b20sIGxlZnQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgxKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpmb2N1cyB+IC5maWVsZC1hbmltLXJpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oYm90dG9tLCByaWdodCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVZKDEpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZvY3VzIH4gLmZpZWxkLWFuaW0tdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wLCByaWdodCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDEpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZvY3VzIH4gLmZpZWxkLWFuaW0tbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHRvcCwgbGVmdCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVZKDEpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWFuaW0tYm90dG9tLFxuICAgICAgLmZpZWxkLWFuaW0tdG9wIHtcbiAgICAgICAgaGVpZ2h0OiAkZm9ybS1hbmltLXNpemU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDApKTtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWFuaW0tbGVmdCxcbiAgICAgIC5maWVsZC1hbmltLXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6ICRmb3JtLWFuaW0tc2l6ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZVkoMCkpO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtYW5pbS1ib3R0b20ge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oYm90dG9tLCByaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1hbmltLXJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wLCByaWdodCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoMC4yMHMpO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtYW5pbS10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wLCBsZWZ0KTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kZWxheSgwLjMwcyk7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1hbmltLWxlZnQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGJvdHRvbSwgbGVmdCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoMC40MHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ibG9jay13Zi1jb250YWN0IFtjbGFzcyo9XCJmaWVsZC1hbmltLVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGluZS1mb3JtLWNvbG9yLWJsb2NrLWNvbnRhY3QsICRsaW5lLWZvcm0tY29sb3Itb3BhY2l0eSk7XG4gIH1cblxuICAuZmxiLWJsb2NrIFtjbGFzcyo9XCJmaWVsZC1hbmltLVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGluZS1mb3JtLWNvbG9yLWJsb2NrLWZsb2F0LCAkbGluZS1mb3JtLWNvbG9yLW9wYWNpdHkpO1xuICB9XG59XG5cbi8vIFBhcyBkZSBmb25kIGp1c3RlIHVuZSBib3JkdXJlIGVuIGJvdHRvbVxuQGlmICRmb3JtLWFuaW0tbGluZSA9PSBcImJvcmRlclwiIE9SICRmb3JtLWFuaW0tbGluZSA9PSBcImJvcmRlci1ib3R0b21cIiB7XG4gIC5mb3JtLWNvbnRyb2w6bm90KFtjbGFzcyo9XCJidXR0b25cIl0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICN7JGZvcm0tYW5pbS1saW5lfTogc29saWQgJGZvcm0tYW5pbS1zaXplIHJnYmEoJGxpbmUtZm9ybS1jb2xvciwgJGxpbmUtZm9ybS1jb2xvci1vcGFjaXR5KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgLmJsb2NrLXdmLWNvbnRhY3Qge1xuICAgIC5mb3JtLWNvbnRyb2w6bm90KFtjbGFzcyo9XCJidXR0b25cIl0pIHtcbiAgICAgICN7JGZvcm0tYW5pbS1saW5lfTogc29saWQgJGZvcm0tYW5pbS1zaXplIHJnYmEoJGxpbmUtZm9ybS1jb2xvci1ibG9jay1jb250YWN0LCAkbGluZS1mb3JtLWNvbG9yLW9wYWNpdHkpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBbmltYXRpb25zIGZyb20gQW5pbWF0ZS5jc3Ncbi8vIEF1dGhvciA6IERhbiBFZGVuXG4vLyBVUkwgICAgOiBodHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlL1xuLy9cbi8vIEF0dGVudGlvbiBzZWVrZXJzXG4vLyAgLSBmbGFzaCBib3VuY2Ugc2hha2UgdGFkYSBzd2luZyB3b2JibGUgcHVsc2Vcbi8vIEZhZGluZyBlbnRyYW5jZXNcbi8vICAtIGZhZGVJbiBmYWRlSW5VcCBmYWRlSW5Eb3duIGZhZGVJbkxlZnQgZmFkZUluUmlnaHQgZmFkZUluVXBCaWcgZmFkZUluRG93bkJpZyBmYWRlSW5MZWZ0QmlnIGZhZGVJblJpZ2h0QmlnXG4vLyBGYWRpbmcgZXhpdHNcbi8vICAtIGZhZGVPdXQgZmFkZU91dFVwIGZhZGVPdXREb3duIGZhZGVPdXRMZWZ0IGZhZGVPdXRSaWdodCBmYWRlT3V0VXBCaWcgZmFkZU91dERvd25CaWcgZmFkZU91dExlZnRCaWcgZmFkZU91dFJpZ2h0QmlnXG4vLyBCb3VuY2luZyBlbnRyYW5jZXNcbi8vICAtIGJvdW5jZUluIGJvdW5jZUluRG93biBib3VuY2VJblVwIGJvdW5jZUluTGVmdCBib3VuY2VJblJpZ2h0XG4vLyBCb3VuY2luZyBleGl0c1xuLy8gIC0gYm91bmNlT3V0IGJvdW5jZU91dERvd24gYm91bmNlT3V0VXAgYm91bmNlT3V0TGVmdCBib3VuY2VPdXRSaWdodFxuLy8gUm90YXRpbmcgZW50cmFuY2VzXG4vLyAgLSByb3RhdGVJbiByb3RhdGVJbkRvd25MZWZ0IHJvdGF0ZUluRG93blJpZ2h0IHJvdGF0ZUluVXBMZWZ0IHJvdGF0ZUluVXBSaWdodFxuLy8gUm90YXRpbmcgZXhpdHNcbi8vICAtIHJvdGF0ZU91dCByb3RhdGVPdXREb3duTGVmdCByb3RhdGVPdXREb3duUmlnaHQgcm90YXRlT3V0VXBMZWZ0IHJvdGF0ZU91dFVwUmlnaHRcbi8vIExpZ2h0c3BlZWRcbi8vICAtIGxpZ2h0U3BlZWRJbiBsaWdodFNwZWVkT3V0XG4vLyBTcGVjaWFsc1xuLy8gIC0gaGluZ2Ugcm9sbEluIHJvbGxPdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImNvcmVcIjtcbkBpbXBvcnQgXCJhbmltYXRlL2F0dGVudGlvbi1zZWVrZXJzXCI7XG5AaW1wb3J0IFwiYW5pbWF0ZS9ib3VuY2luZ1wiO1xuQGltcG9ydCBcImFuaW1hdGUvZmFkaW5nXCI7XG5AaW1wb3J0IFwiYW5pbWF0ZS9mbGlwcGVyc1wiO1xuQGltcG9ydCBcImFuaW1hdGUvbGlnaHRzcGVlZFwiO1xuQGltcG9ydCBcImFuaW1hdGUvcm90YXRpbmdcIjtcbkBpbXBvcnQgXCJhbmltYXRlL3NwZWNpYWxzXCI7XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENTUyBBbmltYXRpb25zLlxuXG4vLyBBcHBseSBhbiBhbmltYXRpb24gcHJvcGVydHkgYW5kIHZhbHVlIHdpdGggdGhlIGNvcnJlY3QgYnJvd3NlciBzdXBwb3J0XG5AbWl4aW4gYW5pbWF0aW9uLXN1cHBvcnQoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLCAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QgLWtodG1sLCBvZmZpY2lhbCk7IH1cblxuLy8gTmFtZSBvZiBhbnkgYW5pbWF0aW9uIGFzIGEgc3RyaW5nLlxuJGRlZmF1bHQtYW5pbWF0aW9uLW5hbWUgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRHVyYXRpb24gb2YgdGhlIGVudGlyZSBhbmltYXRpb24gaW4gc2Vjb25kcy5cbiRkZWZhdWx0LWFuaW1hdGlvbi1kdXJhdGlvbiAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERlbGF5IGZvciBzdGFydCBvZiBhbmltYXRpb24gaW4gc2Vjb25kcy5cbiRkZWZhdWx0LWFuaW1hdGlvbi1kZWxheSAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSB0aW1pbmcgZnVuY3Rpb24ocykgdG8gYmUgdXNlZCBiZXR3ZWVuIGtleWZyYW1lcy4gW2Vhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigkbnVtYmVyLCAkbnVtYmVyLCAkbnVtYmVyLCAkbnVtYmVyKV1cbiRkZWZhdWx0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBudW1iZXIgb2YgdGltZXMgYW4gYW5pbWF0aW9uIGN5Y2xlIGlzIHBsYXllZC4gW2luZmluaXRlIHwgJG51bWJlcl1cbiRkZWZhdWx0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdoZXRoZXIgb3Igbm90IHRoZSBhbmltYXRpb24gc2hvdWxkIHBsYXkgaW4gcmV2ZXJzZSBvbiBhbHRlcm5hdGUgY3ljbGVzLiBbbm9ybWFsIHwgYWx0ZXJuYXRlXVxuJGRlZmF1bHQtYW5pbWF0aW9uLWRpcmVjdGlvbiAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2hhdCB2YWx1ZXMgYXJlIGFwcGxpZWQgYnkgdGhlIGFuaW1hdGlvbiBvdXRzaWRlIHRoZSB0aW1lIGl0IGlzIGV4ZWN1dGluZy4gW25vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhdXG4kZGVmYXVsdC1hbmltYXRpb24tZmlsbC1tb2RlICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXaGV0aGVyIHRoZSBhbmltYXRpb24gaXMgcnVubmluZyBvciBwYXVzZWQuIFtydW5uaW5nIHwgcGF1c2VkXVxuJGRlZmF1bHQtYW5pbWF0aW9uLXBsYXktc3RhdGUgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQ3JlYXRlIGEgbmFtZWQgYW5pbWF0aW9uIHNlcXVlbmNlIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gZWxlbWVudHMgbGF0ZXIuXG4vL1xuLy8gICAgICRuYW1lICAgIC0gVGhlIG5hbWUgb2YgeW91ciBhbmltYXRpb24uXG4vLyAgICAgQGNvbnRlbnQgLSBUaGUga2V5ZnJhbWVzIG9mIHRoZSBhbmltYXRpb24uXG5AbWl4aW4ga2V5ZnJhbWVzKFxuICAkbmFtZSxcbiAgJG1vejogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLFxuICAkd2Via2l0OiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCxcbiAgJG86ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtczogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsXG4gICRraHRtbDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsOiB0cnVlXG4pIHtcbiAgQGlmICRtb3oge1xuICAgIEBpbmNsdWRlIHdpdGgtb25seS1zdXBwb3J0LWZvcigkbW96OiB0cnVlKSB7XG4gICAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuICAgIH1cbiAgfVxuICBAaWYgJHdlYmtpdCB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCR3ZWJraXQ6IHRydWUpIHtcbiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7IEBjb250ZW50OyB9XG4gICAgfVxuICB9XG4gIEBpZiAkbyB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCRvOiB0cnVlKSB7XG4gICAgICBALW8ta2V5ZnJhbWVzICN7JG5hbWV9IHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gIH1cbiAgQGlmICRtcyB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCRtczogdHJ1ZSkge1xuICAgICAgQC1tcy1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuICAgIH1cbiAgfVxuICBAaWYgJGtodG1sIHtcbiAgICBAaW5jbHVkZSB3aXRoLW9ubHktc3VwcG9ydC1mb3IoJGtodG1sOiB0cnVlKSB7XG4gICAgICBALWtodG1sLWtleWZyYW1lcyAjeyRuYW1lfSB7IEBjb250ZW50OyB9XG4gICAgfVxuICB9XG4gIEBpZiAkb2ZmaWNpYWwge1xuICAgIEBpbmNsdWRlIHdpdGgtb25seS1zdXBwb3J0LWZvciB7XG4gICAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gbmFtZXMuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWUtMTogJGRlZmF1bHQtYW5pbWF0aW9uLW5hbWUsICRuYW1lLTI6IGZhbHNlLCAkbmFtZS0zOiBmYWxzZSwgJG5hbWUtNDogZmFsc2UsICRuYW1lLTU6IGZhbHNlLCAkbmFtZS02OiBmYWxzZSwgJG5hbWUtNzogZmFsc2UsICRuYW1lLTg6IGZhbHNlLCAkbmFtZS05OiBmYWxzZSwgJG5hbWUtMTA6IGZhbHNlKSB7XG4gICRuYW1lOiBjb21wYWN0KCRuYW1lLTEsICRuYW1lLTIsICRuYW1lLTMsICRuYW1lLTQsICRuYW1lLTUsICRuYW1lLTYsICRuYW1lLTcsICRuYW1lLTgsICRuYW1lLTksICRuYW1lLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLW5hbWUsICRuYW1lKTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBkdXJhdGlvbnMuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi0xOiAkZGVmYXVsdC1hbmltYXRpb24tZHVyYXRpb24sICRkdXJhdGlvbi0yOiBmYWxzZSwgJGR1cmF0aW9uLTM6IGZhbHNlLCAkZHVyYXRpb24tNDogZmFsc2UsICRkdXJhdGlvbi01OiBmYWxzZSwgJGR1cmF0aW9uLTY6IGZhbHNlLCAkZHVyYXRpb24tNzogZmFsc2UsICRkdXJhdGlvbi04OiBmYWxzZSwgJGR1cmF0aW9uLTk6IGZhbHNlLCAkZHVyYXRpb24tMTA6IGZhbHNlKSB7XG4gICRkdXJhdGlvbjogY29tcGFjdCgkZHVyYXRpb24tMSwgJGR1cmF0aW9uLTIsICRkdXJhdGlvbi0zLCAkZHVyYXRpb24tNCwgJGR1cmF0aW9uLTUsICRkdXJhdGlvbi02LCAkZHVyYXRpb24tNywgJGR1cmF0aW9uLTgsICRkdXJhdGlvbi05LCAkZHVyYXRpb24tMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZHVyYXRpb24sICRkdXJhdGlvbik7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gZGVsYXlzLlxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXktMTogJGRlZmF1bHQtYW5pbWF0aW9uLWRlbGF5LCAkZGVsYXktMjogZmFsc2UsICRkZWxheS0zOiBmYWxzZSwgJGRlbGF5LTQ6IGZhbHNlLCAkZGVsYXktNTogZmFsc2UsICRkZWxheS02OiBmYWxzZSwgJGRlbGF5LTc6IGZhbHNlLCAkZGVsYXktODogZmFsc2UsICRkZWxheS05OiBmYWxzZSwgJGRlbGF5LTEwOiBmYWxzZSkge1xuICAkZGVsYXk6IGNvbXBhY3QoJGRlbGF5LTEsICRkZWxheS0yLCAkZGVsYXktMywgJGRlbGF5LTQsICRkZWxheS01LCAkZGVsYXktNiwgJGRlbGF5LTcsICRkZWxheS04LCAkZGVsYXktOSwgJGRlbGF5LTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLWRlbGF5LCAkZGVsYXkpOyB9XG5cbi8vIEFwcGx5IDEtMTAgYW5pbWF0aW9uIHRpbWluZyBmdW5jdGlvbnMuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkZnVuY3Rpb24tMTogJGRlZmF1bHQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJGZ1bmN0aW9uLTI6IGZhbHNlLCAkZnVuY3Rpb24tMzogZmFsc2UsICRmdW5jdGlvbi00OiBmYWxzZSwgJGZ1bmN0aW9uLTU6IGZhbHNlLCAkZnVuY3Rpb24tNjogZmFsc2UsICRmdW5jdGlvbi03OiBmYWxzZSwgJGZ1bmN0aW9uLTg6IGZhbHNlLCAkZnVuY3Rpb24tOTogZmFsc2UsICRmdW5jdGlvbi0xMDogZmFsc2UpIHtcbiAgJGZ1bmN0aW9uOiBjb21wYWN0KCRmdW5jdGlvbi0xLCAkZnVuY3Rpb24tMiwgJGZ1bmN0aW9uLTMsICRmdW5jdGlvbi00LCAkZnVuY3Rpb24tNSwgJGZ1bmN0aW9uLTYsICRmdW5jdGlvbi03LCAkZnVuY3Rpb24tOCwgJGZ1bmN0aW9uLTksICRmdW5jdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbi1zdXBwb3J0KGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRmdW5jdGlvbik7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gaXRlcmF0aW9uIGNvdW50cy5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRjb3VudC0xOiAkZGVmYXVsdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkY291bnQtMjogZmFsc2UsICRjb3VudC0zOiBmYWxzZSwgJGNvdW50LTQ6IGZhbHNlLCAkY291bnQtNTogZmFsc2UsICRjb3VudC02OiBmYWxzZSwgJGNvdW50LTc6IGZhbHNlLCAkY291bnQtODogZmFsc2UsICRjb3VudC05OiBmYWxzZSwgJGNvdW50LTEwOiBmYWxzZSkge1xuICAkY291bnQ6IGNvbXBhY3QoJGNvdW50LTEsICRjb3VudC0yLCAkY291bnQtMywgJGNvdW50LTQsICRjb3VudC01LCAkY291bnQtNiwgJGNvdW50LTcsICRjb3VudC04LCAkY291bnQtOSwgJGNvdW50LTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJGNvdW50KTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBkaXJlY3Rpb25zLlxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbi0xOiAkZGVmYXVsdC1hbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9uLTI6IGZhbHNlLCAkZGlyZWN0aW9uLTM6IGZhbHNlLCAkZGlyZWN0aW9uLTQ6IGZhbHNlLCAkZGlyZWN0aW9uLTU6IGZhbHNlLCAkZGlyZWN0aW9uLTY6IGZhbHNlLCAkZGlyZWN0aW9uLTc6IGZhbHNlLCAkZGlyZWN0aW9uLTg6IGZhbHNlLCAkZGlyZWN0aW9uLTk6IGZhbHNlLCAkZGlyZWN0aW9uLTEwOiBmYWxzZSkge1xuICAkZGlyZWN0aW9uOiBjb21wYWN0KCRkaXJlY3Rpb24tMSwgJGRpcmVjdGlvbi0yLCAkZGlyZWN0aW9uLTMsICRkaXJlY3Rpb24tNCwgJGRpcmVjdGlvbi01LCAkZGlyZWN0aW9uLTYsICRkaXJlY3Rpb24tNywgJGRpcmVjdGlvbi04LCAkZGlyZWN0aW9uLTksICRkaXJlY3Rpb24tMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9uKTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBmaWxsIG1vZGVzLlxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJG1vZGUtMTogJGRlZmF1bHQtYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGUtMjogZmFsc2UsICRtb2RlLTM6IGZhbHNlLCAkbW9kZS00OiBmYWxzZSwgJG1vZGUtNTogZmFsc2UsICRtb2RlLTY6IGZhbHNlLCAkbW9kZS03OiBmYWxzZSwgJG1vZGUtODogZmFsc2UsICRtb2RlLTk6IGZhbHNlLCAkbW9kZS0xMDogZmFsc2UpIHtcbiAgJG1vZGU6IGNvbXBhY3QoJG1vZGUtMSwgJG1vZGUtMiwgJG1vZGUtMywgJG1vZGUtNCwgJG1vZGUtNSwgJG1vZGUtNiwgJG1vZGUtNywgJG1vZGUtOCwgJG1vZGUtOSwgJG1vZGUtMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZSk7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gcGxheSBzdGF0ZXMuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUoJHN0YXRlLTE6ICRkZWZhdWx0LWFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGUtMjogZmFsc2UsICRzdGF0ZS0zOiBmYWxzZSwgJHN0YXRlLTQ6IGZhbHNlLCAkc3RhdGUtNTogZmFsc2UsICRzdGF0ZS02OiBmYWxzZSwgJHN0YXRlLTc6IGZhbHNlLCAkc3RhdGUtODogZmFsc2UsICRzdGF0ZS05OiBmYWxzZSwgJHN0YXRlLTEwOiBmYWxzZSkge1xuICAkc3RhdGU6IGNvbXBhY3QoJHN0YXRlLTEsICRzdGF0ZS0yLCAkc3RhdGUtMywgJHN0YXRlLTQsICRzdGF0ZS01LCAkc3RhdGUtNiwgJHN0YXRlLTcsICRzdGF0ZS04LCAkc3RhdGUtOSwgJHN0YXRlLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZSk7IH1cblxuLy8gU2hvcnRjdXQgdG8gYXBwbHkgYSBuYW1lZCBhbmltYXRpb24gdG8gYW4gZWxlbWVudCwgd2l0aCBhbGwgdGhlIHNldHRpbmdzLlxuLy9cbi8vICAgICAkYW5pbWF0aW9uLTEgICA6IE5hbWUgYW5kIHNldHRpbmdzIGZvciB0aGUgZmlyc3QgYW5pbWF0aW9uLiBbPHZhbHVlcz4gfCBkZWZhdWx0XVxuLy8gICAgIC4uLlxuLy8gICAgICRhbmltYXRpb24tMTAgIDogTmFtZSBhbmQgc2V0dGluZ3MgZm9yIHRoZSB0ZW50aCBhbmltYXRpb24uIDx2YWx1ZXM+XG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24tMTogZGVmYXVsdCwgJGFuaW1hdGlvbi0yOiBmYWxzZSwgJGFuaW1hdGlvbi0zOiBmYWxzZSwgJGFuaW1hdGlvbi00OiBmYWxzZSwgJGFuaW1hdGlvbi01OiBmYWxzZSwgJGFuaW1hdGlvbi02OiBmYWxzZSwgJGFuaW1hdGlvbi03OiBmYWxzZSwgJGFuaW1hdGlvbi04OiBmYWxzZSwgJGFuaW1hdGlvbi05OiBmYWxzZSwgJGFuaW1hdGlvbi0xMDogZmFsc2UpIHtcbiAgQGlmICRhbmltYXRpb24tMSA9PSBkZWZhdWx0IHtcbiAgICAkYW5pbWF0aW9uLTE6IC1jb21wYXNzLXNwYWNlLWxpc3QoY29tcGFjdCgkZGVmYXVsdC1hbmltYXRpb24tbmFtZSwgJGRlZmF1bHQtYW5pbWF0aW9uLWR1cmF0aW9uLCAkZGVmYXVsdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkZGVmYXVsdC1hbmltYXRpb24tZGVsYXksICRkZWZhdWx0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICRkZWZhdWx0LWFuaW1hdGlvbi1kaXJlY3Rpb24sICRkZWZhdWx0LWFuaW1hdGlvbi1maWxsLW1vZGUsICRkZWZhdWx0LWFuaW1hdGlvbi1wbGF5LXN0YXRlKSk7IH1cbiAgJGFuaW1hdGlvbjogY29tcGFjdCgkYW5pbWF0aW9uLTEsICRhbmltYXRpb24tMiwgJGFuaW1hdGlvbi0zLCAkYW5pbWF0aW9uLTQsICRhbmltYXRpb24tNSwgJGFuaW1hdGlvbi02LCAkYW5pbWF0aW9uLTcsICRhbmltYXRpb24tOCwgJGFuaW1hdGlvbi05LCAkYW5pbWF0aW9uLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLCAkYW5pbWF0aW9uKTsgfVxuIiwiQG1peGluIHNldC1leHBlcmltZW50YWwtc3VwcG9ydCgkbW96OiBmYWxzZSwgJHdlYmtpdDogZmFsc2UsICRtczogZmFsc2UsICRvOiBmYWxzZSwgJGtodG1sOiBmYWxzZSkge1xuICAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGE6ICRtb3o7XG4gICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0OiAkd2Via2l0O1xuICAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdDogJG1zO1xuICAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhOiAkbztcbiAgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbDogJGtodG1sO1xufVxuXG5AbWl4aW4gd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCRtb3o6IGZhbHNlLCAkd2Via2l0OiBmYWxzZSwgJG1zOiBmYWxzZSwgJG86IGZhbHNlLCAka2h0bWw6IGZhbHNlKSB7XG4gIC8vIENhcHR1cmUgdGhlIGN1cnJlbnQgc3RhdGVcbiAgJG9yaWdpbmFsLW1vejogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtd2Via2l0OiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLW86ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1tczogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1raHRtbDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbDtcblxuICBAaW5jbHVkZSBzZXQtZXhwZXJpbWVudGFsLXN1cHBvcnQoJG1veiwgJHdlYmtpdCwgJG1zLCAkbywgJGtodG1sKTtcblxuICBAY29udGVudDtcblxuICBAaW5jbHVkZSBzZXQtZXhwZXJpbWVudGFsLXN1cHBvcnQoJG9yaWdpbmFsLW1veiwgJG9yaWdpbmFsLXdlYmtpdCwgJG9yaWdpbmFsLW1zLCAkb3JpZ2luYWwtbywgJG9yaWdpbmFsLWtodG1sKTtcbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmbGFzaCkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2UpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApOyB9XG4gIDQwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgNTAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApOyB9XG4gIDYwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMTVweCk7IH1cbiAgODAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHNoYWtlKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMjAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDMwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgNDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDUwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgNjAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDcwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgODAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDkwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXModGFkYSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgc2NhbGUoMSk7IH1cbiAgMTAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpKTsgfVxuICAyMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDMwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpKTsgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDUwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpKTsgfVxuICA2MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDcwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpKTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDkwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpKTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkgcm90YXRlKDApKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoc3dpbmcpIHtcbiAgMjAlLCA0MCUsIDYwJSwgODAlLCAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHRvcCBjZW50ZXIpOyB9XG4gIDIwJSB7XG4gICAgQGluY2x1ZGUgcm90YXRlKDE1ZGVnKTsgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgQGluY2x1ZGUgcm90YXRlKDVkZWcpOyB9XG4gIDgwJSB7XG4gICAgQGluY2x1ZGUgcm90YXRlKC01ZGVnKTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSByb3RhdGUoMGRlZyk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHdvYmJsZSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwJSk7IH1cbiAgMTUlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpKTsgfVxuICAzMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpKTsgfVxuICA0NSUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDYwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZykpOyB9XG4gIDc1JSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpKTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwJSkpOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhwdWxzZSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICBAaW5jbHVkZSBzY2FsZSgxLjEpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHNjYWxlKDEpOyB9IH1cbiAgICBcbiAgICBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHdpZ2dsZSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgc2tld1goOWRlZyk7IH1cbiAgMTAlIHtcbiAgICBAaW5jbHVkZSBza2V3WCgtOGRlZyk7IH1cbiAgMjAlIHtcbiAgICBAaW5jbHVkZSBza2V3WCg3ZGVnKTsgfVxuICAzMCUge1xuICAgIEBpbmNsdWRlIHNrZXdYKC02ZGVnKTsgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHNrZXdYKDVkZWcpOyB9XG4gIDUwJSB7XG4gICAgQGluY2x1ZGUgc2tld1goLTRkZWcpOyB9XG4gIDYwJSB7XG4gICAgQGluY2x1ZGUgc2tld1goM2RlZyk7IH1cbiAgNzAlIHtcbiAgICBAaW5jbHVkZSBza2V3WCgtMmRlZyk7IH1cbiAgODAlIHtcbiAgICBAaW5jbHVkZSBza2V3WCgxZGVnKTsgfVxuICA5MCUge1xuICAgIEBpbmNsdWRlIHNrZXdYKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHNrZXdYKDBkZWcpOyB9IH0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJib3VuY2luZy9ib3VuY2luZy1leGl0c1wiO1xuQGltcG9ydCBcImJvdW5jaW5nL2JvdW5jaW5nLWVudHJhbmNlc1wiOyIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGJvdW5jZU91dCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgc2NhbGUoMSk7IH1cbiAgMjUlIHtcbiAgICBAaW5jbHVkZSBzY2FsZSgwLjk1KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHNjYWxlKDAuMyk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGJvdW5jZU91dFVwKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoYm91bmNlT3V0RG93bikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDIwMDBweCk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGJvdW5jZU91dExlZnQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2VPdXRSaWdodCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoYm91bmNlSW4pIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgc2NhbGUoMC4zKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgc2NhbGUoMS4wNSk7IH1cbiAgNzAlIHtcbiAgICBAaW5jbHVkZSBzY2FsZSgwLjkpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHNjYWxlKDEpOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2VJbkRvd24pIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMjAwMHB4KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgzMHB4KTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGJvdW5jZUluVXApIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgyMDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKC0zMHB4KTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoYm91bmNlSW5SaWdodCkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDIwMDBweCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDApOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2VJbkxlZnQpIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMjAwMHB4KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgzMHB4KTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7IH0gfVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZmFkaW5nL2ZhZGluZy1leGl0c1wiO1xuQGltcG9ydCBcImZhZGluZy9mYWRpbmctZW50cmFuY2VzXCI7IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZU91dCkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlT3V0VXApIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlT3V0RG93bikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZU91dFJpZ2h0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgyMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlT3V0TGVmdCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGVPdXRVcEJpZykge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZU91dERvd25CaWcpIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZU91dFJpZ2h0QmlnKSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGVPdXRMZWZ0QmlnKSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGVJbikge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlSW5VcCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgyMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluRG93bikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGVJblJpZ2h0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlSW5MZWZ0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluVXBCaWcpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluRG93bkJpZykge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKC0yMDAwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluUmlnaHRCaWcpIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgyMDAwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluTGVmdEJpZykge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTsgfSB9XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmbGlwKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCkpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZS1vdXQpO1xuICB9XG4gIDQwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZS1vdXQpO1xuICB9XG4gIDUwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSkpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZS1pbik7XG4gIH1cbiAgODAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgwLjk1KSk7XG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlLWluKTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpKTtcbiAgICBAaW5jbHVkZSBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UtaW4pO1xuICB9XG59XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmxpcEluWCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpKTtcbiAgfVxuICA3MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZykpO1xuICB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZsaXBPdXRYKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZsaXBJblkpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gIH1cbiAgNDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKSk7XG4gIH1cbiAgNzAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpKTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gIH1cbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmbGlwT3V0WSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpKTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGxpZ2h0U3BlZWRJbikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuICA2MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpKTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMobGlnaHRTcGVlZE91dCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpKTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7IH0gfSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcInJvdGF0aW5nL3JvdGF0aW5nLWV4aXRzXCI7XG5AaW1wb3J0IFwicm90YXRpbmcvcm90YXRpbmctZW50cmFuY2VzXCI7XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVPdXQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oY2VudGVyIGNlbnRlcik7XG4gICAgQGluY2x1ZGUgcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihjZW50ZXIgY2VudGVyKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVPdXREb3duTGVmdCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihsZWZ0IGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihsZWZ0IGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVPdXRVcExlZnQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHJvdGF0ZU91dERvd25SaWdodCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihyaWdodCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVPdXRVcFJpZ2h0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHJpZ2h0IGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihyaWdodCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVJbikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihjZW50ZXIgY2VudGVyKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGNlbnRlciBjZW50ZXIpO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVJbkRvd25MZWZ0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGxlZnQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVJblVwTGVmdCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihsZWZ0IGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVJblVwUmlnaHQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMocm90YXRlSW5Eb3duUmlnaHQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihyaWdodCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGhpbmdlKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSByb3RhdGUoMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbih0b3AgbGVmdCk7XG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlLWluLW91dCk7IH1cbiAgMjAlLCA2MCUge1xuICAgIEBpbmNsdWRlIHJvdGF0ZSg4MGRlZyk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbih0b3AgbGVmdCk7XG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlLWluLW91dCk7IH1cbiAgNDAlIHtcbiAgICBAaW5jbHVkZSByb3RhdGUoNjBkZWcpO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wIGxlZnQpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZS1pbi1vdXQpOyB9XG4gIDgwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHRvcCBsZWZ0KTtcbiAgICBAaW5jbHVkZSBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UtaW4tb3V0KTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDcwMHB4KTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDApOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb2xsSW4pIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKSk7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKSk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHJvbGxPdXQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZykpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKSk7IH0gfVxuIiwiLy8gTW9iaWxlIGZpcnN0XG4ubm9kZS0tdHlwZS1hY3R1YWxpdGUsXG4ubm9kZS0tdHlwZS1yZWZlcmVuY2UsXG4ubm9kZS0tdHlwZS1zb3JlZi1hcnRpY2xlIHtcbiAgI21haW4td3JhcHBlciB7XG5cbiAgfVxufVxuXG5AaW1wb3J0ICdxdWVyaWVzL2N3LWJvZHktZGVmYXVsdCc7IiwiLy8gVXAgdG8gOTkycHhcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm5vZGUtLXR5cGUtYWN0dWFsaXRlLFxuICAubm9kZS0tdHlwZS1hbm5leGUsXG4gIC5ub2RlLS10eXBlLXJlZmVyZW5jZSxcbiAgLm5vZGUtLXR5cGUtc29yZWYtYXJ0aWNsZSB7XG4gICAgI21haW4td3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBjdy1jb250YWluZXIoODUwcHgpO1xuICAgIH1cbiAgfVxufVxuIiwiLmN3LWJyZWFkY3J1bWIge1xuICBmb250LWZhbWlseTogJGJyZWFkY3J1bWItZm9udDtcbiAgZm9udC1zaXplOiAkYnJlYWRjcnVtYi1mb250LXNpemU7XG4gIGJhY2tncm91bmQ6ICRicmVhZGNydW1iLWJnO1xuICBAaWYgKCRicmVhZGNydW1iLWdyYWRpZW50KSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRicmVhZGNydW1iLWdyYWRpZW50LWRlZywgJGJyZWFkY3J1bWItYmcgJGJyZWFkY3J1bWItZ3JhZGllbnQtc3RhcnQsICRicmVhZGNydW1iLWJnLWVuZCAkYnJlYWRjcnVtYi1ncmFkaWVudC1lbmQpO1xuICB9XG5cbiAgLmJyZWFkY3J1bWIge1xuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigpO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1jb2xvcjtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ib2xkLXdlaWdodDtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuLy8gIC5jdy1icmVhZGNydW1iIHtcbi8vICAgIC5icmVhZGNydW1iIHtcbi8vICAgICAgbWF4LXdpZHRoOiA3MCU7XG4vLyAgICB9XG4vLyAgfVxuLy99XG4iLCJAbWl4aW4gY3ctY2FyZHMtaHoge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IGF1dG87XG59XG5cbi5jdy1jYXJkcy1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogNzBweDtcblxuICAudGl0bGUtaDIge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6ICRncmF5LTQwMDtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiAgfVxufVxuXG4uY3ctY2FyZC1yb3dzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY3ctY2FyZC10aHVtYiB7XG4gIEBpbmNsdWRlIGN3LWltZy1zaG93LW1vcmUoJ1xcZjA2ZScsIDEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gIG1hcmdpbi1ib3R0b206ICRjdy1jYXJkcy1tYXJnaW4tYm90dG9tLXRodW1iO1xufVxuXG4uY3ctY2FyZC1kYXRlIHtcbiAgZm9udC1mYW1pbHk6ICRjdy1jYXJkcy1kYXRlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGN3LWNhcmRzLWRhdGUtZm9udC13ZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiAkY3ctY2FyZHMtZGF0ZS10ZXh0LXRyYW5zZm9ybTtcbiAgZm9udC1zaXplOiAkY3ctY2FyZHMtZGF0ZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY3ctY2FyZHMtZGF0ZS1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRjdy1jYXJkcy1kYXRlLWxldHRlci1zcGFjaW5nO1xuICBjb2xvcjogJGN3LWNhcmQtZGF0ZS1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tYm90dG9tOiAkY3ctY2FyZHMtbWFyZ2luLWJvdHRvbS1kYXRlO1xuICBAaWYgKCRjdy1jYXJkLWRhdGUtaWNvbikge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDczXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG4uY3ctY2FyZC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAkY3ctY2FyZHMtdGl0bGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3ctY2FyZHMtdGl0bGUtZm9udC13ZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiAkY3ctY2FyZHMtdGl0bGUtdGV4dC10cmFuc2Zvcm07XG4gIGZvbnQtc2l6ZTogJGN3LWNhcmRzLXRpdGxlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjdy1jYXJkcy10aXRsZS1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGN3LWNhcmRzLW1hcmdpbi1ib3R0b20tdGl0bGU7XG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6ICRjdy1jYXJkcy10aXRsZS1mb250LXdlaWdodDtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogJGJsb2MtYWN0dS10aXRsZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jdy1jYXJkLXRleHQge1xuICBmb250LWZhbWlseTogJGN3LWNhcmRzLXRleHQtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3ctY2FyZHMtdGV4dC1mb250LXdlaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06ICRjdy1jYXJkcy10ZXh0LXRleHQtdHJhbnNmb3JtO1xuICBmb250LXNpemU6ICRjdy1jYXJkcy10ZXh0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjdy1jYXJkcy10ZXh0LWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gIG1hcmdpbi1ib3R0b206ICRjdy1jYXJkcy1tYXJnaW4tYm90dG9tLXRleHQ7XG59XG5cbi8vIE9QVElPTlxuQGlmICRjdy1jYXJkcy1pbWctc2hhZG93IHtcbiAgLmN3LWNhcmQge1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnO1xuICB9XG5cbiAgLy8gR2VzdGlvbiBkZXMgcGFkZGluZyBzdXIgbGUgYmxvYyBjYXJvdXNlbCBwZXJtZXR0YW50IGRlcyBvbWJyZXMgcGx1cyDDqXRlbmR1IHN1ciBsZXMgY2FyZHNcbiAgLmJsb2MtY2Fyb3VzZWwge1xuICAgIC52aWV3LWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDBweCAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ucGFnZS1saXN0aW5nIHtcbiAgLmN3LWNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGc7XG4gIH1cbn1cbiIsIi8vIE1JWElOIGN3LWNhcmRzLWFuZHJvbWVkZVxuQG1peGluIGN3LWNhcmRzLWFuZHJvbWVkZSB7XG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcig2ODBweCk7XG4gIH1cblxuICAuY3ctY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgbWluLXdpZHRoOiAyNjBweDtcbiAgICBtYXJnaW46IDU1cHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3ctY2FyZC1iZztcbiAgICBib3JkZXItcmFkaXVzOiAkY3ctY2FyZC1ib3JkZXItcmFkaXVzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jYXJkLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgIH1cbiAgfVxuXG4gIC5jdy1jYXJkLXRodW1iIHtcbiAgICB0b3A6IC0zMXB4O1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC8vIEdlc3Rpb24gZGUgbGEgaGF1dGV1ciBldCBsYXJnZXVyIGRlIGwnaW1hZ2VcbiAgLmN3LWNhcmQtdGh1bWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAvL1xuXG4gIC5jdy1jYXJkLXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJGN3LWNhcmRzLW1hcmdpbi10b3Atc3VtbWFyeSAzMHB4IDMwcHg7XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgaGVpZ2h0OiAxM3JlbTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC5jdy1jYXJkLXRleHQge1xuICAgIGNvbG9yOiAkYmxvYy1hY3R1LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGN3LWNhcmRzLXRleHQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY3ctY2FyZHMtdGV4dC1saW5lLWhlaWdodDtcbiAgfVxuXG4gIC5jdy1jYXJkLWRhdGUge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3ctY2FyZC1kYXRlLWJnO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cblxuICAuY3ctY2FyZC10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY3ctY2FyZC1zaG93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgYm90dG9tOiAtMjBweDtcblxuICAgIC5idG4ge1xuICAgICAgY29sb3I6ICRibG9jLWFjdHUtbGluaztcbiAgICAgIHBhZGRpbmc6IDE1cHggNDBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICBtaW4td2lkdGg6IDMzMHB4O1xuICAgICAgbWFyZ2luOiA1NXB4IDEwcHg7XG4gICAgfVxuXG4gICAgLmN3LWNhcmQtc3VtbWFyeSAuY3ctY2FyZC1jb250ZW50IHtcbiAgICAgIGhlaWdodDogOXJlbTtcbiAgICB9XG4gIH1cblxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAudmlldy1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxMjAwcHgpO1xuICAgIH1cblxuICAgIC5jdy1jYXJkLXN1bW1hcnkge1xuICAgICAgZmxleDogMTtcblxuICAgICAgLmN3LWNhcmQtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgd2lkdGg6IDMxJTtcbiAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmICRidG4tYm9yZGVyLWhlaWdodCA+IDAgT1IgJGJ0bi1iZy10cmFuc2l0aW9uID09IDcgT1IgJGJ0bi1iZy10cmFuc2l0aW9uID09IDgge1xuICAgIC5jdy1jYXJkLXNob3cge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTUlYSU4gY3ctY2FyZHMtYW5kcm9tZWRlLWh6XG5AbWl4aW4gY3ctY2FyZHMtYW5kcm9tZWRlLWh6KCkge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5jdy1jYXJkIHtcbiAgICAgIEBpbmNsdWRlIGN3LWNhcmRzLWh6KCk7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgLy8gR2VzdGlvbiBkZSBsYSBoYXV0ZXVyIGV0IGxhcmdldXIgZGUgbCdpbWFnZVxuICAgICAgLmN3LWNhcmQtdGh1bWIge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy9cblxuICAgICAgLmN3LWNhcmQtc2hvdyB7XG4gICAgICAgIHRvcDogLTIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jdy1jYXJkLXN1bW1hcnkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgICAgcGFkZGluZzogNDBweCAyNXB4IDQwcHggMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIC5jdy1jYXJkIHtcbiAgICAgIEBpbmNsdWRlIGN3LWNhcmRzLWh6XG4gICAgfVxuICB9XG59XG5cbi8vIENMQVNTXG4uY3ctY2FyZHMtYW5kcm9tZWRlIHtcbiAgQGluY2x1ZGUgY3ctY2FyZHMtYW5kcm9tZWRlO1xufVxuXG4uY3ctY2FyZHMtYW5kcm9tZWRlLWh6IHtcbiAgQGluY2x1ZGUgY3ctY2FyZHMtYW5kcm9tZWRlLWh6O1xufVxuXG4vL1xuLmN3LWNhcmRzLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiA3MHB4O1xuXG4gIC50aXRsZS1oMiB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogJGdyYXktNDAwO1xuICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuICB9XG59XG5cbi8vXG4uY3ctY2FyZC1yb3dzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufSIsIiRjdy1jYXJkcy1ib2RlLWltZy1oZWlnaHQ6IDMxMHB4O1xuJGN3LWNhcmRzLWJvZGUtaW1nLWhlaWdodC1vdmVyZmxvdzogMzEwcHg7XG4kY3ctY2FyZHMtYm9kZS1pbWctd2lkdGgtb3ZlcmZsb3c6IDIwMHB4O1xuXG5AbWl4aW4gY3ctY2FyZHMtYm9kZSB7XG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcig2ODBweCk7XG5cbiAgICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgICBwYWRkaW5nOiA2MnB4IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLmN3LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDU4MHB4O1xuICAgIG1pbi13aWR0aDogMjYwcHg7XG4gICAgbWFyZ2luOiAzMHB4IDAgNjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogJGN3LWNhcmQtYm9yZGVyLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcblxuICAgIC5jYXJkLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgIH1cbiAgfVxuXG4gIC5jdy1jYXJkLXRodW1iIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICB9XG5cbiAgLy8gR2VzdGlvbiBkZSBsYSBoYXV0ZXVyIGV0IGxhcmdldXIgZGUgbCdpbWFnZVxuICAuY3ctY2FyZC10aHVtYiB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMTUsIDBweCwgMjBweCwgNDBweCwgMHB4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLy9cblxuICAuY3ctY2FyZC1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogJGN3LWNhcmRzLW1hcmdpbi10b3Atc3VtbWFyeSAzMHB4IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIGhlaWdodDogMTByZW07XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAuY3ctY2FyZC10ZXh0IHtcbiAgICBjb2xvcjogJGJsb2MtYWN0dS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRjdy1jYXJkcy10ZXh0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGN3LWNhcmRzLXRleHQtbGluZS1oZWlnaHQ7XG4gIH1cblxuICAuY3ctY2FyZC1kYXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cblxuICAuY3ctY2FyZC10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY3ctY2FyZC10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgfVxuXG4gIC5jdy1jYXJkLXNob3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogMzBweCk7XG5cbiAgICAuYnRuIHtcbiAgICAgIGNvbG9yOiAkYmxvYy1hY3R1LWxpbms7XG4gICAgICBwYWRkaW5nOiAxNXB4IDQwcHg7XG4gICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICBtaW4td2lkdGg6IDMzMHB4O1xuICAgIH1cblxuICAgIC5jdy1jYXJkLXN1bW1hcnkgLmN3LWNhcmQtY29udGVudCB7XG4gICAgICBoZWlnaHQ6IDlyZW07XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIC52aWV3LWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDEyMDBweCk7XG4gICAgfVxuXG4gICAgLmN3LWNhcmQtc3VtbWFyeSB7XG4gICAgICBmbGV4OiAxO1xuXG4gICAgICAuY3ctY2FyZC1jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICB3aWR0aDogMzElO1xuICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgJGJ0bi1ib3JkZXItaGVpZ2h0ID4gMCBPUiAkYnRuLWJnLXRyYW5zaXRpb24gPT0gNyBPUiAkYnRuLWJnLXRyYW5zaXRpb24gPT0gOCB7XG4gICAgLmN3LWNhcmQtc2hvdyB7XG4gICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY3ctY2FyZHMtYm9kZS1oeiB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgQGluY2x1ZGUgY3ctY2FyZHMtaHo7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDYwcHggMzBweDtcblxuICAgICAgLmN3LWNhcmQtdGh1bWIge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC8vIEdlc3Rpb24gZGUgbGEgaGF1dGV1ciBldCBsYXJnZXVyIGRlIGwnaW1hZ2VcbiAgICAgIC5jdy1jYXJkLXRodW1iIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvL1xuXG4gICAgICAuY3ctY2FyZC1zdW1tYXJ5IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OztcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICAuY3ctY2FyZC1zaG93IHtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBwYWRkaW5nOiAyNnB4IDYwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIC5jdy1jYXJkIHtcbiAgICAgIEBpbmNsdWRlIGN3LWNhcmRzLWh6O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY3ctY2FyZHMtYm9kZS1xdWluY3VueCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuY3ctY2FyZDpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgLmN3LWNhcmQtdGh1bWIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3ctY2FyZDpudGgtY2hpbGQoMm4rMikge1xuICAgICAgLmN3LWNhcmQtc3VtbWFyeSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDs7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBjdy1jYXJkcy1ib2RlLWltZy1yaWdodCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuY3ctY2FyZCAuY3ctY2FyZC10aHVtYiB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGN3LWNhcmRzLWJvZGUtaW1nLW92ZXJmbG93IHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5jdy1jYXJkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC8vIEdlc3Rpb24gZGUgbGEgaGF1dGV1ciBldCBsYXJnZXVyIGRlIGwnaW1hZ2VcbiAgICAgIC5jdy1jYXJkLXRodW1iIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGN3LWNhcmQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBtYXJnaW46IC00MHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy9cblxuICAgICAgLmN3LWNhcmQtc3VtbWFyeSB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN3LWNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCN7JGJldHdlZW4tem9uZXMtbGd9ICsgODBweCkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGN3LWNhcmRzLWJvZGUtaG92ZXIgeyAvLyBVdGlsaXNlciBhdmVjIGh6XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dCk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2MtYWN0dWFsaXRlcyB7XG4gIC5jdy1jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5ibG9jLWFjdHVhbGl0ZXMge1xuICAgIC5jdy1jYXJkLXRleHQge1xuICAgICAgbWluLWhlaWdodDogNTJweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ0xBU1Ncbi5jdy1jYXJkcy1ib2RlIHtcbiAgQGluY2x1ZGUgY3ctY2FyZHMtYm9kZTtcbn1cblxuLmN3LWNhcmRzLWJvZGUtaHoge1xuICBAaW5jbHVkZSBjdy1jYXJkcy1ib2RlLWh6O1xufVxuXG4uY3ctY2FyZHMtYm9kZS1ob3ZlciB7XG4gIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGUtaG92ZXI7XG59XG5cbi5jdy1jYXJkcy1ib2RlLWltZy1yaWdodCB7XG4gIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGUtaW1nLXJpZ2h0O1xufVxuXG4uY3ctY2FyZHMtYm9kZS1pbWctb3ZlcmZsb3cge1xuICBAaW5jbHVkZSBjdy1jYXJkcy1ib2RlLWltZy1vdmVyZmxvdztcbn1cblxuLmN3LWNhcmRzLWJvZGUtcXVpbmN1bngge1xuICBAaW5jbHVkZSBjdy1jYXJkcy1ib2RlLXF1aW5jdW54O1xufVxuIiwiLmN3LWNhcmRzLWZpbGUge1xuICAudmlld3Mtdmlldy1ncmlkIHtcbiAgICAucm93IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAucm93Omxhc3QtY2hpbGQge1xuICAgICAgLmN3LWNhcmQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN3LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICBtaW4td2lkdGg6IDI2MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcGFydGljdWxlLWd1aWxsZW1ldHMucG5nJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzICogMjtcblxuICAgIC5jdy1jYXJkLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogJHByaW1hcnktYm9sZC13ZWlnaHQ7XG4gICAgICBjb2xvcjogJGgxLWNvbG9yO1xuICAgICAgbWFyZ2luLXRvcDogJGJldHdlZW4tem9uZXMgLyAzO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMgLyAyO1xuICAgIH1cbiAgfVxuXG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcig2ODBweCk7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuY3ctY2FyZHMtZmlsZSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICAgIG1pbi13aWR0aDogMzMwcHg7XG4gICAgfVxuICB9XG59XG5cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAuY3ctY2FyZHMtZmlsZSB7XG4gICAgLnZpZXdzLXZpZXctZ3JpZCAucm93Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGcgKiAyO1xuICAgIH1cblxuICAgIC5jdy1jYXJkIHtcbiAgICAgIHdpZHRoOiAzMSU7XG4gICAgICBtYXgtd2lkdGg6IDU4MHB4O1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgLmN3LWNhcmQtdGV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRiZXR3ZWVuLXpvbmVzLWxnIC8gMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZpZXctY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBjdy1jb250YWluZXIoMTIwMHB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAoJGN3LWNhcmRzID09IFwiYW5kcm9tZWRlXCIpIHtcbiAgLmJsb2MtYWN0dWFsaXRlcyB7IC8vIEJsb2MgYWN0dWFsaXTDqXNcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1hbmRyb21lZGU7XG4gICAgQGluY2x1ZGUgY3ctY2FyZHMtYW5kcm9tZWRlLWh6O1xuICAgIC5jYXJvdXNlbC1pdGVtIHsgLy9QYXRjaCBlbiBhdHRlbmRhbnQgKHByb2Jsw6htZSBhdmVjIGwnb21icmUpXG4gICAgICBwYWRkaW5nOiAwcHggMjBweDtcbiAgICAgIC5jdy1jYXJkIHtcbiAgICAgICAgbWFyZ2luOiA1NXB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBhZ2UtYWN0dWFsaXRlcyB7IC8vIFBhZ2UgYWN0dWFsaXTDqXNcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1hbmRyb21lZGU7XG4gICAgQGluY2x1ZGUgY3ctY2FyZHMtYW5kcm9tZWRlLWh6O1xuICB9XG5cbiAgLmN3LWNhcmQtcm93cyB7IC8vIFBhZ2UgYXZlYyBhcnRpY2xlcyBvdSBhbGJ1bXNcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1hbmRyb21lZGU7XG4gICAgLy9AaW5jbHVkZSBjdy1jYXJkcy1hbmRyb21lZGUtaHo7XG4gIH1cbn1cblxuQGlmICgkY3ctY2FyZHMgPT0gXCJib2RlXCIpIHtcbiAgLmJsb2MtYWN0dWFsaXRlcyB7IC8vIEJsb2MgYWN0dWFsaXTDqXNcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1ib2RlO1xuICAgIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGUtaHo7XG4gIH1cblxuICAucGFnZS1hY3R1YWxpdGVzIHsgLy8gUGFnZSBhY3R1YWxpdMOpc1xuICAgIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGU7XG4gICAgQGluY2x1ZGUgY3ctY2FyZHMtYm9kZS1oejtcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1ib2RlLWhvdmVyO1xuICAgIC8vQGluY2x1ZGUgY3ctY2FyZHMtYm9kZS1pbWctcmlnaHQ7XG4gICAgLy9AaW5jbHVkZSBjdy1jYXJkcy1ib2RlLWltZy1vdmVyZmxvdztcbiAgICAvL0BpbmNsdWRlIGN3LWNhcmRzLWJvZGUtcXVpbmN1bng7XG4gIH1cblxuICAuY3ctY2FyZC1yb3dzIHsgLy8gUGFnZSBhdmVjIGFydGljbGVzIG91IGFsYnVtc1xuICAgIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGU7XG4gIH1cbn0iLCIuY3ctY29udGV4dC14eHgge1xuICAkY3ctY29udGV4dC14eHgtY29sb3I6ICRib2R5LWNvbG9yO1xuXG4gIC5jdy1lbGVtZW50LWltZyB7XG4gICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRjdy1jb250ZXh0LXh4eC1jb2xvcjtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRjdy1jb250ZXh0LXh4eC1jb2xvcjtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LWFkcmVzc2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiAgICBjb2xvcjogJGN3LWNvbnRleHQteHh4LWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRib2R5LWNvbG9yLCAxMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdy1lbGVtZW50LWhvcmFpcmUge1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRjdy1jb250ZXh0LXh4eC1jb2xvcjtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXRlbCB7XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgIGNvbG9yOiAkY3ctY29udGV4dC14eHgtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGN3LWNvbnRleHQteHh4LWNvbG9yO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRjdy1jb250ZXh0LXh4eC1jb2xvciwgMTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3ctZWxlbWVudC1sZWdlbmQge1xuXG4gIH1cblxuICAuY3ctZWxlbWVudC1nb29nbGUtbWFwIHtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LWZhIHtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXN2ZyB7XG4gIH1cblxuICAuY3ctZWxlbWVudC1yZXNlYXUtc29jaWFsIHtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXJlc2VhdXgtc29jaWF1eCB7XG4gIH1cbn1cbiIsIi5jdy1kYW1pZXIge1xuICAuY29sLWltZyB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5jb250ZW50IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDYwdmg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGltZyB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbC1pbWctY2VudGVyIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweCAkYmV0d2Vlbi16b25lcyAzMHB4O1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtZGFtaWVyLWNhcmRzO1xuICAgICAgICBAaWYgJGRhbWllci1jYXJkcy1zaGFkb3cge1xuICAgICAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbC10eHQtb25lLCAuY29sLXR4dC10d28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcyAzMHB4IDMwcHg7XG4gICAgei1pbmRleDogMjsvLyBwb3VyIHF1ZSBsZXMgZHJvcGRvd24gYnRuIG5lIHNvaWVudCBwYXMgY291cMOpZXMgbG9yc3F1J2lsIGTDqXBhc3NlbnQgZGUgbGEgZGl2LlxuICB9XG5cbiAgaDIsIC5jdy1kYW1pZXItdGl0bGUsIGgyIHNwYW4sIHNwYW4uY3ctZGFtaWVyLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6ICRkYW1pZXItaDItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRkYW1pZXItaDItZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRkYW1pZXItaDItdGV4dC10cmFuc2Zvcm07XG4gICAgZm9udC1zaXplOiAkZGFtaWVyLWgyLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGRhbWllci1oMi1saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xuICAgIHRleHQtYWxpZ246ICRkYW1pZXItaDItYWxpZ24teHM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogJGRhbWllci10eHQtYWxpZ24teHM7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5jdy1kYW1pZXItYnRuIHtcbiAgICB0ZXh0LWFsaWduOiAkZGFtaWVyLWJ0bi1hbGlnbi14cztcbiAgfVxuXG4gIC5jb2wtdHh0LW9uZSAuY29udGVudCB7XG4gICAgY29sb3I6ICRkYW1pZXItdHh0LW9uZS1jb2xvcjtcblxuICAgIGgyLCAuY3ctZGFtaWVyLXRpdGxlLCBoMiBzcGFuLCBzcGFuLmN3LWRhbWllci10aXRsZSB7XG4gICAgICBjb2xvcjogJGRhbWllci1oMi1vbmUtY29sb3I7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJncmFkaWVudF9hYm92ZVwiIHtcbiAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcFwiIG9yICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3AtYm90dG9tXCIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGRhbWllci1oMi11bmRlcmxpbmUtb25lLWNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmICRkYW1pZXItaDItYWxpZ24teHMgPT0gbGVmdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV9ib3R0b21cIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRkYW1pZXItaDItdW5kZXJsaW5lLW9uZS1jb2xvcik7XG4gICAgICAgICAgICBAaWYgJGRhbWllci1oMi1hbGlnbi14cyA9PSBsZWZ0IHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcInBpY3R1cmVfYm90dG9tXCIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6IDBweCwgJG10OiAwcHgsICRmaWxlOiAncHVjZS1oMi5wbmcnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhOm5vdChbY2xhc3MqPVwiZHJvcGRvd24taXRlbVwiXSkge1xuICAgICAgY29sb3I6ICRkYW1pZXItbGluay1vbmUtY29sb3I7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGRhbWllci1saW5rLW9uZS1jb2xvci1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29sLXR4dC10d28gLmNvbnRlbnQge1xuICAgIGNvbG9yOiAkZGFtaWVyLXR4dC10d28tY29sb3I7XG5cbiAgICBoMiwgLmN3LWRhbWllci10aXRsZSwgaDIgc3Bhbiwgc3Bhbi5jdy1kYW1pZXItdGl0bGUge1xuICAgICAgY29sb3I6ICRkYW1pZXItaDItdHdvLWNvbG9yO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XG4gICAgICAgICAgQGluY2x1ZGUgdGV4dC1ncmFkaWVudDtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3BcIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRkYW1pZXItaDItdW5kZXJsaW5lLXR3by1jb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAkZGFtaWVyLWgyLWFsaWduLXhzID09IGxlZnQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYm90dG9tXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkZGFtaWVyLWgyLXVuZGVybGluZS10d28tY29sb3IpO1xuICAgICAgICAgICAgQGlmICRkYW1pZXItaDItYWxpZ24teHMgPT0gbGVmdCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJwaWN0dXJlX2JvdHRvbVwiIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFmdGVyLWJvcmRlci1iZygkaGVpZ2h0OiAwcHgsICRtdDogMHB4LCAkZmlsZTogJ3B1Y2UtaDEucG5nJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYTpub3QoW2NsYXNzKj1cImRyb3Bkb3duLWl0ZW1cIl0pIHtcbiAgICAgIGNvbG9yOiAkZGFtaWVyLWxpbmstdHdvLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRkYW1pZXItbGluay10d28tY29sb3ItaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRhbWllci1zdHlsZS1vbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW1pZXItYmctb25lO1xuICAgIEBpZiAoJGRhbWllci1iZy1vbmUtZ3JhZGllbnQpIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGFtaWVyLWJnLW9uZS1ncmFkaWVudC1kZWcsICRkYW1pZXItYmctb25lICRkYW1pZXItYmctb25lLWdyYWRpZW50LXN0YXJ0LCAkZGFtaWVyLWJnLW9uZS1lbmQgJGRhbWllci1iZy1vbmUtZ3JhZGllbnQtZW5kKTtcbiAgICB9XG4gIH1cblxuICAuZGFtaWVyLXN0eWxlLXR3byB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhbWllci1iZy10d287XG4gICAgQGlmICgkZGFtaWVyLWJnLXR3by1ncmFkaWVudCkge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkYW1pZXItYmctdHdvLWdyYWRpZW50LWRlZywgJGRhbWllci1iZy10d28gJGRhbWllci1iZy10d28tZ3JhZGllbnQtc3RhcnQsICRkYW1pZXItYmctdHdvLWVuZCAkZGFtaWVyLWJnLXR3by1ncmFkaWVudC1lbmQpO1xuICAgIH1cbiAgfVxuXG4gIC5kYW1pZXItc3R5bGUtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gIC8qIETDqWdyYWTDqSBkYW1pZXIgKi9cbiAgLmRhbWllci1zdHlsZS1vbmUsIC5kYW1pZXItc3R5bGUtdHdvIHtcbiAgICAuY29sLWltZyAuY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZGFtaWVyLWdyYWRpZW50IHtcbiAgICAuZGFtaWVyLXN0eWxlLW9uZSAuY29sLWltZyAuY29udGVudDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGRhbWllci1iZy1vbmUgMCUsIHJnYmEoMCwgMCwgMCwgMCkgODAlKTtcbiAgICB9XG4gICAgLmRhbWllci1zdHlsZS10d28gLmNvbC1pbWcgLmNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRkYW1pZXItYmctdHdvIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7XG4gICAgfVxuICB9XG59XG5cbkBpbXBvcnQgJ3F1ZXJpZXMvY3ctZGFtaWVyJztcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmN3LWRhbWllciB7XG4gICAgLnJvdyA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWluLWhlaWdodDogJGRhbWllci1taW4taGVpZ2h0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbC1pbWcgLmNvbnRlbnQge1xuICAgICAgbWluLWhlaWdodDogJGRhbWllci1taW4taGVpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICB9XG5cbiAgICAuY29sLWltZy5jb2wtaW1nLWNlbnRlciB7XG4gICAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcy1sZyA1MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtjbGFzcyo9XCJjb2wtdHh0LVwiXSB7XG4gICAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcy1sZyA1MHB4O1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogNTUwcHg7XG5cbiAgICAgICAgLmN3LWRhbWllci10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZGFtaWVyLWgyLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC1tZC03LCAuY29sLW1kLTgsIC5jb2wtbWQtOSwgLmNvbC1tZC0xMCB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRhbWllci1ncmFkaWVudCB7XG4gICAgICAuZGFtaWVyLXN0eWxlLW9uZSAuY29sLWltZyAuY29udGVudDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRkYW1pZXItYmctb25lIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7XG4gICAgICB9XG4gICAgICAuZGFtaWVyLXN0eWxlLXR3byAuY29sLWltZyAuY29udGVudDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJGRhbWllci1iZy10d28gMCUsIHJnYmEoMCwgMCwgMCwgMCkgODAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuY3ctZGFtaWVyICB7XG4gICAgLmNvbC1pbWctY2VudGVyIC5jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgfVxuXG4gICAgLmRhbWllci1zdHlsZS1vbmUge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZGFtaWVyLWJnLW9uZS10eHQtYWxpZ24tbGc7XG4gICAgICB9XG4gICAgICBoMiwgLmN3LWRhbWllci10aXRsZSwgaDIgc3Bhbiwgc3Bhbi5jdy1kYW1pZXItdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZGFtaWVyLWJnLW9uZS1oMi1hbGlnbi1sZztcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLW9uZS1oMi1hbGlnbi1sZyA9PSBjZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGcgPT0gcmlnaHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaWYgJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGcgPT0gY2VudGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmICRkYW1pZXItYmctb25lLWgyLWFsaWduLWxnID09IHJpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY3ctZGFtaWVyLWJ0biB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctb25lLWJ0bi1hbGlnbi1sZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGFtaWVyLXN0eWxlLXR3byB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctdHdvLXR4dC1hbGlnbi1sZztcbiAgICAgIH1cbiAgICAgIGgyLCAuY3ctZGFtaWVyLXRpdGxlLCBoMiBzcGFuLCBzcGFuLmN3LWRhbWllci10aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctdHdvLWgyLWFsaWduLWxnO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGlmICRkYW1pZXItYmctdHdvLWgyLWFsaWduLWxnID09IGNlbnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLXR3by1oMi1hbGlnbi1sZyA9PSByaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLXR3by1oMi1hbGlnbi1sZyA9PSBjZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgJGRhbWllci1iZy10d28taDItYWxpZ24tbGcgPT0gcmlnaHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jdy1kYW1pZXItYnRuIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGRhbWllci1iZy10d28tYnRuLWFsaWduLWxnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kYW1pZXItc3R5bGUtdGhyZWUge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZGFtaWVyLWJnLXRocmVlLXR4dC1hbGlnbi1sZztcbiAgICAgIH1cbiAgICAgIGgyLCAuY3ctZGFtaWVyLXRpdGxlLCBoMiBzcGFuLCBzcGFuLmN3LWRhbWllci10aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctdGhyZWUtaDItYWxpZ24tbGc7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaWYgJGRhbWllci1iZy10aHJlZS1oMi1hbGlnbi1sZyA9PSBjZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgJGRhbWllci1iZy10aHJlZS1oMi1hbGlnbi1sZyA9PSByaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLXRocmVlLWgyLWFsaWduLWxnID09IGNlbnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLXRocmVlLWgyLWFsaWduLWxnID09IHJpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY3ctZGFtaWVyLWJ0biB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctdGhyZWUtYnRuLWFsaWduLWxnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKDE2MDBweCkge1xuICAuY3ctZGFtaWVyIHtcbiAgICAuY29sLW1kLTYge1xuICAgICAgJltjbGFzcyo9XCJjb2wtdHh0LVwiXSwgJi5jb2wtaW1nLWNlbnRlciB7XG4gICAgICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzLWxnIDEwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdy1jb2wtbGVmdCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLmN3LWNvbC1yaWdodCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5kYW1pZXItc3R5bGUtb25lIC5jb2wtaW1nLWZ1bGwgLmNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICRkYW1pZXItYmctb25lIDAlLCByZ2JhKDAsIDAsIDAsIDApIDQwJSk7XG4gICAgfVxuXG4gICAgLmRhbWllci1zdHlsZS10d28gLmNvbC1pbWctZnVsbCAuY29udGVudDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRkYW1pZXItYmctdHdvIDAlLCByZ2JhKDAsIDAsIDAsIDApIDQwJSk7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIE9QVElPTlMgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cbi8vIENlbnRyYWdlXG5AaWYgJGRhbWllci1jb2wtcmVzc2VycmVyIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5jdy1kYW1pZXIge1xuICAgICAgW2NsYXNzKj1cImNvbC10eHQtXCJdOm5vdChbY2xhc3MqPVwib3JkZXItXCJdKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG5cbiAgICAgIC5vcmRlci1sZy0yW2NsYXNzKj1cImNvbC10eHQtXCJdIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAuY29sLWltZ1tjbGFzcyo9XCJjb2wtaW1nLVwiXSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgLmNvbC1pbWcub3JkZXItbGctMVtjbGFzcyo9XCJjb2wtaW1nLVwiXSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGNvbC1pbWctb3ZlcmZsb3dzXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1kYW1pZXIge1xuICAgIC5jb2wtaW1nLmNvbC1pbWctb3ZlcmZsb3dzIHtcbiAgICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICB9XG5cbiAgICAuY29sLWltZy1vdmVyZmxvd3MgLmNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGlmICRkYW1pZXItY2FyZHMtc2hhZG93IHtcbiAgICAgICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4yKTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDUyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGZvbmQgc291cyBsJ2ltYWdlIGVuIGTDqWNhbGzDqVxuQGlmICRkYW1pZXItaW1nLWNlbnRlci1iZyB7XG4gIC5jb2wtaW1nLmNvbC1pbWctY2VudGVyIHtcbiAgICBwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgbGVmdDogLTVweDtcbiAgICAgIH1cblxuICAgICAgLmN3LWRhbWllci1lbGVtZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuY29sLWltZy5jb2wtaW1nLWNlbnRlciB7XG4gICAgICBwIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY3ctZGFtaWVyLWVsZW1lbnQge1xuICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRleHRlXHJcbi5jdy1kYW1pZXItcGFyYWdyYXBoIHtcclxuICAuY29sLXR4dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzKjEuMjUgMzBweCAzMHB4O1xyXG4gICAgei1pbmRleDogMjsgLy8gcG91ciBxdWUgbGVzIGRyb3Bkb3duIGJ0biBuZSBzb2llbnQgcGFzIGNvdXDDqWVzIGxvcnNxdSdpbCBkw6lwYXNzZW50IGRlIGxhIGRpdi5cclxuICB9XHJcblxyXG4gIGgyLCBoMiBzcGFuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZGFtaWVyLWgyLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRkYW1pZXItaDItZm9udC13ZWlnaHQ7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGRhbWllci1oMi10ZXh0LXRyYW5zZm9ybTtcclxuICAgIGZvbnQtc2l6ZTogJGRhbWllci1oMi1mb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGRhbWllci1oMi1saW5lLWhlaWdodDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcclxuXHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcblxyXG4gIC5jb2wtdHh0IC5jb250ZW50IHtcclxuICAgIGgyLCAuY3ctZGFtaWVyLXRpdGxlLCBoMiBzcGFuLCBzcGFuLmN3LWRhbWllci10aXRsZSB7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImdyYWRpZW50X2Fib3ZlXCIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgdGV4dC1ncmFkaWVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRkYW1pZXItaDItdW5kZXJsaW5lLXR3by1jb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYm90dG9tXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRkYW1pZXItaDItdW5kZXJsaW5lLXR3by1jb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJwaWN0dXJlX2JvdHRvbVwiIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6IDBweCwgJG10OiAwcHgsICRmaWxlOiAncHVjZS1oMS5wbmcnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhOm5vdChbY2xhc3MqPVwiZHJvcGRvd24taXRlbVwiXSkge1xyXG4gICAgICBjb2xvcjogJGRhbWllci1saW5rLXR3by1jb2xvcjtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkZGFtaWVyLWxpbmstdHdvLWNvbG9yLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBHZXN0aW9uIGRlIGwnaW1hZ2UgZHUgZm9uZFxyXG4uY3ctZGFtaWVyLXBhcmFncmFwaCB7XHJcbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWRhbWllci1iYWNrZ3JvdW5kLWltYWdlLCAuZmllbGQtLW5hbWUtZmllbGQtZGFtaWVyLWJhY2tncm91bmQtcGFyYWxsYXgge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgID4gLnJvdyB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5yb3cge1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgfVxyXG59XHJcblxyXG5bY2xhc3MqPVwiY3ctYm94c2hhZG93LWZpZWxkXCJdIC5maWVsZCB7XHJcbiAgb3ZlcmZsb3c6IGluaXRpYWw7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLmN3LWJveHNoYWRvdy1maWVsZCAuZmllbGQtLXR5cGUtaW1hZ2UgaW1nIHtcclxuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcclxufVxyXG5cclxuLmN3LWJveHNoYWRvdy1maWVsZC0xIC5maWVsZC0tdHlwZS1pbWFnZSBpbWcge1xyXG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtO1xyXG59XHJcblxyXG4uY3ctYm94c2hhZG93LWZpZWxkLTIgLmZpZWxkLS10eXBlLWltYWdlIGltZyB7XHJcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGc7XHJcbn1cclxuXHJcbi8vIE1lZGlhc1xyXG4uY3ctZGFtaWVyLXBhcmFncmFwaCB7XHJcbiAgLmNvbC1tZWRpYSB7XHJcbiAgICBwYWRkaW5nOiAwIDMwcHggMzBweDtcclxuXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb2wtbWVkaWEtZnVsbCAuY29sLW1lZGlhIHtcclxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1kYW1pZXItaW1hZ2Uge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBvdmVyZmxvdzogaW5pdGlhbDtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb2wtbWVkaWEtY2VudGVyIC5jb2wtbWVkaWEgLmNvbnRlbnQge1xyXG4gICAgbWluLWhlaWdodDogYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi8vIFByb2Jsw6htZSBhdmVjIHBhcmFncmFwaCBjb250YWluZXIgYWNjb3JkZW9uXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSAoeHMpIHtcclxuICAuZmllbGQtLW5hbWUtZmllbGQtZGFtaWVyLXBhcmFncmFwaC1tZWRpYSA+IC5jb250YWluZXIgPiAucm93IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIC5hY2NvcmRpb24ge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGltcG9ydCAncXVlcmllcy9jdy1kYW1pZXItcGFyYWdyYXBoJztcclxuIiwiQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuIChzbSwgbWQpIHtcclxuICAuY3ctZGFtaWVyLXBhcmFncmFwaCAuY29sLW1lZGlhIHtcclxuICAgIHBhZGRpbmc6IDAgMzBweCAkYmV0d2Vlbi16b25lcyoxLjI1O1xyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICBtYXgtd2lkdGg6IDU3NnB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuY3ctZGFtaWVyLXBhcmFncmFwaCB7XHJcbiAgICAuY29sLXR4dCwgLmNvbC1tZWRpYSB7XHJcbiAgICAgIC5jb250ZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDU3NnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jdy1kYW1pZXItcGFyYWdyYXBoIHtcclxuICAgIC5jb2wtdHh0W2NsYXNzKj1cImN3LWJnLVwiXSB7XHJcbiAgICAgIG1hcmdpbjogJGJldHdlZW4tem9uZXMqMS4yNSBhdXRvIDA7XHJcbiAgICAgIG1heC13aWR0aDogNTc2cHg7XHJcbiAgICB9XHJcbiAgICAuY29sLXR4dFtjbGFzcyo9XCJjdy1iZy1cIl1bY2xhc3MqPVwib2Zmc2V0LVwiXSB7XHJcbiAgICAgIG1hcmdpbjogJGJldHdlZW4tem9uZXMqMS4yNSBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5IChtZCkge1xyXG5cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gIC5jdy1kYW1pZXItcGFyYWdyYXBoIHtcclxuXHJcbiAgICAmID4gLnJvdyA+IGRpdiB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIG1pbi1oZWlnaHQ6ICRkYW1pZXItbWluLWhlaWdodDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbC1tZC03LCAuY29sLW1kLTgsIC5jb2wtbWQtOSwgLmNvbC1tZC0xMCB7XHJcbiAgICAgIC5jb250ZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29sLXR4dCwgLmNvbC1tZWRpYSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2wtbWVkaWEge1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYW1pZXItY2VudGVyLXRleHRlLW1lZGlhIHtcclxuICAgICAgLmNvbC10eHQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jb2wtbWVkaWEge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb2wtdHh0IHtcclxuICAgICAgcGFkZGluZzogJGJldHdlZW4tem9uZXMtbGcgNTBweDtcclxuXHJcbiAgICAgIC5jb250ZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDU1MHB4O1xyXG5cclxuICAgICAgICAuY3ctZGFtaWVyLXRpdGxlIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJGRhbWllci1oMi1mb250LXNpemUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29sLXR4dFtjbGFzcyo9XCJjdy1iZy1cIl1bY2xhc3MqPVwib2Zmc2V0LVwiXSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2wtbWVkaWEgLmNvbnRlbnQge1xyXG4gICAgICBtYXgtd2lkdGg6IDk2MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2wtbWVkaWEtZnVsbCAuY29sLXR4dCB7XHJcbiAgICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzLWxnIDEwMHB4ICRiZXR3ZWVuLXpvbmVzLWxnIDUwcHg7XHJcblxyXG4gICAgICAmW2NsYXNzKj1cIm9mZnNldC1cIl0ge1xyXG4gICAgICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzLWxnIDUwcHg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmxleC1sZy1yb3ctcmV2ZXJzZS5kYW1pZXItY2VudGVyLXRleHRlLW1lZGlhIHtcclxuICAgICAgLmNvbC1tZWRpYSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmNvbC10eHQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN3LWRhbWllci1wYXJhZ3JhcGgge1xyXG4gICAgLmNvbC1tZWRpYS1mdWxsIC5jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1kYW1pZXItaW1hZ2Uge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbC1tZWRpYS1jZW50ZXIgLmNvbC1tZWRpYSB7XHJcbiAgICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzLWxnIDUwcHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbC1tZWRpYS1jZW50ZXIgLmNvbC1tZWRpYSAuY29udGVudCB7XHJcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgxNjAwcHgpIHtcclxuICAuY3ctZGFtaWVyLXBhcmFncmFwaCB7XHJcbiAgICAuY29sLW1kLTYge1xyXG4gICAgICAmY29sLXR4dCwgJi5jb2wtbWVkaWEtY2VudGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcy1sZyAxMDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9BanVzdGVtZW50IGR1IG3DqWRpYSA+IFwicGFyYWdyYXBoIEF2YW50L0FwcsOoc1wiXHJcbi5jdy1kYW1pZXItcGFyYWdyYXBoIC5iZWVyLXNsaWRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vL0FqdXN0ZW1lbnQgZHUgbcOpZGlhID4gXCJCbG9jIFlvdXR1YmUgdmlkw6lvXCJcclxuLmN3LWRhbWllci1wYXJhZ3JhcGggIHtcclxuICAuY29sLW1lZGlhIC5jb250ZW50LCAuZmllbGQtLW5hbWUtZmllbGQtZGFtaWVyLXBhcmFncmFwaC1tZWRpYSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLmZpZWxkW2NsYXNzKj1cIi1nYWxlcmllLXZpZGVvc1wiXSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIC5maWVsZF9faXRlbSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIC5jb2wtbWVkaWEtZnVsbCAuZW1iZWQtcmVzcG9uc2l2ZSB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi5maWVsZC0tbmFtZS1maWVsZC1kYW1pZXItcGFyYWdyYXBoLW1lZGlhIHtcclxuICAuY29udGFpbmVyLCAuY29udGFpbmVyLXNtLCAuY29udGFpbmVyLW1kIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqICoqKioqKiogKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKiBPUFRJT05TICoqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cclxuXHJcbi8vLy8gY29sLW1lZGlhLW92ZXJmbG93c1xyXG4vL0BpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuLy8gIC5jdy1kYW1pZXItcGFyYWdyYXBoIHtcclxuLy8gICAgLmNvbC1tZWRpYS5jb2wtbWVkaWEtb3ZlcmZsb3dzIHtcclxuLy8gICAgICBwYWRkaW5nOiAwIDUwcHg7XHJcbi8vICAgIH1cclxuLy9cclxuLy8gICAgLmNvbC1tZWRpYS1vdmVyZmxvd3MgLmNvbnRlbnQge1xyXG4vLyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4vLyAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4vLyAgICAgIHAge1xyXG4vLyAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG4vLyAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgICAgdG9wOiA1MCU7XHJcbi8vICAgICAgICBAaWYgJGRhbWllci1jYXJkcy1zaGFkb3cge1xyXG4vLyAgICAgICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4yKTtcclxuLy8gICAgICAgIH1cclxuLy8gICAgICAgIGltZyB7XHJcbi8vICAgICAgICAgIG1heC1oZWlnaHQ6IDUyMHB4O1xyXG4vLyAgICAgICAgfVxyXG4vLyAgICAgIH1cclxuLy8gICAgfVxyXG4vLyAgfVxyXG4vL31cclxuLy9cclxuLy8vLyBmb25kIHNvdXMgbCdpbWFnZSBlbiBkw6ljYWxsw6lcclxuLy9AaWYgJGRhbWllci1pbWctY2VudGVyLWJnIHtcclxuLy8gIC5jb2wtbWVkaWEuY29sLW1lZGlhLWNlbnRlciB7XHJcbi8vICAgIHAge1xyXG4vLyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy9cclxuLy8gICAgICBpbWcge1xyXG4vLyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4vLyAgICAgICAgYm90dG9tOiA1cHg7XHJcbi8vICAgICAgICBsZWZ0OiAtNXB4O1xyXG4vLyAgICAgIH1cclxuLy9cclxuLy8gICAgICAuY3ctZGFtaWVyLWVsZW1lbnQge1xyXG4vLyAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4vLyAgICAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICAgICB0b3A6IDVweDtcclxuLy8gICAgICAgIHJpZ2h0OiAtNXB4O1xyXG4vLyAgICAgICAgei1pbmRleDogLTE7XHJcbi8vICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuLy8gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4vLyAgICAgIH1cclxuLy8gICAgfVxyXG4vLyAgfVxyXG4vLyAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4vLyAgICAuY29sLW1lZGlhLmNvbC1tZWRpYS1jZW50ZXIge1xyXG4vLyAgICAgIHAge1xyXG4vLyAgICAgICAgaW1nIHtcclxuLy8gICAgICAgICAgYm90dG9tOiAxNXB4O1xyXG4vLyAgICAgICAgICBsZWZ0OiAtMjBweDtcclxuLy8gICAgICAgIH1cclxuLy9cclxuLy8gICAgICAgIC5jdy1kYW1pZXItZWxlbWVudCB7XHJcbi8vICAgICAgICAgIHRvcDogMTVweDtcclxuLy8gICAgICAgICAgcmlnaHQ6IC0yMHB4O1xyXG4vLyAgICAgICAgfVxyXG4vLyAgICAgIH1cclxuLy8gICAgfVxyXG4vLyAgfVxyXG4vL31cclxuIiwiQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuY3ctZGFtaWVyLWJvcmRlci1udW1iZXJzIHtcbiAgICAucm93ID4gZGl2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLmNvbC1pbWctY2VudGVyIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggNTBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIFtjbGFzcyo9XCJjb2wtdHh0LVwiXSB7XG4gICAgICBwYWRkaW5nOiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAuY3ctZGFtaWVyLWJvcmRlci1udW1iZXJzIHtcbiAgICAucm93ID4gZGl2IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJvdzpudGgtY2hpbGQoMG4rMSkgPiBkaXYge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgICB3aWR0aDogNSU7XG4gICAgICAgIGhlaWdodDogNjAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAzMHB4O1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IGRvdHRlZCAkaDEtY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBkb3R0ZWQgJGgxLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBoMjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIjFcIjtcbiAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJvdzpudGgtY2hpbGQoMG4rMikgPiBkaXYge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA5NC45NSU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAzMHB4IDMwcHggMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggZG90dGVkICRoMS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXRvcDogM3B4IGRvdHRlZCAkaDEtY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBkb3R0ZWQgJGgxLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBoMjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIjJcIjtcbiAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLnJvdzpudGgtY2hpbGQoMG4rMykgPiBkaXYge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtM3B4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogNSU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAwIDAgMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBkb3R0ZWQgJGgxLWNvbG9yO1xuICAgICAgICBib3JkZXItdG9wOiAzcHggZG90dGVkICRoMS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgaDI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIzXCI7XG4gICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHRyYW5zaXRpb24tbWV0aWVyOiBhbGwgZWFzZS1vdXQgMC4zcztcbiRncmFkaWVudC1tZXRpZXItY29sb3I6ICRzZWNvbmRhcnk7XG4kZ3JhZGllbnQtbWV0aWVyLW9wYWNpdHk6IDAuNTtcbiRncmFkaWVudC1tZXRpZXItb3BhY2l0eS0yOiAwLjU7XG4kZ3JhZGllbnQtbWV0aWVyLWV4dGVuZGVkOiA4MCU7XG5cbi8vIERlc2t0b3BcbiRudW1iZXItY29sdW1uczogNDtcbiRudW1iZXItcm93czogMjtcbiRndXR0ZXItbWFyZ2U6IDE1cHg7XG4kc2l6ZS1tZXRpZXI6IDI4MHB4O1xuJGxhcmdldXI6IGNhbGMoKCN7JHNpemUtbWV0aWVyfSAqICN7JG51bWJlci1jb2x1bW5zfSkgKyAoI3skZ3V0dGVyLW1hcmdlfSAqICgjeyRudW1iZXItY29sdW1uc30gLSAxKSkpO1xuJGhhdXRldXI6IGNhbGMoKCN7JHNpemUtbWV0aWVyfSAqICN7JG51bWJlci1yb3dzfSkgKyAoI3skZ3V0dGVyLW1hcmdlfSAqICgjeyRudW1iZXItcm93c30gLSAxKSkpO1xuXG4vL1RhYmxldHRlXG4kbnVtYmVyLWNvbHVtbnMtdGFiOiAyO1xuJG51bWJlci1yb3dzLXRhYjogNDtcbiRndXR0ZXItbWFyZ2UtdGFiOiAxNXB4O1xuJHNpemUtbWV0aWVyLXRhYjogMjgwcHg7XG4kbGFyZ2V1ci10YWI6IGNhbGMoKCN7JHNpemUtbWV0aWVyLXRhYn0gKiAjeyRudW1iZXItY29sdW1ucy10YWJ9KSArICgjeyRndXR0ZXItbWFyZ2UtdGFifSAqICgjeyRudW1iZXItY29sdW1ucy10YWJ9IC0gMSkpKTtcbiRoYXV0ZXVyLXRhYjogY2FsYygoI3skc2l6ZS1tZXRpZXItdGFifSAqICN7JG51bWJlci1yb3dzLXRhYn0pICsgKCN7JGd1dHRlci1tYXJnZS10YWJ9ICogKCN7JG51bWJlci1yb3dzLXRhYn0gLSAxKSkpO1xuJG1heC13aWR0aC10YWI6IDEyMDBweDtcblxuLy9Nb2JpbGVcbiRudW1iZXItY29sdW1ucy1tb2I6IDE7XG4kbnVtYmVyLXJvd3MtbW9iOiA4O1xuJGd1dHRlci1tYXJnZS1tb2I6IDE1cHg7XG4kc2l6ZS1tZXRpZXItbW9iOiAyODBweDtcbiRsYXJnZXVyLW1vYjogY2FsYygoI3skc2l6ZS1tZXRpZXItbW9ifSAqICN7JG51bWJlci1jb2x1bW5zLW1vYn0pICsgKCN7JGd1dHRlci1tYXJnZS1tb2J9ICogKCN7JG51bWJlci1jb2x1bW5zLW1vYn0gLSAxKSkpO1xuJGhhdXRldXItbW9iOiBjYWxjKCgjeyRzaXplLW1ldGllci1tb2J9ICogI3skbnVtYmVyLXJvd3MtbW9ifSkgKyAoI3skZ3V0dGVyLW1hcmdlLW1vYn0gKiAoI3skbnVtYmVyLXJvd3MtbW9ifSAtIDEpKSk7XG4kbWF4LXdpZHRoLW1vYjogNjE1cHg7XG5cblxuLmN3LWdyaWQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkbnVtYmVyLWNvbHVtbnMsIDFmcik7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KCRudW1iZXItcm93cywgMWZyKTtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiAkZ3V0dGVyLW1hcmdlO1xuICBncmlkLXJvdy1nYXA6ICRndXR0ZXItbWFyZ2U7XG4gIHdpZHRoOiAkbGFyZ2V1cjtcbiAgaGVpZ2h0OiAkaGF1dGV1cjtcblxuICAuY3ctbWV0aWVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLW1ldGllcjtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCIgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xuICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNzBweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLW1ldGllcjtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tbWV0aWVyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmltZy1tZXRpZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDAsIHJnYmEoJGdyYWRpZW50LW1ldGllci1jb2xvciwgJGdyYWRpZW50LW1ldGllci1vcGFjaXR5KSAwLCByZ2JhKCRncmFkaWVudC1tZXRpZXItY29sb3IsICRncmFkaWVudC1tZXRpZXItb3BhY2l0eS0yKSAkZ3JhZGllbnQtbWV0aWVyLWV4dGVuZGVkKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1tZXRpZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAxKTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWF4LXdpZHRoLXRhYikge1xuICAuY3ctZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJG51bWJlci1jb2x1bW5zLXRhYiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgkbnVtYmVyLXJvd3MtdGFiLCAxZnIpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogJGd1dHRlci1tYXJnZS10YWI7XG4gICAgZ3JpZC1yb3ctZ2FwOiAkZ3V0dGVyLW1hcmdlLXRhYjtcbiAgICB3aWR0aDogJGxhcmdldXItdGFiO1xuICAgIGhlaWdodDogJGhhdXRldXItdGFiO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWF4LXdpZHRoLW1vYikge1xuICAuY3ctZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJG51bWJlci1jb2x1bW5zLW1vYiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgkbnVtYmVyLXJvd3MtbW9iLCAxZnIpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogJGd1dHRlci1tYXJnZS1tb2I7XG4gICAgZ3JpZC1yb3ctZ2FwOiAkZ3V0dGVyLW1hcmdlLW1vYjtcbiAgICB3aWR0aDogJGxhcmdldXItbW9iO1xuICAgIGhlaWdodDogJGhhdXRldXItbW9iO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLSAgLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tICAuQ1ctR1JJRC1TSU1QTEUgLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gKi9cbi5jdy1ncmlkLXNpbXBsZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxMHB4O1xuICAvL292ZXJmbG93OiBhdXRvO1xuICBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uY3ctZ3JpZC1zaW1wbGUtMiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAyMHB4O1xuICAvL292ZXJmbG93OiBhdXRvO1xuICBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggNiB7XG4gICAgLmN3LWdyaWQtc2ltcGxlLWNvbC0jeyRpfSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkaSwgMWZyKTtcblxuICAgIH1cbiAgfVxufVxuXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA2IHtcbiAgICAuY3ctZ3JpZC1zaW1wbGUtY29sLSN7JGl9LW1kIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRpLCAxZnIpO1xuXG4gICAgfVxuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLSAgLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tICAuQ1ctR1JJRC1QVVpaTEUgLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gKi9cbi8vIEdyaWQgKHBhcyBkZSBwYWRkaW5nIGV4dMOpcmlldXIpXG4kY3ctZ3JpZC1wdXp6bGUtZ2FwLXhzOiAzcHg7IC8vIHBhZGRpbmcsIHhzID4gbGdcbiRjdy1ncmlkLXB1enpsZS1jb2wtbmJyLXNtOiAyOyAvLyBjb2xvbm5lcyBzbVxuJGN3LWdyaWQtcHV6emxlLXJvdy1uYnItc206IDM7IC8vIGxpZ25lcyBzbVxuJGN3LWdyaWQtcHV6emxlLWFyZWEtc206IC8qIGxlIG5vbWJyZSBkZSBsaWduZSBldCBkZSBjb2xvbm5lIGRvaXQgw6p0cmUgY29ow6lyZW50IGF2ZWMgbGVzIHZhcmlhYmxlcyBhdSBkZXNzdXMgKi9cbiAgICAgICAgJ29uZSB0d28nXG4gICAgICAgICd0aHJlZSBmb3VyJ1xuICAgICAgICAnZml2ZSBzaXgnO1xuXG4kY3ctZ3JpZC1wdXp6bGUtZ2FwLWxnOiAyMHB4OyAvLyBwYWRkaW5nLCBsZyA+ICsrXG4kY3ctZ3JpZC1wdXp6bGUtY29sLW5ici1sZzogNDsgLy8gY29sb25uZXMgbGdcbiRjdy1ncmlkLXB1enpsZS1yb3ctbmJyLWxnOiAzOyAvLyBsaWduZXMgbGdcbiRjdy1ncmlkLXB1enpsZS1hcmVhLWxnOiAvKiBsZSBub21icmUgZGUgbGlnbmUgZXQgZGUgY29sb25uZSBkb2l0IMOqdHJlIGNvaMOpcmVudCBhdmVjIGxlcyB2YXJpYWJsZXMgYXUgZGVzc3VzICovXG4gICAgICAgICdvbmUgb25lIHR3byB0aHJlZSdcbiAgICAgICAgJ29uZSBvbmUgc2l4IHNpeCdcbiAgICAgICAgJ2ZvdXIgZml2ZSBzaXggc2l4JztcblxuLy8gQ291bGV1ci9kZWdyYWTDqVxuJGN3LWdyaWQtcHV6emxlLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMC44NSk7XG4kY3ctZ3JpZC1wdXp6bGUtY29sb3ItbGluazogcmdiYSgkd2hpdGUsIDAuODUpO1xuJGN3LWdyaWQtcHV6emxlLWNvbG9yLWxpbmstaG92ZXI6ICR3aGl0ZTtcblxuLy8gVHlwb2dyYXBoaWVcbiRjdy1ncmlkLXB1enpsZS10aXRsZS1mb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiRjdy1ncmlkLXB1enpsZS10aXRsZS1mb250LXdlaWdodDogJHNlY29uZGFyeS1mb250LXdlaWdodDtcbiRjdy1ncmlkLXB1enpsZS10aXRsZS1mb250LXNpemUteHM6IDEuNXJlbTtcbiRjdy1ncmlkLXB1enpsZS10aXRsZS1mb250LXNpemUtbGc6IDJyZW07XG4kY3ctZ3JpZC1wdXp6bGUtdGl0bGUtbGluZS1oZWlnaHQ6IDEuMjtcbiRjdy1ncmlkLXB1enpsZS10aXRsZS1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4kY3ctZ3JpZC1wdXp6bGUtdGl0bGUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiRjdy1ncmlkLXB1enpsZS10ZXh0LWZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4kY3ctZ3JpZC1wdXp6bGUtdGV4dC1mb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuJGN3LWdyaWQtcHV6emxlLXRleHQtZm9udC1zaXplLXhzOiAxcmVtO1xuJGN3LWdyaWQtcHV6emxlLXRleHQtZm9udC1zaXplLWxnOiAxLjJyZW07XG4kY3ctZ3JpZC1wdXp6bGUtdGV4dC1saW5lLWhlaWdodDogMS4yO1xuJGN3LWdyaWQtcHV6emxlLXRleHQtbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuJGN3LWdyaWQtcHV6emxlLXRleHQtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbi8vIENlbnRyYWdlXG4kY3ctZ3JpZC1wdXp6bGUtdGV4dC1hbGlnbjogY2VudGVyO1xuXG4uY3ctZ3JpZC1wdXp6bGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxOTIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gIC5yb3cge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICBncmlkLWdhcDogJGN3LWdyaWQtcHV6emxlLWdhcC14cztcbiAgfVxuXG4gIC5jb250ZW50LCAuY3ctZ3JpZC1wdXp6bGUtc3VtbWFyeSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgY29sb3I6ICN7JGN3LWdyaWQtcHV6emxlLWNvbG9yfSAhaW1wb3J0YW50O1xuICBhIHtcbiAgICBjb2xvcjogI3skY3ctZ3JpZC1wdXp6bGUtY29sb3ItbGlua30gIWltcG9ydGFudDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjeyRjdy1ncmlkLXB1enpsZS1jb2xvci1saW5rLWhvdmVyfSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5jdy1ncmlkLXB1enpsZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRjdy1ncmlkLXB1enpsZS10aXRsZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGN3LWdyaWQtcHV6emxlLXRpdGxlLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGN3LWdyaWQtcHV6emxlLXRpdGxlLWZvbnQtc2l6ZS14cztcbiAgICBsaW5lLWhlaWdodDogJGN3LWdyaWQtcHV6emxlLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAkY3ctZ3JpZC1wdXp6bGUtdGl0bGUtbGV0dGVyLXNwYWNpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRjdy1ncmlkLXB1enpsZS10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC5jdy1ncmlkLXB1enpsZS10ZXh0IHtcbiAgICBmb250LWZhbWlseTogJGN3LWdyaWQtcHV6emxlLXRleHQtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjdy1ncmlkLXB1enpsZS10ZXh0LWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGN3LWdyaWQtcHV6emxlLXRleHQtZm9udC1zaXplLXhzO1xuICAgIGxpbmUtaGVpZ2h0OiAkY3ctZ3JpZC1wdXp6bGUtdGV4dC1saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGN3LWdyaWQtcHV6emxlLXRleHQtbGV0dGVyLXNwYWNpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRjdy1ncmlkLXB1enpsZS10ZXh0LXRleHQtdHJhbnNmb3JtO1xuICB9XG5cbiAgLnJvdyB7XG4gICAgLmN3LWdyaWQtcHV6emxlLXN1bW1hcnkge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDAuMTVzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWluLWhlaWdodDogMTM1cHg7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRleHQtYWxpZ246ICRjdy1ncmlkLXB1enpsZS10ZXh0LWFsaWduO1xuXG4gICAgICAmW2hyZWYqPVwiL1wiXTpob3ZlciB7XG4gICAgICAgIC5jdy1ncmlkLXB1enpsZS1maWx0cmUge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgb3BhY2l0eTogMC44NTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jdy1ncmlkLXB1enpsZS10aXRsZSwgLmN3LWdyaWQtcHV6emxlLXRleHQge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuYnRuIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5jdy1ncmlkLXB1enpsZSAucm93IHtcbiAgICBncmlkLXRlbXBsYXRlOiByZXBlYXQoJGN3LWdyaWQtcHV6emxlLXJvdy1uYnItc20sIDFmcikgLyByZXBlYXQoJGN3LWdyaWQtcHV6emxlLWNvbC1uYnItc20sIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJGN3LWdyaWQtcHV6emxlLWFyZWEtc207XG4gICAgbWluLWhlaWdodDogNjMwcHg7XG5cbiAgICAub25lIHtcbiAgICAgIGdyaWQtYXJlYTogb25lO1xuICAgIH1cblxuICAgIC50d28ge1xuICAgICAgZ3JpZC1hcmVhOiB0d287XG4gICAgfVxuXG4gICAgLnRocmVlIHtcbiAgICAgIGdyaWQtYXJlYTogdGhyZWU7XG4gICAgfVxuXG4gICAgLmZvdXIge1xuICAgICAgZ3JpZC1hcmVhOiBmb3VyO1xuICAgIH1cblxuICAgIC5maXZlIHtcbiAgICAgIGdyaWQtYXJlYTogZml2ZTtcbiAgICB9XG5cbiAgICAuc2l4IHtcbiAgICAgIGdyaWQtYXJlYTogc2l4O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1ncmlkLXB1enpsZSAucm93IHtcbiAgICBncmlkLWdhcDogJGN3LWdyaWQtcHV6emxlLWdhcC1sZztcbiAgICBncmlkLXRlbXBsYXRlOiByZXBlYXQoJGN3LWdyaWQtcHV6emxlLXJvdy1uYnItbGcsIDFmcikgLyByZXBlYXQoJGN3LWdyaWQtcHV6emxlLWNvbC1uYnItbGcsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczokY3ctZ3JpZC1wdXp6bGUtYXJlYS1sZztcbiAgfVxufVxuXG4uY3ctZ3JpZC1wdXp6bGUgLmNvbCB7XG4gIC5jdy1ncmlkLXB1enpsZS1iZy1pbWFnZSB7XG4gICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDBuKzEpIC5jdy1ncmlkLXB1enpsZS1iZy1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlMS1tb2IuanBnJyk7XG4gIH1cblxuICAmOm50aC1jaGlsZCgwbisyKSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXB1enpsZTItbW9iLmpwZycpO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMG4rMykgLmN3LWdyaWQtcHV6emxlLWJnLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZy1wdXp6bGUzLW1vYi5qcGcnKTtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDBuKzQpIC5jdy1ncmlkLXB1enpsZS1iZy1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlNC1tb2IuanBnJyk7XG4gIH1cblxuICAmOm50aC1jaGlsZCgwbis1KSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXB1enpsZTUtbW9iLmpwZycpO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMG4rNikgLmN3LWdyaWQtcHV6emxlLWJnLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZy1wdXp6bGU2LW1vYi5qcGcnKTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1ncmlkLXB1enpsZSAuY29sIHtcbiAgICAmOm50aC1jaGlsZCgwbisxKSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlMS5qcGcnKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgwbisyKSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlMi5qcGcnKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgwbiszKSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlMy5qcGcnKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgwbis0KSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlNC5qcGcnKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgwbis1KSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlNS5qcGcnKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgwbis2KSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlNi5qcGcnKTtcbiAgICB9XG4gIH1cbn1cblxuLmN3LWdyaWQtcHV6emxlLWZpbHRyZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dCk7XG4gIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNTBkZWcsIHJnYmEoJGdyYXktOTAwLCAxKSAwLCByZ2JhKCRncmF5LTkwMCwgMSkgMTAwJSk7XG4gIG9wYWNpdHk6IDAuMzU7XG59XG5cbiIsIi5jdy10aW1lbGluZS12ZXJ0aWNhbCB7XG4gICRjdy10aW1lbGluZS12ZXJ0aWNhbDogJGJvZHktY29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAubGluZSB7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICAuY29udGVudCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMzBweDtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXN2ZyB7XG4gICAgZmlsbDogJHByaW1hcnk7XG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgIH1cbiAgfVxuXG4gIC5jdy1lbGVtZW50LXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRoMS1jb2xvcjtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRjdy10aW1lbGluZS12ZXJ0aWNhbDtcbiAgICAvL21hcmdpbjogYXV0bztcbiAgICAvL21heC13aWR0aDogMjYwcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuY3ctdGltZWxpbmUtdmVydGljYWwge1xuICAgICRjdy1jb250ZXh0LWNocm9ub2xvZ2llOiAkYm9keS1jb2xvcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAubGluZSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpIDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci1zdHlsZTogZG90dGVkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwcHggMHB4IDBweCAycHg7XG4gICAgICBib3JkZXItY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIH1cblxuICAgIC5jdy1jaGlsZHJlbi1xdWluY3VueC1tZCB7XG4gICAgICA+IGRpdjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMzBweCAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gZGl2Om50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHggMzBweCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYWNjb3JkaW9uIHsgLy8gdm9pciBwcm9qZXQgMjIwNWJjMTAyMlxuICB3aWR0aDogMTAwJTtcbiAgLmNhcmQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgaSB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAvL2NvbG9yOiAkcHJpbWFyeTtcblxuICAgICAgICBpOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGk6YWZ0ZXIge1xuICAgICAgICAgIC8vY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJlthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xuICAgICAgICBpOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIC8vY29sb3I6ICRwcmltYXJ5O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAkaDMtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmFjY29yZGlvbi1jYXJkLWRlc2Mge1xuICAgICAgZm9udC13ZWlnaHQ6ICRwcmltYXJ5LWJvbGQtd2VpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG4gIH1cblxuICAuY2FyZC1ib2R5ID4gaDMge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cblxuICAmW2NsYXNzKj1cImN3LWJnLVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi5jdy1iZy1vbmUge1xuICAgIC5jYXJkLCAuY2FyZC1oZWFkZXIgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5jdy1iZy10d28ge1xuICAgIC5jYXJkLCAuY2FyZC1oZWFkZXIgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy10d287XG4gICAgfVxuICB9XG5cbiAgJi5jdy1iZy1ncmF5IHtcbiAgICAuY2FyZCwgLmNhcmQtaGVhZGVyIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGRhcmtlbigkYm9keS1iZywgMSUpLCAxKTtcbiAgICB9XG4gIH1cblxuICAmLmN3LWJnLWRhcmsge1xuICAgIC5jYXJkLCAuY2FyZC1oZWFkZXIgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cblxuICAmLnRleHQtd2hpdGUge1xuICAgIGEge1xuICAgICAgY29sb3I6IGRhcmtlbigkd2hpdGUsIDEwJSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuLmFjY29yZGlvbi0xLWNvbCB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuLmFjY29yZGlvbi13aXRoLW1hcmdpbiB7XG4gIC5jYXJkLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5pdGlhbDtcbiAgfVxuXG4gIC5jYXJkIHtcbiAgICBib3JkZXI6IHNvbGlkICRjYXJkLWJvcmRlci13aWR0aCAkY2FyZC1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuXG4gICAgJjpudGgtbGFzdC1jaGlsZChuKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAwIDMwcHggMjRweDtcbiAgfVxufVxuXG4uYWNjb3JkaW9uLWktcmlnaHQtZmEge1xuICAuY2FyZC1oZWFkZXIge1xuICAgIGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgLy9AaW5jbHVkZSBmaWx0ZXIoZHJvcC1zaGFkb3coMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMikpKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgICBjb250ZW50OiAnXFxmMzVhJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgIH1cblxuICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtOTBkZWcpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRXhlbXBsZSBkZSBhY2NvcmRpb24gPiBjYXJkID4gY2xhc3MgcGVyc29ubmFsaXPDqWVcbi5hY2NvcmRpb24ge1xuICAuY2FyZC1jdXN0b20tb25lIHtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIC5jYXJkLWhlYWRlciBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZy1vbmUsIDUlKSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLmNhcmQtYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctb25lICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAyNHB4IDMwcHg7XG4gICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuNzIpO1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC44KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtY3VzdG9tLXR3byB7XG4gICAgLmNhcmQtaGVhZGVyIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLXR3bywgMTAlKSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLmNhcmQtYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctdHdvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAyNHB4IDMwcHg7XG4gICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuNzIpO1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC44KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgICB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFjY29yZGlvbiA+IGNhcmQgPiBpbWFnZSBiZ1xuLmFjY29yZGlvbiAuY2FyZC5hY2NvcmRpb24taW1nLWJnIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3ctY2FyZC1iZyAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDI0cHggODBweCAyNHB4IDMwcHg7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbi1jYXJkLWltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBiZWZvcmUtYWZ0ZXItZnVsbDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICRjdy1jYXJkLWJnIDAlLCByZ2JhKCRjdy1jYXJkLWJnLCAwLjkpIDAlLCByZ2JhKCRjdy1jYXJkLWJnLCAwLjgpIDUwJSwgcmdiYSgkY3ctY2FyZC1iZywgMC44KSA3MCUpO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkLXRpdGxlLCAuYWNjb3JkaW9uLWNhcmQtZGVzYyB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB9XG5cbiAgLmNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogMjRweCAzMHB4O1xuICB9XG59XG5cbi8vIEFjY29yZGlvbiA+IGNhcmQgPiBpbWFnZSDDoCBnYXVjaGVcbi5hY2NvcmRpb24gLmNhcmQuYWNjb3JkaW9uLWltZy1sZWZ0IHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgJjphZnRlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5hY2NvcmRpb24tY2FyZC1pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICBkaXNwbGF5OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cblxuICAuY2FyZC10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMTQ1cHg7XG4gIH1cblxuICAuY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAyNHB4IDMwcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuYWNjb3JkaW9uIC5jYXJkLmFjY29yZGlvbi1pbWctYmcge1xuICAgIC5jYXJkLXRpdGxlLCAuYWNjb3JkaW9uLWNhcmQtZGVzYyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAuYWNjb3JkaW9uLWNhcmQtaW1nIHtcbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAkY3ctY2FyZC1iZyAwJSwgJGN3LWNhcmQtYmcgMjAlLCByZ2JhKDI0OSwgMjQ5LCAyNDksIDAuOCkgMzglLCByZ2JhKDI0OSwgMjQ5LCAyNDksIDApIDcwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbiAuY2FyZC5hY2NvcmRpb24taW1nLWxlZnQge1xuICAgIGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAyNHB4IDgwcHggMjRweCAyMzBweDtcbiAgICB9XG4gICAgLmNhcmQtdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLmFjY29yZGlvbi1jYXJkLWltZyB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5jb2wtbGctNiAuYWNjb3JkaW9uIC5jYXJkLWhlYWRlciB7XG4gICAgLmFjY29yZGlvbi1jYXJkLWltZyB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDY2ZGVnLCAkY3ctY2FyZC1iZyAwJSwgJGN3LWNhcmQtYmcgMjAlLCByZ2JhKDI0OSwgMjQ5LCAyNDksIDAuOCkgMzglLCByZ2JhKDI0OSwgMjQ5LCAyNDksIDApIDcwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb2wtbGctNiAuYWNjb3JkaW9uIHtcbiAgICAuY2FyZC5hY2NvcmRpb24taW1nLWJnIHtcbiAgICAgIC5jYXJkLXRpdGxlLCAuYWNjb3JkaW9uLWNhcmQtZGVzYyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiI2hlYWRlciB7XG4gIGRpc3BsYXk6IGluaXRpYWw7XG59XG5cbi5jdy1uYXZiYXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwNzA7XG59XG5cbiNuYXZiYXItdG9wIHtcbiAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdiYWNrZ3JvdW5kLWNvbG9yJywgcmdiYSgkbmF2YmFyLXRvcC1iZywgJG5hdmJhci10b3Atb3BhY2l0eSksICRuYXZiYXItdG9wLWJnKTtcbiAgLmNvbnRlbnQge1xuICAgIC8vZm9udC1zaXplOiAwLjlyZW07XG4gICAgY29sb3I6ICRuYXZiYXItdG9wLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItdG9wLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5yZWdpb24tdG9wLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICNibG9jay1pbmZvcm1hdGlvbnNuYXZiYXIge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIGhlaWdodDogJG5hdmJhci10b3AtaGVpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbiNuYXZiYXItbWFpbiB7XG4gIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LXhzO1xuICAubWVudS0tc2Vjb25kYXJ5IHtcbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRuYXZiYXItZm9udC1zaXplfSAtIDAuMDVyZW0pO1xuICAgICAgcGFkZGluZzogMTFweCAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyIHtcbiAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdiYWNrZ3JvdW5kLWNvbG9yJywgcmdiYSgkbmF2YmFyLWJnLCAkbmF2YmFyLW9wYWNpdHkpLCAkbmF2YmFyLWJnKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC40cyBlYXNlLWluLW91dCk7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiAkbmF2YmFyLWZvbnQtZmFtaWx5O1xuXG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTkyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmF2YmFyLWxvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAxNXB4O1xuICAgIC8vbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuNHMgZWFzZS1pbi1vdXQpO1xuICAgICAgbWF4LXdpZHRoOiAkbmF2YmFyLW1pbmktbG9nby13aWR0aDtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC14c30gLSAyMHB4KTtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKCN7JG5hdmJhci12ZXJ0aWNhbC1jZW50ZXJpbmctYX0pO1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgLy9taW4td2lkdGg6IDI1MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgbGluZS1oZWlnaHQ6ICRmb250LXNpemUtYmFzZSAqIDEuMTtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWJyYW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5ibG9jay1mbG9hdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zaXRlLW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLW5hbWUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRuYXZiYXItbmFtZS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJG5hdmJhci1uYW1lLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1uYW1lLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdmJhci1uYW1lLWxpbmUtaGVpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAkaDEtbGV0dGVyLXNwYWNpbmc7XG4gIH1cblxuICAuc2l0ZS1zbG9nYW4ge1xuICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLXNsb2dhbi1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJG5hdmJhci1zbG9nYW4tZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXZiYXItc2xvZ2FuLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1zbG9nYW4tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbmF2YmFyLXNsb2dhbi1saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgb3BhY2l0eTogJG5hdmJhci1zbG9nYW4tb3BhY2l0eTtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgJjpmaXJzdC1sZXR0ZXIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogJG5hdmJhci10b2dnbGVyLWxpbmUtY29sb3ItZXhwYW5kZWQtdHJ1ZTtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHhcbiAgICB9XG4gICAgJlthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0gLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgICAgYmFja2dyb3VuZDogJG5hdmJhci10b2dnbGVyLWxpbmUtY29sb3ItZXhwYW5kZWQtZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAjdG9nZ2xlci1saW5lLTEge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoN3B4KSByb3RhdGUoNDVkZWcpKTtcbiAgICB9XG5cbiAgICAjdG9nZ2xlci1saW5lLTIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAjdG9nZ2xlci1saW5lLTMge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTdweCkgcm90YXRlKC00NWRlZykpO1xuICAgIH1cbiAgfVxuXG4gIC8vJHRvZ2dsZS1jb2xvcjogXCIyNTUsMjU1LDI1NSwgMC45XCI7XG4gIC8vLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAvLyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhJTI4I3skdG9nZ2xlLWNvbG9yfSUyOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIik7XG4gIC8vfVxuXG4gIG5hdiB7XG4gICAgLm5hdiBsaSBhIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgZm9udC1mYW1pbHk6ICRuYXZiYXItZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogJG5hdmJhci1mb250LXdlaWdodDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkbmF2YmFyLXRleHQtdHJhbnNmb3JtO1xuICAgICAgZm9udC1zaXplOiAkbmF2YmFyLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbmF2YmFyLWxpbmUtaGVpZ2h0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgICAgY29sb3I6IHJnYmEoJGl0ZW0tYS1jb2xvciwgJGl0ZW0tYS1jb2xvci1vcGFjaXR5KTtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpZiAkbmF2YmFyLW9wYWNpdHkgIT0gMSB7XG4gICAgICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnY29sb3InLCByZ2JhKCRpdGVtLWEtY29sb3IsICRpdGVtLWEtY29sb3Itb3BhY2l0eSksICRpdGVtLWEtY29sb3IpO1xuICAgICAgfVxuICAgICAgQGlmICRpdGVtLWEtYWN0aXZlLWJvbGQge1xuICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAwcHggJGl0ZW0tYS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2ID4gbGkgPiBhLmlzLWFjdGl2ZSxcbiAgICAubmF2ID4gbGkgPiBhOmhvdmVyLFxuICAgIC5uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gICAgLm5hdiA+IGxpID4gYS5hY3RpdmUtdHJhaWwsXG4gICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICRpdGVtLWEtYWN0aXZlLWNvbG9yLXhzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGl0ZW0tYS1hY3RpdmUtYmcteHM7XG4gICAgICBAaWYgJGl0ZW0tYS1hY3RpdmUtYm9sZCB7XG4gICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDFweCAkaXRlbS1hLWFjdGl2ZS1jb2xvci14cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2IC5kcm9wZG93biA+IGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnYmFja2dyb3VuZC1jb2xvcicsIHJnYmEoJGRyb3BtZW51LWJnLCAkZHJvcG1lbnUtYmctb3BhY2l0eSksICRkcm9wbWVudS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIEBpZiAkbmF2YmFyLWRyb3Bkb3duLW1lbnUtc2hhZG93IHtcbiAgICAgICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMDUsIDBweCwgMnB4LCA0cHgsIDBweCwgJG5hdmJhci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuXG4gICAgICBsaS5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgQGlmICRkcm9wbWVudS1ib3JkZXIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZHJvcG1lbnUtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LWZhbWlseTogJG5hdmJhci1kLW1lbnUtZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRuYXZiYXItZC1tZW51LWZvbnQtd2VpZ2h0O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbmF2YmFyLWQtbWVudS10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICBmb250LXNpemU6ICRuYXZiYXItZC1tZW51LWZvbnQtc2l6ZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJG5hdmJhci1kLW1lbnUtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggJGl0ZW0tYS1wYWRkaW5nLXg7XG4gICAgICAgICAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdjb2xvcicsIHJnYmEoJGRyb3BtZW51LWl0ZW0tYS1jb2xvciwgJGRyb3BtZW51LWl0ZW0tYS1jb2xvci1vcGFjaXR5KSwgJGRyb3BtZW51LWl0ZW0tYS1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJi5hY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3BtZW51LWl0ZW0tYS1hY3RpdmUtYmc7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZHJvcG1lbnUtaXRlbS1hLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2IC5kcm9wZG93bi1tZW51LnNob3cge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC40cyBlYXNlLWluLW91dCk7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWJ0biB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIC8vYm94LXNoYWRvdzogdW5zZXQ7XG4gIH1cblxuICAubmF2YmFyLWZvcm0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZS5pcy1hY3RpdmUge1xuICAgIC5pY29uLWJhcjpudGgtY2hpbGQoMykge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuaWNvbi1iYXI6bnRoLWNoaWxkKDIpIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDZweCkgcm90YXRlKDQ1ZGVnKSk7XG4gICAgfVxuXG4gICAgLmljb24tYmFyOm50aC1jaGlsZCg0KSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNnB4KSByb3RhdGUoLTQ1ZGVnKSk7XG4gICAgfVxuICB9XG59XG5cbi5hZmZpeC1zY3JvbGwgLm5hdmJhciB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2JhY2tncm91bmQtY29sb3InLCByZ2JhKCRuYXZiYXItYmcsICRuYXZiYXItb3BhY2l0eS1hZmZpeC1zY3JvbGwpLCAkbmF2YmFyLWJnKTtcbn1cblxuQGltcG9ydCAncXVlcmllcy9uYXZiYXInO1xuIiwiLyoqXG5Qb3NpdGlvbiBkZSBsYSBuYXZiYXIgZW4gaGF1dCBkZSBsYSBwYWdlIMOgIGFqdXN0ZXIgZW4gZm9uY3Rpb25cbmRlIGxhIGhhdXRldXIgZHUgaGVhZGVyIHBvdXIgcXVlIGwnZXNwYWNlIGVudHJlIGxlcyBkZXV4IHJlc3RlXG5zaW1pbGFpcmUgcXVlbHF1ZSBzb2l0IGxhIGxhcmdldXIgZGUgbCfDqWNyYW4uXG4gKi9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gIC5jdy1uYXZiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5uYXZiYXIge1xuICAgIC5uYXZiYXItbG9nbyB7XG4gICAgICBAaWYgJHhzLXNob3ctbG9nbyA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgQGlmICR4cy1zaG93LW5hbWUgPT0gZmFsc2UgYW5kICR4cy1zaG93LXNsb2dhbiA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNpdGUtbmFtZSB7XG4gICAgICBAaWYgJHhzLXNob3ctbmFtZSA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNpdGUtc2xvZ2FuIHtcbiAgICAgIEBpZiAkeHMtc2hvdy1zbG9nYW4gPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93biB7XG4gICAgICAuY2FyZXQge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDkwZGVnKSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMXMgZWFzZS1pbi1vdXQpO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW4gLmNhcmV0IHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgwKSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMXMgZWFzZS1pbi1vdXQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5uYXYtbWVudS1wci5jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgI25hdmJhci10b3Age1xuICAgIG9yZGVyOiAyO1xuXG4gICAgI2Jsb2NrLWluZm9ybWF0aW9uc25hdmJhciB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLmFmZml4LXNjcm9sbCB7XG4gICAgI25hdmJhci10b3Age1xuICAgICAgI2Jsb2NrLWluZm9ybWF0aW9uc25hdmJhciB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI25hdmJhci1tYWluIHtcbiAgICBvcmRlcjogMTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIHotaW5kZXg6IDIxMDtcbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggMC4zNXMgZWFzZSk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBib3gtc2hhZG93OiAtNXB4IDBweCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgQGlmICgkbmF2YmFyLXRvZ2dsZXItZ3JhZGllbnQpIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLCAkbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LWNvbG9yLTIgMCUsICRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtY29sb3ItMSAkbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtY29sb3ItMTtcbiAgICB9XG5cbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1MHB4O1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LXdpZHRoOiA0NDBweDtcbiAgICAgICY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIH1cbiAgICAgICYubWVudS0tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci10b3AtYmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzaW5nIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIG1heC13aWR0aDogNDQwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAwLjM1cyBlYXNlKVxuICAgIH1cblxuICAgICYuc2hvdyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNDQwcHg7XG4gICAgICBib3gtc2hhZG93OiAtNXB4IDBweCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhciBuYXYgLm5hdiAuZHJvcGRvd24tbWVudSBsaS5kcm9wZG93bi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubmF2YmFyIHtcbiAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgIG1pbi13aWR0aDogJG5hdmJhci1icmFuZC13aWR0aDtcbiAgICB9XG5cbiAgICAuYmxvY2stZmxvYXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICBtYXJnaW46IDAuM2VtO1xuICAgIH1cblxuICAgIC5uYXYtaXRlbSA+IGEubmF2LWxpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiAkbmF2YmFyLXZlcnRpY2FsLWNlbnRlcmluZy1hICFpbXBvcnRhbnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRuYXZiYXItaG9yaXpvbnRhbC1jZW50ZXJpbmctYTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEwcHggJGl0ZW0tYS1wYWRkaW5nLXg7XG4gICAgfVxuXG4gICAgbmF2IHtcbiAgICAgIC5uYXYgPiBsaSA+IGEuaXMtYWN0aXZlLFxuICAgICAgLm5hdiA+IGxpID4gYTpob3ZlcixcbiAgICAgIC5uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gICAgICAubmF2ID4gbGkgPiBhLmFjdGl2ZS10cmFpbCxcbiAgICAgIC5uYXYgPiBsaS5hY3RpdmUgPiBhLFxuICAgICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaXRlbS1hLWFjdGl2ZS1jb2xvci1sZztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGl0ZW0tYS1hY3RpdmUtYmctbGc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRuYXZiYXItbGktd2lkdGgtZnVsbCB7XG4gICAgICAubmF2LWl0ZW0ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgLm5hdiB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBuYXYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbmF2YmFyLXRvcCB7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBoZWlnaHQ6ICRuYXZiYXItdG9wLWhlaWdodDtcbiAgICAjYmxvY2staW5mb3JtYXRpb25zbmF2YmFyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LS1tYWluIHtcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tZDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1pbi1oZWlnaHQgMC40cyBlYXNlLWluLW91dCk7XG4gICAgLm5hdiB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JG5hdmJhci1oZWlnaHQtbWR9IC0gKCN7JG5hdmJhci1oZWlnaHQtbmF2YmFyLW5hdn0gKiAyKSk7XG4gICAgfVxuICB9XG5cbiAgI25hdmJhci1tYWluIHtcbiAgICAubmF2IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogJG5hdmJhci1ob3Jpem9udGFsLWNlbnRlcmluZy1saTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIH1cblxuICAgIC5uYXZiYXItbG9nbyB7XG4gICAgICBAaWYgJGxnLXNob3ctbG9nbyA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygjeyRuYXZiYXItaGVpZ2h0LW1kfSAtIDIwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaXRlLW5hbWUge1xuICAgICAgQGlmICRsZy1zaG93LW5hbWUgPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNpdGUtc2xvZ2FuIHtcbiAgICAgIEBpZiAkbGctc2hvdy1zbG9nYW4gPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci1icmFuZCB7XG4gICAgICBAaWYgJGxnLXNob3ctbmFtZSA9PSBmYWxzZSBhbmQgJGxnLXNob3ctc2xvZ2FuID09IGZhbHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5kcm9wZG93biB7XG4gICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRuYXZiYXItZHJvcG1lbnUtcmFkaXVzO1xuICAgICAgICBAaWYgJG5hdmJhci1kcm9wZG93bi1tZW51LXNoYWRvdyB7XG4gICAgICAgICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KCRuYXZiYXItc2hhZG93LW9wYWNpdHktYWZmaXgtdG9wLCAwcHgsIDZweCwgNnB4LCAwcHgsICRuYXZiYXItc2hhZG93LWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtOmxhc3QtY2hpbGQuZHJvcGRvd24sIC5kcm9wZG93bi5kcm9wZG93bi1yaWdodCB7XG4gICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vLmN3LWZsYiB7XG4gICAgLy8gIGRpc3BsYXk6IG5vbmU7XG4gICAgLy99XG4gIH1cblxuICAuYWZmaXgtc2Nyb2xsIHtcbiAgICAubWVudS0tbWFpbiB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1pbi1oZWlnaHQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tZC1hZmZpeC1zY3JvbGw7XG4gICAgICAubmF2IHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZC1hZmZpeC1zY3JvbGx9IC0gI3skbmF2YmFyLWhlaWdodC1uYXZiYXItbmF2fSk7XG4gICAgICB9XG4gICAgfVxuICAgICNuYXZiYXItbWFpbiB7XG4gICAgICAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZC1hZmZpeC1zY3JvbGx9IC0gMjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm5hdmJhciAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICBtYXgtd2lkdGg6ICRuYXZiYXItbWluaS1sb2dvLXdpZHRoLWxnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSh4cykge1xuICAubmF2YmFyIC5uYXZiYXItYnJhbmQgYSB7XG4gICAgbWF4LXdpZHRoOiAxNzBweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICNuYXZiYXItbWFpbiAubmF2YmFyLWJyYW5kIHtcbiAgICBtYXgtd2lkdGg6ICRuYXZiYXItYnJhbmQtd2lkdGg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKG1kLCBsZykge1xuICAubmF2YmFyIG5hdiAubmF2IGxpIGEge1xuICAgIHBhZGRpbmc6IDEwcHggOHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICB9XG59XG4iLCIvKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBPUFRJT05TICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiogKioqKioqKioqKioqKiovXG5AaWYgJGxvZ28tb3V0LW5hdmJhciB7XG4gICNuYXZiYXItbWFpbiAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC14c30gKyAxMHB4KTtcbiAgICB9XG4gIH1cblxuICAjbmF2YmFyLW1haW4gLm5hdmJhci1icmFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1sb2dvIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDE1cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZH0gKyAyMHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1icmFuZCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGxlZnQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6ICRsb2dvLW91dC1uYXZiYXItYnJhbmQtbGVmdDtcbiAgICB9XG5cbiAgICAuYWZmaXgtc2Nyb2xsIHtcbiAgICAgICNuYXZiYXItbWFpbiAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygjeyRuYXZiYXItaGVpZ2h0LW1kLWFmZml4LXNjcm9sbH0gKyA3cHgpO1xuICAgICAgfVxuXG4gICAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1icmFuZCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obGVmdCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgbGVmdDogY2FsYygjeyRsb2dvLW91dC1uYXZiYXItYnJhbmQtbGVmdH0gLSAyMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRsb2dvLWJnIHtcbiAgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1iZztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5hZmZpeC1zY3JvbGwge1xuICAgICAgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRuYXZiYXItdG9wIHtcbiAgLm5hdmJhciBuYXYubWVudS0tc2Vjb25kYXJ5IC5uYXYgbGkgYSB7XG4gICAgY29sb3I6IHJnYmEoJG5hdmJhci10b3AtY29sb3IsIDAuNik7XG4gIH1cblxuICAubmF2YmFyIG5hdi5tZW51LS1zZWNvbmRhcnkge1xuICAgIC5uYXYgPiBsaSA+IGEuaXMtYWN0aXZlLFxuICAgIC5uYXYgPiBsaSA+IGE6aG92ZXIsXG4gICAgLm5hdiA+IGxpID4gYTpmb2N1cyxcbiAgICAubmF2ID4gbGkgPiBhLmFjdGl2ZS10cmFpbCxcbiAgICAubmF2ID4gbGkuYWN0aXZlID4gYSxcbiAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpob3ZlcixcbiAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci10b3AtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICNuYXZiYXItbWFpbiB7XG4gICAgICAubWVudS0tc2Vjb25kYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtICRuYXZiYXItdG9wLWhlaWdodDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIHdpZHRoOiA0MHZ3O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRuYXZiYXItZm9udC1zaXplfSAtIDAuMDVyZW0pO1xuICAgICAgICAgIHBhZGRpbmc6IDdweCAxNHB4O1xuICAgICAgICAgIGhlaWdodDogJG5hdmJhci10b3AtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFmZml4LXNjcm9sbCB7XG4gICAgICAjbmF2YmFyLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oaGVpZ2h0IDAuNHMgZWFzZS1pbi1vdXQpO1xuICAgICAgICBoZWlnaHQ6ICRuYXZiYXItdG9wLWhlaWdodC1hZmZpeC1zY3JvbGwtbGc7XG4gICAgICB9XG5cbiAgICAgICNuYXZiYXItbWFpbiB7XG4gICAgICAgIC5tZW51LS1zZWNvbmRhcnkge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odG9wIDAuNHMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgIHRvcDogLSAkbmF2YmFyLXRvcC1oZWlnaHQtYWZmaXgtc2Nyb2xsLWxnO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCAwLjRzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIGhlaWdodDogJG5hdmJhci10b3AtaGVpZ2h0LWFmZml4LXNjcm9sbC1sZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRMOpZ3JhZMOpIGVuIGFmZml4LXRvcCBwb3VyIGFtw6lsaW9yZXIgbGlzaWJpbGl0w6kgcG91ciBuYXZiYXIgdHJhbnNwYXJlbnRlXG5AaWYgJG5hdmJhci1ncmFkaWVudC1hZmZpeC10b3Age1xuICAubmF2YmFyIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoJG5hdmJhci1ncmFkaWVudC1hZmZpeC10b3AtY29sb3ItMSwgJG5hdmJhci1ncmFkaWVudC1hZmZpeC10b3Atb3BhY2l0eS0xKSAwJSwgcmdiYSgkbmF2YmFyLWdyYWRpZW50LWFmZml4LXRvcC1jb2xvci0yLCAkbmF2YmFyLWdyYWRpZW50LWFmZml4LXRvcC1vcGFjaXR5LTIpIDcwJSkpO1xuICB9XG4gIC5hZmZpeC1zY3JvbGwgLm5hdmJhciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZVxuICB9XG59XG5cbi8vIENvdWxldXJzIGRlIGxhIG5hdmJhciBkaWZmw6lyZW50cyBhdSBhZmZpeC1zY3JvbGxcbkBpZiAkbmF2YmFyLWNvbG9ycy1kaWZmZXJlbnQtc2Nyb2xsIHtcbiAgLmFmZml4LXNjcm9sbCB7XG4gICAgLm5hdmJhciAubmF2YmFyLWJyYW5kIGEgeyAvLyBzbG9nYW5cbiAgICAgIGNvbG9yOiAkbmF2YmFyLWNvbG9ycy1kaWZmZXJlbnQtc2Nyb2xsLWNvbG9yO1xuICAgIH1cbiAgfVxuICAuYWZmaXgtc2Nyb2xsIC5uYXZiYXIsIC5uYXZiYXIgLm5hdmJhci10b2dnbGVyW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7IC8vIHRvZ2dsZXJcbiAgICAgIGJhY2tncm91bmQ6ICRuYXZiYXItY29sb3JzLWRpZmZlcmVudC1zY3JvbGwtY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAubmF2YmFyIG5hdiB7XG4gICAgICAubmF2IGxpIGEge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1jb2xvcnMtZGlmZmVyZW50LXNjcm9sbC1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgLm5hdiA+IGxpID4gYS5pcy1hY3RpdmUsXG4gICAgICAubmF2ID4gbGkgPiBhOmhvdmVyLFxuICAgICAgLm5hdiA+IGxpID4gYTpmb2N1cyxcbiAgICAgIC5uYXYgPiBsaSA+IGEuYWN0aXZlLXRyYWlsLFxuICAgICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpob3ZlcixcbiAgICAgIC5uYXYgPiBsaS5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItY29sb3JzLWRpZmZlcmVudC1zY3JvbGwtYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuYWZmaXgtc2Nyb2xsIHtcbiAgICAgIC5uYXZiYXIgbmF2IHtcbiAgICAgICAgLm5hdiBsaSBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1jb2xvcnMtZGlmZmVyZW50LXNjcm9sbC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXYgPiBsaSA+IGEuaXMtYWN0aXZlLFxuICAgICAgICAubmF2ID4gbGkgPiBhOmhvdmVyLFxuICAgICAgICAubmF2ID4gbGkgPiBhOmZvY3VzLFxuICAgICAgICAubmF2ID4gbGkgPiBhLmFjdGl2ZS10cmFpbCxcbiAgICAgICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgICAgIC5uYXYgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLFxuICAgICAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICRuYXZiYXItY29sb3JzLWRpZmZlcmVudC1zY3JvbGwtYWN0aXZlLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9tYnJlIGRlIGxhIG5hdmJhclxuQGlmICRuYXZiYXItc2hhZG93IHtcbiAgLmN3LW5hdmJhciB7XG4gICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KCRuYXZiYXItc2hhZG93LW9wYWNpdHktYWZmaXgtdG9wLCAwcHgsIDZweCwgNnB4LCAwcHgsICRuYXZiYXItc2hhZG93LWNvbG9yKTtcbiAgfVxuICAuYWZmaXgtc2Nyb2xsIC5jdy1uYXZiYXIge1xuICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygkbmF2YmFyLXNoYWRvdy1vcGFjaXR5LWFmZml4LXNjcm9sbCwgMHB4LCA2cHgsIDZweCwgMHB4LCAkbmF2YmFyLXNoYWRvdy1jb2xvcik7XG4gIH1cbn1cblxuLy8gQWZmaWNoZSBtaW5pLWxvZ28tc2Nyb2xsZWQucG5nIGxvcnMgZHUgc2Nyb2xsXG5AaWYgJHNob3ctbWluaS1sb2dvLWFmZml4LXNjcm9sbCB7XG4gIC5uYXZiYXIge1xuICAgIC5uYXZiYXItbG9nbyB7XG4gICAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vZmlsZXMvbWluaS1sb2dvLXNjcm9sbGVkLnBuZycpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLm5hdmJhciB7XG4gICAgICAubmF2YmFyLWxvZ28ge1xuICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIGJvZHkubG9hZGVkLmFmZml4LXNjcm9sbCAubmF2YmFyLWxvZ28ge1xuICAgICAgaW1nIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgYTo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPbmdsZXQgYXZlYyBsaWduZSBlbiBkZXNzb3VzXG5AaWYgJG5hdmJhci1hLXVuZGVybGluZS1hY3RpdmUge1xuICAjbmF2YmFyLW1haW4sICNuYXZiYXItdG9wIHtcbiAgICBuYXYgLm5hdiBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMjBweCAxNXB4O1xuICAgIH1cblxuICAgIG5hdiAubmF2IC5kcm9wZG93bi1tZW51IGxpLmRyb3Bkb3duLWl0ZW0gYSB7XG4gICAgICBwYWRkaW5nOiAxMHB4ICRpdGVtLWEtcGFkZGluZy14O1xuICAgIH1cblxuICAgIGxpLm5hdi1pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBhLm5hdi1saW5rIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAkbmF2YmFyLWEtdW5kZXJsaW5lLWhlaWdodDtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUsICYuaXMtYWN0aXZlLCAmOmhvdmVyLCAmOmZvY3VzIHsgLy8gJi5pcy1hY3RpdmUgcG91ciBsJ29uZ2xldCBBY2N1ZWlsXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNibG9jay1jdy1zYXNzLWJzNC1tYWluLW1lbnUge1xuICAgIGEubmF2LWxpbmsge1xuICAgICAgJi5hY3RpdmUsICYuaXMtYWN0aXZlLCAmOmhvdmVyLCAmOmZvY3VzIHsgLy8gJi5pcy1hY3RpdmUgcG91ciBsJ29uZ2xldCBBY2N1ZWlsXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKGxpbmVhci1ncmFkaWVudCg5MGRlZywgJG5hdmJhci1hLXVuZGVybGluZS1jb2xvciAwJSwgJG5hdmJhci1hLXVuZGVybGluZS1jb2xvciAxMDAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbmF2YmFyLXRvcCwgI2Jsb2NrLWN3LXNhc3MtYnM0LXNlY29uZGFyeS1tZW51IHtcbiAgICBhLm5hdi1saW5rIHtcbiAgICAgICYuYWN0aXZlLCAmLmlzLWFjdGl2ZSwgJjpob3ZlciwgJjpmb2N1cyB7IC8vICYuaXMtYWN0aXZlIHBvdXIgbCdvbmdsZXQgQWNjdWVpbFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRuYXZiYXItdG9wLWEtdW5kZXJsaW5lLWNvbG9yIDAlLCAkbmF2YmFyLXRvcC1hLXVuZGVybGluZS1jb2xvciAxMDAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgI25hdmJhci1tYWluLCAjbmF2YmFyLXRvcCB7XG4gICAgICBuYXYgLm5hdiBsaSBhIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAkaXRlbS1hLXBhZGRpbmcteDtcbiAgICAgIH1cblxuICAgICAgYS5uYXYtbGluayB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaWYgKCRuYXZiYXItYS11bmRlcmxpbmUtYWN0aXZlLXBvc2l0aW9uID09IGNlbnRlcikge1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgbGVmdDogMTRweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUsICYuaXMtYWN0aXZlLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaWYgKCRuYXZiYXItYS11bmRlcmxpbmUtYWN0aXZlLXBvc2l0aW9uID09IGNlbnRlcikge1xuICAgICAgICAgICAgICB3aWR0aDogJG5hdmJhci1hLXVuZGVybGluZS13aWR0aDtcbiAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAoI3skbmF2YmFyLWEtdW5kZXJsaW5lLXdpZHRofSAvIDIpKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICB3aWR0aDogJG5hdmJhci1hLXVuZGVybGluZS13aWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTG9nbyBwcmVuZHMgbGEgaGF1dGV1ciBkZSBsYSBuYXZiYXIgcHJpbmNpcGFsIHBsdXMgbGEgbmF2YmFyIHNlY29uZGFpcmVcbkBpZiAkbmF2YmFyLXRvcC1sb2dvLW92ZXIgYW5kICRuYXZiYXItdG9wIHtcbiAgLm1lbnUtLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKCRuYXZiYXItdG9wLWJnLCAwKSAxMCUsIGRhcmtlbigkbmF2YmFyLXRvcC1iZywgMyUpIDcwJSk7XG4gIH1cblxuICAjYmxvY2staW5mb3JtYXRpb25zbmF2YmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICNuYXZiYXItbWFpbiAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zNXB4O1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKCN7JG5hdmJhci1oZWlnaHQtbWR9ICsgI3skbmF2YmFyLXRvcC1oZWlnaHR9IC0gMTBweCk7XG4gICAgfVxuICAgIC5hZmZpeC1zY3JvbGwgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyBpbWcge1xuICAgICAgbWFyZ2luLXRvcDogLTM1cHg7XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKCN7JG5hdmJhci1oZWlnaHQtbWQtYWZmaXgtc2Nyb2xsfSArICN7JG5hdmJhci10b3AtaGVpZ2h0LWFmZml4LXNjcm9sbC1sZ30gLSAxMHB4KTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbG9nbyBjZW50csOpXG5AaWYgJGxvZ28tY2VudGVyLW5hdmJhciB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAjYmxvY2stY3ctc2Fzcy1iczQtbWFpbi1tZW51IC5uYXYsIC5uYXZiYXItY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5uYXZiYXItbG9nbyB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgfVxuXG4gICAgLm5hdmJhci1icmFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2Jsb2NrLWN3LXNhc3MtYnM0LW1haW4tbWVudSB7XG4gICAgICBtYXgtd2lkdGg6IDEyMDBweDtcblxuICAgICAgbGkubmF2LWl0ZW0ge1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKCN7JGxvZ28tY2VudGVyLW5hdmJhci1wb3NpdGlvbn0pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItbWluaS1sb2dvLXdpZHRoLWxnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE5hdmJhciBibHVyIC0gZmxvdVxuQGlmICRuYXZiYXItYmx1ciB7XG4gICNuYXZiYXItbWFpbiB7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoJGJsdXItdmFsdWUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigkYmx1ci12YWx1ZSk7XG4gIH1cbn1cbiIsIi8vIGNhcm91c2VsIGRhbnMganVtYm90cm9uXG4uanVtYm90cm9uLWNhcm91c2VsLFxuLmp1bWJvdHJvbi1jYXJvdXNlbCAuY29udGVudCxcbi5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNvbnRlbnQgLmZpZWxkLFxuLmp1bWJvdHJvbi1jYXJvdXNlbCAuY29udGVudCAuZmllbGQgLmNhcm91c2VsLFxuLmp1bWJvdHJvbi1jYXJvdXNlbCAuY29udGVudCAuZmllbGQgLmNhcm91c2VsIC5jYXJvdXNlbC1pbm5lcixcbi5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNvbnRlbnQgLmZpZWxkIC5jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIgLmNhcm91c2VsLWl0ZW0ge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiNtYWluIC5jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIge1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG4uanVtYm90cm9uLWNhcm91c2VsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG5cbiAgW2NsYXNzKj1cImNhcm91c2VsLWNvbnRyb2wtXCJdIHtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cblxuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gICYuanVtYm90cm9uLWNhcm91c2VsLWZyIHtcbiAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMSkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEtbW9iLmpwZycpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMikge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzItbW9iLmpwZycpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMykge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzMtbW9iLmpwZycpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLm5vdC1mcm9udCAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm90dG9tOiAtNXB4O1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG1pbi1oZWlnaHQ6ICRqdW1ib3Ryb24taGVpZ2h0LW5vdC1mcm9udDtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgfVxuXG4gIC8vIFBlcm1ldCBkZSBkw6ljZW50cmVyIHVuZSBzbGlkZSBkdSBjYXJvdXNlbCAocG91ciBsZSBtb2JpbGUsIHZvaXIgbGUgcmVuZHUgZW4gMTkyMHB4KVxuICAvLy5jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCgxKSB7XG4gIC8vICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTg1cHg7XG4gIC8vfVxuICAvLy5jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCgyKSB7XG4gIC8vICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTU1cHg7XG4gIC8vfVxuICAvLy5jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCgzKSB7XG4gIC8vICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTExNXB4O1xuICAvL31cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICAmLmp1bWJvdHJvbi1jYXJvdXNlbC1mciB7XG4gICAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS5qcGcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzIuanBnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MzLmpwZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuanVtYm90cm9uLWNhcm91c2VsLW5mIHtcbiAgICAgIC5jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MxLXNsaW0uanBnJyk7XG4gICAgICB9XG5cbiAgICAgIC5jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MyLXNsaW0uanBnJyk7XG4gICAgICB9XG5cbiAgICAgIC5jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MzLXNsaW0uanBnJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGNhcm91c2VsIGNvbnRlbmFudCB1bmlxdWVtZW50IGR1IHRleHRlXG4uY3ctY2Fyb3VzZWwtdHh0IHtcbiAgLmNpdGF0aW9uIHtcbiAgICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHNlY29uZGFyeS1mb250LXdlaWdodDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxuICAuYXV0ZXVyIHtcbiAgICBmb250LWZhbWlseTogJGRhbWllci1oMi1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGRhbWllci1oMi1mb250LXdlaWdodDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgfVxuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeSwgMC4wNSk7XG4gIH1cblxuICAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTEwcHgpO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICB9XG5cbiAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5jYXJvdXNlbC1jb250cm9sLXByZXYsIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICAgIHRvcDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAwLjA1KTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmN3LWNhcm91c2VsLXR4dCB7XG4gICAgLmNhcm91c2VsLWlubmVyIHtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgfVxuICB9XG59XG4iLCIucmVnaW9uLWp1bWJvdHJvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JG5hdmJhci1oZWlnaHQteHN9IC0gI3skbmF2YmFyLXRvcC1oZWlnaHR9KTtcbn1cblxuLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCwgLmp1bWJvdHJvbi1ibG9jLWN1c3RvbSwgLmp1bWJvdHJvbi1ibG9jLWluZm9zIHtcbiAgei1pbmRleDogMjtcbn1cblxuLmp1bWJvdHJvbi1ibG9jLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTIge1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBhIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tbG9nbyBpbWcge1xuICBAaWYgJGp1bWJvdHJvbi1zaGFkb3cge1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coJGp1bWJvdHJvbi1zaGFkb3cteCAkanVtYm90cm9uLXNoYWRvdy15ICRqdW1ib3Ryb24tc2hhZG93LWJsdXIgcmdiYSgkanVtYm90cm9uLXNoYWRvdy1jb2xvciwgJGp1bWJvdHJvbi1zaGFkb3ctb3BhY2l0eSkpO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZGVub21pbmF0aW9uIHtcbiAgY29sb3I6IHJnYmEoJGp1bWJvdHJvbi1jb2xvciwgMSk7XG4gIGZvbnQtZmFtaWx5OiAkanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtc2l6ZS14cztcbiAgbGluZS1oZWlnaHQ6ICRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tbGV0dGVyLXNwYWNpbmc7XG4gIHRleHQtdHJhbnNmb3JtOiAkanVtYm90cm9uLWRlbm9taW5hdGlvbi10ZXh0LXRyYW5zZm9ybTtcbiAgQGlmICRqdW1ib3Ryb24tc2hhZG93IHtcbiAgICB0ZXh0LXNoYWRvdzogJGp1bWJvdHJvbi1zaGFkb3cteCAkanVtYm90cm9uLXNoYWRvdy15ICRqdW1ib3Ryb24tc2hhZG93LWJsdXIgcmdiYSgkanVtYm90cm9uLXNoYWRvdy1jb2xvciwgJGp1bWJvdHJvbi1zaGFkb3ctb3BhY2l0eSk7XG4gIH1cbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC13ZWlnaHQtc3Ryb25nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tc2xvZ2FuIHtcbiAgY29sb3I6IHJnYmEoJGp1bWJvdHJvbi1jb2xvciwgMSk7XG4gIGZvbnQtZmFtaWx5OiAkanVtYm90cm9uLXNsb2dhbi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRqdW1ib3Ryb24tc2xvZ2FuLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRqdW1ib3Ryb24tc2xvZ2FuLWZvbnQtc2l6ZS14cztcbiAgbGluZS1oZWlnaHQ6ICRqdW1ib3Ryb24tc2xvZ2FuLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGp1bWJvdHJvbi1zbG9nYW4tbGV0dGVyLXNwYWNpbmc7XG4gIHRleHQtdHJhbnNmb3JtOiAkanVtYm90cm9uLXNsb2dhbi10ZXh0LXRyYW5zZm9ybTtcbiAgQGlmICRqdW1ib3Ryb24tc2hhZG93IHtcbiAgICB0ZXh0LXNoYWRvdzogJGp1bWJvdHJvbi1zaGFkb3cteCAkanVtYm90cm9uLXNoYWRvdy15ICRqdW1ib3Ryb24tc2hhZG93LWJsdXIgcmdiYSgkanVtYm90cm9uLXNoYWRvdy1jb2xvciwgJGp1bWJvdHJvbi1zaGFkb3ctb3BhY2l0eSk7XG4gIH1cbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogJGp1bWJvdHJvbi1zbG9nYW4tZm9udC13ZWlnaHQtc3Ryb25nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tdGVsZXBob25lIGEge1xuICBjb2xvcjogcmdiYSgkanVtYm90cm9uLWNvbG9yLCAwLjg1KTtcbiAgZm9udC1mYW1pbHk6ICRqdW1ib3Ryb24tdGVsLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGp1bWJvdHJvbi10ZWwtZm9udC13ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGp1bWJvdHJvbi10ZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGp1bWJvdHJvbi10ZWwtbGluZS1oZWlnaHQ7XG4gIGxldHRlci1zcGFjaW5nOiAkanVtYm90cm9uLXRlbC1sZXR0ZXItc3BhY2luZztcbiAgdGV4dC10cmFuc2Zvcm06ICRqdW1ib3Ryb24tdGVsLXRleHQtdHJhbnNmb3JtO1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgfVxuICBAaWYgJGp1bWJvdHJvbi1zaGFkb3cge1xuICAgIHRleHQtc2hhZG93OiAkanVtYm90cm9uLXNoYWRvdy14ICRqdW1ib3Ryb24tc2hhZG93LXkgJGp1bWJvdHJvbi1zaGFkb3ctYmx1ciByZ2JhKCRqdW1ib3Ryb24tc2hhZG93LWNvbG9yLCAkanVtYm90cm9uLXNoYWRvdy1vcGFjaXR5KTtcbiAgfVxufVxuXG4uanVtYm90cm9uLWFkcmVzc2UgYSB7XG4gIGNvbG9yOiByZ2JhKCRqdW1ib3Ryb24tY29sb3IsIDAuODUpO1xuICBmb250LWZhbWlseTogJGp1bWJvdHJvbi1hZHJlc3NlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGp1bWJvdHJvbi1hZHJlc3NlLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRqdW1ib3Ryb24tYWRyZXNzZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkanVtYm90cm9uLWFkcmVzc2UtbGluZS1oZWlnaHQ7XG4gIGxldHRlci1zcGFjaW5nOiAkanVtYm90cm9uLWFkcmVzc2UtbGV0dGVyLXNwYWNpbmc7XG4gIHRleHQtdHJhbnNmb3JtOiAkanVtYm90cm9uLWFkcmVzc2UtdGV4dC10cmFuc2Zvcm07XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICB9XG4gIEBpZiAkanVtYm90cm9uLXNoYWRvdyB7XG4gICAgdGV4dC1zaGFkb3c6ICRqdW1ib3Ryb24tc2hhZG93LXggJGp1bWJvdHJvbi1zaGFkb3cteSAkanVtYm90cm9uLXNoYWRvdy1ibHVyIHJnYmEoJGp1bWJvdHJvbi1zaGFkb3ctY29sb3IsICRqdW1ib3Ryb24tc2hhZG93LW9wYWNpdHkpO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tYm91dG9uLTEgIHtcbiAgZm9udC1mYW1pbHk6ICRqdW1ib3Ryb24tYm91dG9uLTEtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkanVtYm90cm9uLWJvdXRvbi0xLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRqdW1ib3Ryb24tYm91dG9uLTEtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGp1bWJvdHJvbi1ib3V0b24tMS1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRqdW1ib3Ryb24tYm91dG9uLTEtbGV0dGVyLXNwYWNpbmc7XG4gIHRleHQtdHJhbnNmb3JtOiAkanVtYm90cm9uLWJvdXRvbi0xLXRleHQtdHJhbnNmb3JtO1xuICBhIHtcbiAgICBjb2xvcjogcmdiYSgkanVtYm90cm9uLWNvbG9yLCAwLjg1KTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICAgIH1cbiAgICBAaWYgJGp1bWJvdHJvbi1zaGFkb3cge1xuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygkanVtYm90cm9uLXNoYWRvdy14ICRqdW1ib3Ryb24tc2hhZG93LXkgJGp1bWJvdHJvbi1zaGFkb3ctYmx1ciByZ2JhKCRqdW1ib3Ryb24tc2hhZG93LWNvbG9yLCAkanVtYm90cm9uLXNoYWRvdy1vcGFjaXR5KSk7XG4gICAgfVxuICB9XG59XG5cbi5qdW1ib3Ryb24tYm91dG9uLTIge1xuICBmb250LWZhbWlseTogJGp1bWJvdHJvbi1ib3V0b24tMi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRqdW1ib3Ryb24tYm91dG9uLTItZm9udC13ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGp1bWJvdHJvbi1ib3V0b24tMi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkanVtYm90cm9uLWJvdXRvbi0yLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGp1bWJvdHJvbi1ib3V0b24tMi1sZXR0ZXItc3BhY2luZztcbiAgdGV4dC10cmFuc2Zvcm06ICRqdW1ib3Ryb24tYm91dG9uLTItdGV4dC10cmFuc2Zvcm07XG4gIGEge1xuICAgIGNvbG9yOiByZ2JhKCRqdW1ib3Ryb24tY29sb3IsIDAuODUpO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gICAgfVxuICAgIEBpZiAkanVtYm90cm9uLXNoYWRvdyB7XG4gICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KCRqdW1ib3Ryb24tc2hhZG93LXggJGp1bWJvdHJvbi1zaGFkb3cteSAkanVtYm90cm9uLXNoYWRvdy1ibHVyIHJnYmEoJGp1bWJvdHJvbi1zaGFkb3ctY29sb3IsICRqdW1ib3Ryb24tc2hhZG93LW9wYWNpdHkpKTtcbiAgICB9XG4gIH1cbn1cblxuLm5vdC1mcm9udCAucmVnaW9uLWp1bWJvdHJvbiB7XG4gIG1pbi1oZWlnaHQ6ICRqdW1ib3Ryb24taGVpZ2h0LW5vdC1mcm9udDtcblxuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIC5maWVsZCB7XG4gICAgbWluLWhlaWdodDogJGp1bWJvdHJvbi1oZWlnaHQtbm90LWZyb250O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LW1kfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSk7XG4gIH1cblxuICAubm90LWZyb250IC5jdy1qdW1ib3Ryb24ge1xuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgLmp1bWJvdHJvbi1kZW5vbWluYXRpb24ge1xuICAgICAgICBmb250LXNpemU6ICRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtc2l6ZS1sZy1uZjtcbiAgICAgIH1cbiAgICAgIC5qdW1ib3Ryb24tc2xvZ2FuIHtcbiAgICAgICAgZm9udC1zaXplOiAkanVtYm90cm9uLXNsb2dhbi1mb250LXNpemUtbGctbmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmp1bWJvdHJvbi1kZW5vbWluYXRpb24ge1xuICAgIGZvbnQtc2l6ZTogJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC1zaXplLWxnO1xuICB9XG4gIC5qdW1ib3Ryb24tc2xvZ2FuIHtcbiAgICBmb250LXNpemU6ICRqdW1ib3Ryb24tc2xvZ2FuLWZvbnQtc2l6ZS1sZztcbiAgfVxufVxuXG5AaWYgJG5hdmJhci1vcGFjaXR5IDwgMSB7XG4gIC5jdy1uYXZiYXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBNQVJHRVNcbi5qdW1ib3Ryb24tZGVub21pbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLWRlbm9taW5hdGlvbjtcbn1cbi5qdW1ib3Ryb24tc2xvZ2FuIHtcbiAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLXNsb2dhbjtcbn1cbi5qdW1ib3Ryb24tYWRyZXNzZSB7XG4gIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC1hZHJlc3NlO1xufVxuLmp1bWJvdHJvbi10ZWxlcGhvbmUge1xuICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLXhzLW1hcmdpbi10b3AtdGVsZXBob25lO1xufVxuLmp1bWJvdHJvbi1ib3V0b24tMSB7XG4gIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC1ib3V0b24tMTtcbn1cbi5qdW1ib3Ryb24tYm91dG9uLTIge1xuICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLXhzLW1hcmdpbi10b3AtYm91dG9uLTI7XG59XG4uanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTIge1xuICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLXhzLW1hcmdpbi10b3AtanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTI7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmp1bWJvdHJvbi1kZW5vbWluYXRpb24ge1xuICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tZnJvbnQtbWFyZ2luLXRvcC1kZW5vbWluYXRpb247XG4gIH1cbiAgLmp1bWJvdHJvbi1zbG9nYW4ge1xuICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tZnJvbnQtbWFyZ2luLXRvcC1zbG9nYW47XG4gIH1cbiAgLmp1bWJvdHJvbi1hZHJlc3NlIHtcbiAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLWZyb250LW1hcmdpbi10b3AtYWRyZXNzZTtcbiAgfVxuICAuanVtYm90cm9uLXRlbGVwaG9uZSB7XG4gICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLXRlbGVwaG9uZTtcbiAgfVxuICAuanVtYm90cm9uLWJvdXRvbi0xIHtcbiAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLWZyb250LW1hcmdpbi10b3AtYm91dG9uLTE7XG4gIH1cbiAgLmp1bWJvdHJvbi1ib3V0b24tMiB7XG4gICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWJvdXRvbi0yO1xuICB9XG4gIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMiB7XG4gICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0yO1xuICB9XG5cbiAgLm5vdC1mcm9udCB7XG4gICAgLmp1bWJvdHJvbi1kZW5vbWluYXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1kZW5vbWluYXRpb247XG4gICAgfVxuICAgIC5qdW1ib3Ryb24tc2xvZ2FuIHtcbiAgICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3Atc2xvZ2FuO1xuICAgIH1cbiAgICAuanVtYm90cm9uLWFkcmVzc2Uge1xuICAgICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1hZHJlc3NlO1xuICAgIH1cbiAgICAuanVtYm90cm9uLXRlbGVwaG9uZSB7XG4gICAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLXRlbGVwaG9uZTtcbiAgICB9XG4gICAgLmp1bWJvdHJvbi1ib3V0b24tMSB7XG4gICAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLWJvdXRvbi0xO1xuICAgIH1cbiAgICAuanVtYm90cm9uLWJvdXRvbi0yIHtcbiAgICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3AtYm91dG9uLTI7XG4gICAgfVxuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMiB7XG4gICAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTI7XG4gICAgfVxuICB9XG59XG4iLCIvKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBKVU1CT1RST04gQU5EUk9NRURFICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG5cbi5yZWdpb24tanVtYm90cm9uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LXhzfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30pO1xuXG4gIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LXhzfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSk7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gIHRleHQtYWxpZ246ICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nO1xuXG4gIC5maWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8vYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JG5hdmJhci1oZWlnaHQteHN9IC0gI3skbmF2YmFyLXRvcC1oZWlnaHR9IC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LXhzfSk7XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG5cbi5yZWdpb24tanVtYm90cm9uLCAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cblxuW2NsYXNzKj1cImp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC1cIl0ge1xuICBwYWRkaW5nOiAwLjVyZW07XG59XG5cbi5ub3QtZnJvbnQge1xuICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgQGlmICgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSA9PSAxKSB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHQtbm90LWZyb250fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30pO1xuICAgIH1cbiAgICBAaWYgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsLW5mID09IGZhbHNlIHtcbiAgICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPCAxKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MxLXNsaW0tbW9iLmpwZycpO1xuICAgICAgfSBAZWxzZSBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1zbGltLW1vYi5qcGcnKTtcblxuICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgLmZpZWxkIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodC1ub3QtZnJvbnR9KTtcbiAgICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHQtbm90LWZyb250fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30gKyA2MHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuanVtYm90cm9uLWxvZ28gaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAkamJuZi1sb2dvLW1heC1oZWlnaHQ7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gIC5ub3QtZnJvbnQgLmp1bWJvdHJvbi1sb2dvIHtcbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LW1kfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSk7XG4gICAgQGlmICgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSA9PSAxKSB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skbmF2YmFyLWhlaWdodC1tZH0gLSAjeyRuYXZiYXItdG9wLWhlaWdodH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQtbGd9KTtcbiAgICB9XG4gIH1cblxuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIC5maWVsZCB7XG4gICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JG5hdmJhci1oZWlnaHQtbWR9IC0gI3skbmF2YmFyLXRvcC1oZWlnaHR9IC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LWxnfSk7XG4gIH1cblxuXG4gIC5ub3QtZnJvbnQge1xuICAgIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAgIEBpZiAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwtbmYgPT0gZmFsc2Uge1xuICAgICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLmNvbnRleHR1YWwtcmVnaW9uIHsgLy8gUsOpaW5pdGlhbGlzZSBsZSBwb3NpdGlvbiByZWxhdGl2ZSBkdSBtb2RlIGNvbm5lY3TDqS5cbiAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmICgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSA8IDEpIGFuZCAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwtbmYgPT0gZmFsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1zbGltLmpwZycpO1xuICAgICAgfSBAZWxzZSBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkgYW5kICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1uZiA9PSBmYWxzZSB7XG4gICAgICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MxLXNsaW0uanBnJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgIC5maWVsZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBbY2xhc3MqPVwianVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLVwiXSB7XG4gICAgICAgICAgZmxleDogMTtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGlmICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1jZW50ZXJpbmcgPT0gXCJiZXR3ZWVuXCIge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgQGlmICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1jZW50ZXJpbmcgPT0gXCJiZXR3ZWVuXCIge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIE9QVElPTlMgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cbkBpZiAkbmF2YmFyLW9wYWNpdHkgIT0gMSB7XG4gICNibG9jay1qdW1ib3Ryb24tbG9nby1zbG9nYW4gLmNvbnRleHR1YWwge1xuICAgIHRvcDogY2FsYygjeyRuYXZiYXItaGVpZ2h0LW1kfSArIDQwcHgpO1xuICB9XG59XG5cbi8vXG5AaWYgJGp1bWJvdHJvbi1ibG9jLWluZm9zLXBvc2l0aW9uID09IHRvcCB7XG4gIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgIHRvcDogJGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14cztcbiAgfVxuICBbY2xhc3MqPVwiY2Fyb3VzZWwtY29udHJvbC1cIl0ge1xuICAgIHRvcDogdW5zZXQ7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgICAgdG9wOiAkanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LWxnO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuQGlmICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEge1xuICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9KTtcblxuICAgIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICAgIGJvdHRvbTogM3ZoO1xuICAgIH1cbiAgfVxuICBbY2xhc3MqPVwiY2Fyb3VzZWwtY29udHJvbC1cIl0ge1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZ30pO1xuXG4gICAgICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgICAgIGJvdHRvbTogMTB2aDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm5vdC1mcm9udCAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICAgIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICAgICAgYm90dG9tOiAzdmg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vXG5AaWYgJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPCAxIGFuZCAkanVtYm90cm9uLWJsb2MtaW5mb3MtcG9zaXRpb24gPT0gdG9wIHtcbiAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbi8vXG5AaWYgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1mb25kIHtcbiAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgd2lkdGg6ICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtd2lkdGg7XG4gIH1cblxuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTEge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWZvbmQtY29sb3IsICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtZm9uZC1vcGFjaXR5KTtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLWJ0bjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vL1xuQGlmICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtbG9nby1mb25kIHtcbiAgLmp1bWJvdHJvbi1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiBjYWxjKDMwdmggKyAycmVtKTtcbiAgICB3aWR0aDogY2FsYygzMHZoICsgMnJlbSk7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1sb2dvLWZvbmQtY29sb3IsICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtbG9nby1mb25kLW9wYWNpdHkpO1xuICB9XG59XG5cbi8vIGJsdXIgLSBmbG91XG5AaWYgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1sb2dvLWZvbmQtYmx1ciB7XG4gIC5qdW1ib3Ryb24tbG9nbyB7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoJGJsdXItdmFsdWUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigkYmx1ci12YWx1ZSk7XG4gIH1cbn1cbkBpZiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWZvbmQtYmx1ciB7XG4gIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMSB7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoJGJsdXItdmFsdWUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigkYmx1ci12YWx1ZSk7XG4gIH1cbn1cblxuXG4vLyBCb3V0b25zIGPDtHRlIMOgIGPDtHRlIGVuIGZyb250XG5AaWYgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1ib3V0b25zLWVuLWxpZ25lIHtcbiAgLmp1bWJvdHJvbi1ib3V0b24tMSB7XG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLmJ0bjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5qdW1ib3Ryb24tYm91dG9uLTEge1xuICAgICAgLmJ0biB7XG4gICAgICAgIG1hcmdpbjogMC4yNXJlbSAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5ub3QtZnJvbnQge1xuICAgICAgLmp1bWJvdHJvbi1ib3V0b24tMSB7XG4gICAgICAgIC5idG4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAuNXJlbSBhdXRvO1xuICAgICAgICAgIC8vbWFyZ2luOiAwIGF1dG8gMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENlbnRyYWdlIGRlcyB0ZXh0ZXMgZHUganVtYm90cm9uIGV0IGNhcm91c2VsLWNhcHRpb24gZW4gZnJvbnRcbkBpZiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNlbnRlcmluZyA9PSBsZWZ0IE9SICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nID09IGNlbnRlciBPUiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNlbnRlcmluZyA9PSByaWdodCB7XG4gIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgIHRleHQtYWxpZ246ICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nO1xuICB9XG4gIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246ICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jZW50ZXJpbmcgPT0gbGVmdGNlbnRlciBPUiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNlbnRlcmluZyA9PSByaWdodGNlbnRlciB7XG4gIEBpZiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNlbnRlcmluZyA9PSByaWdodGNlbnRlciB7XG4gICAgLnBhdGgtZnJvbnRwYWdlIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwgLmNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICB9XG4gIC5wYXRoLWZyb250cGFnZSBbY2xhc3MqPVwianVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLVwiXXtcbiAgICBtYXgtd2lkdGg6ICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtd2lkdGg7XG4gIH1cbiAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyAyIGNvbG9ubmVzXG5AaWYgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC0yLWNvbCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIC5maWVsZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0xIHtcbiAgICAgIG1hcmdpbi1yaWdodDogN3Z3O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBdmFudC9BcHLDqHMgZW4gMiBjb2xvbm5lcyBlbiBmcm9udFxuQGlmICRqdW1ib3Ryb24tYXZhbnQtYXByZXMtZnJvbnQge1xuICAubm90LWZyb250IHtcbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5wYXRoLWZyb250cGFnZSB7XG4gICAgICAucmVnaW9uLWp1bWJvdHJvbiAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgLmJlZXItc2xpZGVyIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMTJweCAkd2hpdGU7XG4gICAgICAgICAgLmJlZXItaGFuZGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnksIDAuNSk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBNb3RpZiBvdmVybGF5IHNhbnMgY2Fyb3VzZWxcbkBpZiAkanVtYm90cm9uLW92ZXJsYXkgYW5kICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbCA9PSBmYWxzZSB7XG4gIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGN3LW92ZXJsYXkoJG92ZXJsYXktbW90aWYtanVtYm90cm9uLCB0cnVlLCAwLjMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEw6lncmFkw6kgc2FucyBjYXJvdXNlbFxuQGlmICRqdW1ib3Ryb24tZ3JhZGllbnQge1xuICBAaWYgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsID09IGZhbHNlIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMCwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvciwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLXhzKSAwLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTIteHMpICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkKTtcbiAgICAgIH1cbiAgICAgICYuY29udGV4dHVhbC1yZWdpb24geyAvLyBSw6lpbml0aWFsaXNlIGxlIHBvc2l0aW9uIHJlbGF0aXZlIGR1IG1vZGUgY29ubmVjdMOpLlxuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm5vdC1mcm9udCB7XG4gICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLW5mLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLW5mLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEtbGctbmYpIDAsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3ItbmYsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi1sZy1uZikgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQtbmYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEtbGcpIDQ5JSwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvciwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0yLWxnKSAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1leHRlbmRlZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsLW5mID09IHRydWUge1xuICAgIEBpZiAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwtbmYteHMgPT0gZmFsc2Uge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIC5ub3QtZnJvbnQge1xuICAgICAgICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcmllbnRhdGlvbi1uZiwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvci1uZiwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLWxnLW5mKSAwLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLW5mLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTItbGctbmYpICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkLW5mKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGltcG9ydCAnanVtYm90cm9uLWFuZHJvbWVkZS1uYXZiYXInO1xuQGltcG9ydCAnanVtYm90cm9uLWFuZHJvbWVkZS1ibG9jLWluZm9zJztcbkBpbXBvcnQgJ2p1bWJvdHJvbi1hbmRyb21lZGUtY2Fyb3VzZWwnO1xuIiwiLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBKVU1CT1RST04gQU5EUk9NRURFIEJMT0MgSU5GT1MgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBOQVZCQVIgUFJJTkNJUEFMICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vLyBUcmFuc3BhcmVudGVcbkBpZiAkbmF2YmFyLW9wYWNpdHkgPCAxIHtcbiAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9KSAhaW1wb3J0YW50O1xuICB9XG4gIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwgLmZpZWxkIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg2MHB4ICsgI3skbmF2YmFyLWhlaWdodC14c30gKyAjeyRuYXZiYXItdG9wLWhlaWdodH0pO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9IC0gI3skbmF2YmFyLWhlaWdodC14c30pICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5vdC1mcm9udCB7XG4gICAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0LW5vdC1mcm9udH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwgLmZpZWxkIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodC1ub3QtZnJvbnR9IC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LXhzfSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQtbGd9KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIC5maWVsZCB7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYyg2MHB4ICsgI3skbmF2YmFyLWhlaWdodC1tZH0gKyAjeyRuYXZiYXItdG9wLWhlaWdodH0pO1xuICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZ30pICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIE5BVkJBUiBUT1AgICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKiogKioqKioqKioqKioqKiovXG4vLyBMb2dvIG92ZXJcbi8vIExvZ28gcHJlbmRzIGxhIGhhdXRldXIgZGUgbGEgbmF2YmFyIHByaW5jaXBhbCBwbHVzIGxhIG5hdmJhciBzZWNvbmRhaXJlXG5AaWYgJG5hdmJhci10b3AtbG9nby1vdmVyIGFuZCAkbmF2YmFyLXRvcCB7XG4gIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skbmF2YmFyLWhlaWdodC14c30gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9KTtcbiAgICBAaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LXhzfSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LW1kfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSk7XG4gICAgICBAaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEpIHtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JG5hdmJhci1oZWlnaHQtbWR9IC0gI3skbmF2YmFyLXRvcC1oZWlnaHR9IC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LWxnfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIEpVTUJPVFJPTiBBTkRST01FREUgQkxPQyBJTkZPUyAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG5cbi5qdW1ib3Ryb24tYmxvYy1pbmZvcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6ICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHM7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLCAkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSk7XG4gIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWdyYWRpZW50KSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1ncmFkaWVudC1kZWcsIHJnYmEoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLCAkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSkgJGp1bWJvdHJvbi1ibG9jLWluZm9zLWdyYWRpZW50LXN0YXJ0LCByZ2JhKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1lbmQsICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5KSAkanVtYm90cm9uLWJsb2MtaW5mb3MtZ3JhZGllbnQtZW5kKTtcbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxNXB4IDAuNXJlbTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDcwJTtcbiAgICBjb2xvcjogJGp1bWJvdHJvbi1ibG9jLWluZm9zLWNvbG9yO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGp1bWJvdHJvbi1ibG9jLWluZm9zLWNvbG9yLWxpbms7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGp1bWJvdHJvbi1ibG9jLWluZm9zLWNvbG9yLWxpbmstaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmp1bWJvdHJvbi1ibG9jLWluZm9zIHtcbiAgICBtaW4taGVpZ2h0OiAkanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LWxnO1xuXG4gICAgLmZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAvLz4gZGl2IHtcbiAgICAgIC8vICBmbGV4OiAxO1xuICAgICAgLy99XG4gICAgfVxuICB9XG59XG4iLCIvKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBKVU1CT1RST04gQU5EUk9NRURFIENBUk9VU0VMICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG5cbi5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgYm90dG9tOiBjYWxjKCN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30gKyAzdmgpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNlbnRlcmluZztcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIH1cbiAgfVxuXG4gIFtjbGFzcyo9XCJjYXJvdXNlbC1jb250cm9sLVwiXSB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LXhzfSk7XG4gIH1cbn1cblxuLm5vdC1mcm9udCAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgICBib3R0b206IDEyJTtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgICBib3R0b206IGNhbGMoI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LWxnfSArIDV2aCk7XG5cbiAgICAgIHAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBbY2xhc3MqPVwiY2Fyb3VzZWwtY29udHJvbC1cIl0ge1xuICAgICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LWxnfSk7XG4gICAgfVxuICB9XG5cbiAgLm5vdC1mcm9udCAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgICBtaW4taGVpZ2h0OiAkanVtYm90cm9uLWhlaWdodC1ub3QtZnJvbnQ7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3R0b206IGNhbGMoI3skbmF2YmFyLWhlaWdodC14c30gKyAwLjc1cmVtKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIE9QVElPTlMgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cblxuQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbCA9PSBmYWxzZSB7XG4gIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQGlmICgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSA9PSAxKSB7XG4gICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1tb2IuanBnJyk7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPCAxKSB7XG4gICAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEtbW9iLmpwZycpO1xuXG4gICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MxLmpwZycpO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5IDwgMSkge1xuICAgICAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS5qcGcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiA3NyU7XG4gICAgICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbCA9PSB0cnVlIHtcbiAgQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC14cyA9PSB0cnVlIHtcbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuICB9XG5cbiAgQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC14cyA9PSBmYWxzZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1tb2IuanBnJyk7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2UgaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5IDwgMSkge1xuICAgICAgICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEtbW9iLmpwZycpO1xuXG4gICAgICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgIHdpZHRoOiA3MCU7XG4gICAgfVxuICB9XG59XG5cbi8vIE1vdGlmIG92ZXJsYXkgYXZlYyBjYXJvdXNlbFxuQGlmICRqdW1ib3Ryb24tb3ZlcmxheSBhbmQgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsID09IHRydWUge1xuICAuanVtYm90cm9uLWNhcm91c2VsIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjdy1vdmVybGF5KCRvdmVybGF5LW1vdGlmLWp1bWJvdHJvbiwgdHJ1ZSwgMC4zKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRMOpZ3JhZMOpIGF2ZWMgbGUgY2Fyb3VzZWxcbkBpZiAkanVtYm90cm9uLWdyYWRpZW50IGFuZCAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwgPT0gdHJ1ZSB7XG4gIC5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0ge1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMCwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvciwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLXhzKSAwLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTIteHMpICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLm5vdC1mcm9udCB7XG4gICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLW5mLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLW5mLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEtbGctbmYpIDAsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3ItbmYsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi1sZy1uZikgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQtbmYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcmllbnRhdGlvbiwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvciwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLWxnKSAwLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTItbGcpICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRMOpZ3JhZMOpIHNldWxlbWVudCBhdmVjIGNhcm91c2VsIGVuIGxnXG5AaWYgJGp1bWJvdHJvbi1ncmFkaWVudCB7XG4gIEBpZiAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwteHMgPT0gZmFsc2UgYW5kICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEteHMpIDAsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3IsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi14cykgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC14cyA9PSBmYWxzZSBhbmQgJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgIT0gMSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcmllbnRhdGlvbiwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvciwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLXhzKSAwLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTIteHMpICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBtaW5pIGNhcm91c2VsIGRhbnMgbGUganVtYm90cm9uIChkw6lzYWN0aXZlciBibG9jKVxuQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1taW5pIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICB3aWR0aDogMzh2dztcbiAgICAgIH1cbiAgICAgIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogY2FsYyg0MnZ3IC0gMTIwcHgpO1xuICAgICAgICB3aWR0aDogY2FsYyg0MnZ3IC0gMTIwcHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiA1NzBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBhdGgtZnJvbnRwYWdlIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seShsZykge1xuICAgIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICB3aWR0aDogNTB2dztcbiAgICAgIH1cbiAgICAgIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNTB2dyAtIDEyMHB4KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTB2dyAtIDEyMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5yZWdpb24tZm9vdGVyLXNlY29uZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZWdpb24tZm9vdGVyLXNlY29uZC1iZztcbn1cblxuLmJsb2NrLWZ0LWNvb3Jkb25uZWVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsb2MtZnQtY29vcmRvbm5lZXMtYmc7XG59XG5cbi5ibG9jay13Zi1jb250YWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsb2Mtd2YtY29udGFjdC1iZztcbn1cblxuLmZ0LWRlbm9taW5hdGlvbiB7XG4gIGNvbG9yOiAkZm9vdGVyLWRlbm9taW5hdGlvbi1jb2xvcjtcbn1cblxuLmZ0LXNsb2dhbiB7XG4gIGNvbG9yOiAkZm9vdGVyLXNsb2dhbi1jb2xvcjtcbn1cblxuLmZ0LWFkcmVzc2Uge1xuICBjb2xvcjogJGZvb3Rlci1hZHJlc3NlLWNvbG9yO1xufVxuXG4uZnQtdGVsZXBob25lIGEge1xuICBjb2xvcjogJGZvb3Rlci10ZWwtY29sb3I7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkZm9vdGVyLXRlbC1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4uZnQtaG9yYWlyZSB7XG4gIGNvbG9yOiAkZm9vdGVyLWhvcmFpcmUtY29sb3I7XG59XG4iLCIkY29udGFjdC1kZW5vbWluYXRpb24tZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRjb250YWN0LWRlbm9taW5hdGlvbi1mb250LXdlaWdodDogJHRpdGxlLW5vcm1hbC13ZWlnaHQ7XG4kY29udGFjdC1kZW5vbWluYXRpb24tdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kY29udGFjdC1kZW5vbWluYXRpb24tZm9udC1zaXplOiAycmVtO1xuJGNvbnRhY3QtZGVub21pbmF0aW9uLWxpbmUtaGVpZ2h0OiAkY29udGFjdC1saW5lLWhlaWdodDtcbiRjb250YWN0LWRlbm9taW5hdGlvbi1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4kY29udGFjdC1zbG9nYW4tZm9udDogJHRpdGxlLWZvbnQtZmFtaWx5O1xuJGNvbnRhY3Qtc2xvZ2FuLWZvbnQtd2VpZ2h0OiAkdGl0bGUtbm9ybWFsLXdlaWdodDtcbiRjb250YWN0LXNsb2dhbi1mb250LXNpemU6ICRjb250YWN0LWZvbnQtc2l6ZTtcbiRjb250YWN0LXNsb2dhbi1saW5lLWhlaWdodDogJGNvbnRhY3QtbGluZS1oZWlnaHQ7XG4kY29udGFjdC1hZHJlc3NlLWZvbnQ6ICRjb250YWN0LWZvbnQtZmFtaWx5O1xuJGNvbnRhY3QtYWRyZXNzZS1mb250LXNpemU6ICRjb250YWN0LWZvbnQtc2l6ZTtcbiRjb250YWN0LWFkcmVzc2UtbGluZS1oZWlnaHQ6ICRjb250YWN0LWxpbmUtaGVpZ2h0O1xuJGNvbnRhY3QtdGVsZXBob25lLWZvbnQ6ICRjb250YWN0LWZvbnQtZmFtaWx5O1xuJGNvbnRhY3QtdGVsZXBob25lLWZvbnQtc2l6ZTogJGNvbnRhY3QtZm9udC1zaXplO1xuJGNvbnRhY3QtdGVsZXBob25lLWxpbmUtaGVpZ2h0OiAkY29udGFjdC1saW5lLWhlaWdodDtcbiRjb250YWN0LWhvcmFpcmUtZm9udDogJGNvbnRhY3QtZm9udC1mYW1pbHk7XG4kY29udGFjdC1ob3JhaXJlLWZvbnQtc2l6ZTogJGNvbnRhY3QtZm9udC1zaXplO1xuJGNvbnRhY3QtaG9yYWlyZS1saW5lLWhlaWdodDogJGNvbnRhY3QtbGluZS1oZWlnaHQ7XG5cbi5ibG9jay1mdC1jb29yZG9ubmVlcyB7XG4gIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzIDMwcHg7XG4gIGZvbnQtZmFtaWx5OiAkY29udGFjdC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkY29udGFjdC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY29udGFjdC1saW5lLWhlaWdodDtcbn1cblxuLmJsb2NrLXdmLWNvbnRhY3Qge1xuICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcyAzMHB4O1xuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLmZ0LWxvZ28gaW1nIHtcbiAgbWF4LXdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xufVxuXG4uZnQtZGVub21pbmF0aW9uIHtcbiAgZm9udC1mYW1pbHk6ICRjb250YWN0LWRlbm9taW5hdGlvbi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb250YWN0LWRlbm9taW5hdGlvbi1mb250LXdlaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06ICRjb250YWN0LWRlbm9taW5hdGlvbi10ZXh0LXRyYW5zZm9ybTtcbiAgZm9udC1zaXplOiAkY29udGFjdC1kZW5vbWluYXRpb24tZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGNvbnRhY3QtZGVub21pbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xufVxuXG4uZnQtc2xvZ2FuIHN0cm9uZyB7XG4gIGZvbnQtZmFtaWx5OiAkY29udGFjdC1zbG9nYW4tZm9udDtcbiAgZm9udC1zaXplOiAkY29udGFjdC1zbG9nYW4tZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGNvbnRhY3Qtc2xvZ2FuLWxpbmUtaGVpZ2h0O1xufVxuXG4uZnQtYWRyZXNzZSB7XG4gIGZvbnQtZmFtaWx5OiAkY29udGFjdC1hZHJlc3NlLWZvbnQ7XG4gIGZvbnQtc2l6ZTogJGNvbnRhY3QtYWRyZXNzZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY29udGFjdC1hZHJlc3NlLWxpbmUtaGVpZ2h0O1xufVxuXG4uZnQtdGVsZXBob25lIHtcbiAgZm9udC1mYW1pbHk6ICRjb250YWN0LXRlbGVwaG9uZS1mb250O1xuICBmb250LXNpemU6ICRjb250YWN0LXRlbGVwaG9uZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY29udGFjdC10ZWxlcGhvbmUtbGluZS1oZWlnaHQ7XG59XG5cbi5mdC1ob3JhaXJlIHtcbiAgZm9udC1mYW1pbHk6ICRjb250YWN0LWhvcmFpcmUtZm9udDtcbiAgZm9udC1zaXplOiAkY29udGFjdC1ob3JhaXJlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjb250YWN0LWhvcmFpcmUtbGluZS1oZWlnaHQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKiogUVVFUklFUyAqKioqKioqKioqKioqKioqXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5zZWN0aW9uLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxMjMwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAuYmxvY2stZnQtY29vcmRvbm5lZXMge1xuICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzLWxnICRiZXR3ZWVuLXpvbmVzO1xuICB9XG5cbiAgLmJsb2NrLXdmLWNvbnRhY3Qge1xuICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzLWxnICRiZXR3ZWVuLXpvbmVzO1xuICB9XG59XG4iLCIucmVnaW9uLWZvb3Rlci1maWZ0aCB7XG4gIHBhZGRpbmctdG9wOiAkYmV0d2Vlbi16b25lcyAqIDAuNjU7XG4gIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcyAqIDAuNjU7XG4gIGJhY2tncm91bmQ6ICRib3R0b20tYmc7XG4gIEBpZiAoJGJvdHRvbS1ncmFkaWVudCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkYm90dG9tLWdyYWRpZW50LWRlZywgJGJvdHRvbS1iZyAkYm90dG9tLWdyYWRpZW50LXN0YXJ0LCAkYm90dG9tLWJnLWVuZCAkYm90dG9tLWdyYWRpZW50LWVuZCk7XG4gIH1cbn1cblxuLmluZm9zLWJvdHRvbSB7XG4gIGZvbnQtZmFtaWx5OiAkYm90dG9tLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRib3R0b20tZm9udC1zaXplO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2NvbG9yJywgcmdiYSgkYm90dG9tLWNvbG9yLCAxKSwgJGJvdHRvbS1jb2xvcik7XG5cbiAgYSwgYVt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2NvbG9yJywgcmdiYSgkYm90dG9tLWNvbG9yLCAxKSwgJGJvdHRvbS1jb2xvcik7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBhOmhvdmVyLCBhW3R5cGU9XCJidXR0b25cIl06aG92ZXIge1xuICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnY29sb3InLCByZ2JhKCRib3R0b20tY29sb3IsIDAuOCksICRib3R0b20tY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC5jcmVhIGltZyB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKiBRVUVSSUVTICoqKioqKioqKioqKioqKipcblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5pbmZvcy1ib3R0b20ge1xuICAgIC5jcmVhIGltZyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW46IDRweCAwIDAgMTVweDtcbiAgICB9XG4gIH1cbn1cbiIsImh0bWwge1xuICBmb250LXNpemU6ICRjdy1mb250LXNpemUteHM7XG59XG5cbmJvZHkge1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG59XG5cbi50YWJsZSB7XG4gIHRoIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAkY3ctZm9udC1zaXplLW1kO1xuICB9XG5cbiAgLnBhdGgtZnJvbnRwYWdlIHtcbiAgICBoMS50aXRsZSB7XG4gICAgICBmb250LXNpemU6ICRoMS1mb250LXNpemUgKiAxLjM7XG4gICAgfVxuXG4gICAgLnRpdGxlLWgyLCAuYmxvY2std2YtY29udGFjdCAudGl0bGUtaDIge1xuICAgICAgZm9udC1zaXplOiAkaDItZm9udC1zaXplICogMS4zO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGN3LWZvbnQtc2l6ZS1sZztcbiAgfVxufVxuXG4ubm9kZV9fY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRwcmltYXJ5LWJvbGQtd2VpZ2h0O1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbiAgY29sb3I6ICRoMS1jb2xvcjtcbiAgLy9zcGFuIHtcbiAgLy8gIGZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4gIC8vfVxufVxuXG4uaDEsIGgxIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogJGgxLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGgxLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogJGgxLXRleHQtdHJhbnNmb3JtO1xuICBsaW5lLWhlaWdodDogJGgxLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGgxLWxldHRlci1zcGFjaW5nO1xuICBjb2xvcjogJGgxLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDYwcHg7XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiAkaDEtZm9udC13ZWlnaHQ7XG4gICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV9iZ1wiIHtcbiAgICAgIEBpbmNsdWRlIGxpbmUtYmFja2dyb3VuZCgkbGluZS10aXRsZS1jb2xvcik7XG4gICAgfVxuICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImdyYWRpZW50X2Fib3ZlXCIge1xuICAgICAgQGluY2x1ZGUgdGV4dC1ncmFkaWVudDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3BcIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGxpbmUtdGl0bGUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYm90dG9tXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRsaW5lLXRpdGxlLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcInBpY3R1cmVfYm90dG9tXCIge1xuICAgICAgICBAaW5jbHVkZSBhZnRlci1ib3JkZXItYmcoJGhlaWdodDogMjBweCwgJG10OiAwcHgsICRmaWxlOiAncHVjZS1oMS5wbmcnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmgyLCBoMiwgLnRpdGxlLWgyIHtcbiAgZm9udC1mYW1pbHk6ICRoMi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoMi1mb250LXdlaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06ICRoMi10ZXh0LXRyYW5zZm9ybTtcbiAgZm9udC1zaXplOiAkaDItZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGgyLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xuICBtYXJnaW46IDMwcHggMCAyMHB4O1xuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX2JnXCIge1xuICAgICAgQGluY2x1ZGUgbGluZS1iYWNrZ3JvdW5kKCRsaW5lLXRpdGxlLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuXG5hIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGEge1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ud293IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2VydmljZSB7XG4gIG1hcmdpbi10b3A6IDcwcHg7XG59XG5cbi5idG4td2FybmluZyB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmZpZWxkLS10eXBlLWltYWdlIHtcbiAgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbnA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjhyZW07XG59XG5cbi5mb3JtLWFjdGlvbnMubWItMyB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuc21hbGwsIC5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbiNkcnVwYWwtbGl2ZS1hbm5vdW5jZSB7XG4gIGhlaWdodDogMDtcbn1cbiIsIi5jb250ZXh0dWFsLXJlZ2lvbiAuY29udGV4dHVhbCB7XG4gIHotaW5kZXg6IDk5OTk7XG5cbiAgLmNvbnRleHR1YWwtbGlua3MgbGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICRkYXJrO1xuICB9XG59XG5cbi8vIGNrZWRpdG9yIGZvcmNlIGZvbmQgYmxhbmMgc3VyIGZvbnQgbm9pcmUuIChwZXJtZXQgZGUgdG91am91ciB2b2lyIGxlIHRleHRlIG3Dqm1lIGxvcnNxdWUgbGUgcHJvamV0IGVzdCBzdXIgZm9uZCBub2lyKVxuLmNrZV9lZGl0YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwIHtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSwgYTpob3ZlciB7XG4gICAgY29sb3I6IHJlZCAhaW1wb3J0YW50O1xuICB9XG4gIGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmN3LWlib3gsIC5jdy1pYm94IGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMjAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnRvYXN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgcmlnaHQ6IDVweDtcbiAgei1pbmRleDogMTI3MDtcbiAgd2lkdGg6IDM1MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTgpO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuZ2luLS12ZXJ0aWNhbC10b29sYmFyIHtcbiAgICAjYmxvY2std2lkZ2V0c29ib3gsICNibG9jay13aWRnZXRiaWltYm94IHtcbiAgICAgIGxlZnQ6IDY1cHg7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAjYWRtaW4tdG9vbGJhci1tb2JpbGUtc2VhcmNoLXRhYiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBib2R5Om5vdCgudG9vbGJhci1ob3Jpem9udGFsKSB7XG4gICAgJi50b29sYmFyLWZpeGVkLmFmZml4LXRvcCAjbmF2YmFyLW1haW4ge1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYudG9vbGJhci1maXhlZC5hZmZpeC1zY3JvbGwgI25hdmJhci1tYWluIHtcbiAgICAgIHRvcDogMzlweDtcbiAgICB9XG4gIH1cblxufVxuXG5AaWYgJG5hdmJhci1vcGFjaXR5IDwgMSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIC51c2VyLWxvZ2dlZC1pbiAuY3ctbmF2YmFyIHtcbiAgICAgIG1hcmdpbi10b3A6IDM5cHg7XG4gICAgICAubmF2aWdhdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM5cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAudXNlci1sb2dnZWQtaW4gLmN3LW5hdmJhciB7IC8vIExvcnNxdWUgbGEgbmF2YmFyIGVzdCB0cmFuc3BhcmVudGUsIGxlIG1lbnUgZGUgZ2F1Y2hlIGzDoCBwb3Vzc2Ugw6AgZHJvaXRlIMOgIGNhdXNlIGR1IGZpeGVkLlxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY1cHgpO1xuICAgIH1cbiAgfVxufVxuIiwiI21haW4ge1xuICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXM7XG59XG5cbi5ub3QtZnJvbnQgI21haW4ge1xuICBwYWRkaW5nLWJvdHRvbTogJGJldHdlZW4tem9uZXM7XG59XG5cbi5ibG9jay1wYWdlLXRpdGxlLWJsb2NrIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuZm9ybS51c2VyLWxvZ2luLWZvcm0sIC8vIGZvcm11bGFpcmUgZGUgY29ubmV4aW9uXG4ubm9kZS0tdHlwZS13ZWJmb3JtIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB7IC8vIHBhZ2UgZm9ybXVsYWlyZSAoZXggOiBwYWdlIGNvbnRhY3QpXG4gICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKCk7XG59XG5cbi5zZi1hcnRpY2xlcy1zZWN0aW9uLCAuc2YtZ2FsZXJpZS1zZWN0aW9uLCAuY3ctY2FyZHMtc2VjdGlvbi5nYWxlcmllcy1zZWN0aW9uIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDE5MjBweCk7XG59XG5cbmJvZHkucGF0aC1zaXRlbWFwIC5jb250ZW50IC5zaXRlbWFwIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKCk7XG59XG5cbi5jb250YWluZXIteHMge1xuICBAaW5jbHVkZSBjdy1jb250YWluZXIoNDAwcHgpO1xufVxuLmNvbnRhaW5lci1zbSB7XG4gIEBpbmNsdWRlIGN3LWNvbnRhaW5lcig1MjBweCk7XG59XG5cbi5jb250YWluZXItbWQge1xuICBAaW5jbHVkZSBjdy1jb250YWluZXIoODUwcHgpO1xufVxuLmNvbnRhaW5lci1sZyB7XG4gIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxMDAwcHgpO1xufVxuXG4uY29udGFpbmVyLXh4bCB7XG4gIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxNDAwcHgpO1xufVxuXG4uY29udGFpbmVyLXh4eGwge1xuICBAaW5jbHVkZSBjdy1jb250YWluZXIoMTYwMHB4KTtcbn1cblxuLmNvbnRhaW5lci1mdWxsIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDE5MjBweCk7XG59XG5cbi5sYWJlbC1wcmltYXJ5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLW9uZS1iZztcbiAgY29sb3I6ICRidG4tb25lLWZvbnQtY29sb3I7XG4gIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICNtYWluIHtcbiAgICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXMtbGc7XG4gIH1cblxuICAubm90LWZyb250ICNtYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGc7XG4gIH1cbn1cbiIsIi5ibG9jay1hZGR0b2FueSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAudGl0bGUtaDQge1xuICAgIGNvbG9yOiAkYWRkdG9hbnktdGl0bGU7XG4gIH1cblxuICAuYTJhX2tpdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAvL0BpbmNsdWRlIGZpbHRlcihncmF5c2NhbGUoMTAwJSkpOyAvLyBBZmZpY2hhZ2UgZW4gbm9pciBldCBibGFuY1xuICAgIGEge1xuICAgICAgbWFyZ2luOiAwIDVweDtcblxuICAgICAgc3Bhbi5hMmFfc3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4xNXMgZWFzZS1pbi1vdXQpO1xuICAgICAgICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4xcyBlYXNlLWluLW91dCk7XG5cbiAgICAgIHNwYW4uYTJhX3N2ZyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbHRlcihkcm9wLXNoYWRvdygwcHggNnB4IDZweCByZ2JhKCRibGFjaywgMC4xKSkpO1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3Bhbi5hMmFfc3ZnIHtcbiAgICBoZWlnaHQ6IDYzcHg7XG4gICAgd2lkdGg6IDYzcHg7XG5cbiAgICBzdmcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvL2ZpcmVmb3hcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IC8vZmlyZWZveFxuICAgICAgcGFkZGluZzogMTNweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhZGR0b2FueS1iZztcblxuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6ICRhZGR0b2FueS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgQGlmICRhZGR0b2FueS1iYWNrZ3JvdW5kID09IFwiY2lyY2xlXCIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkYWRkdG9hbnktYmFja2dyb3VuZCA9PSBcImNpcmNsZS10aGluXCIge1xuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkYWRkdG9hbnktYm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLWFjdGlvbnMtYmc7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLnRpdGxlLWg0IHtcbiAgZm9udC1mYW1pbHk6ICRhZGR0b2FueS10aXRsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRhZGR0b2FueS10aXRsZS1mb250LXdlaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06ICRhZGR0b2FueS10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgZm9udC1zaXplOiAkYWRkdG9hbnktdGl0bGUtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGFkZHRvYW55LXRpdGxlLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGFkZHRvYW55LXRpdGxlLWxldHRlci1zcGFjaW5nO1xuICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG59XG4iLCIuYmxvY2stY2FsbC10by1hY3Rpb24ge1xuICAudGl0bGUtaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogJGNhbGwtYWN0aW9uLWgyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY2FsbC1hY3Rpb24taDItZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRjYWxsLWFjdGlvbi1oMi10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXNpemU6ICRjYWxsLWFjdGlvbi1oMi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjYWxsLWFjdGlvbi1oMi1saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGNhbGwtYWN0aW9uLWgyLWxldHRlci1zcGFjaW5nO1xuICAgIGNvbG9yOiAkY2FsbC1hY3Rpb25zLXRpdGxlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImdyYWRpZW50X2Fib3ZlXCIge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50O1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcFwiIG9yICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3AtYm90dG9tXCIge1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRsaW5lLXRpdGxlLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYm90dG9tXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGxpbmUtdGl0bGUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcInBpY3R1cmVfYm90dG9tXCIge1xuICAgICAgICAgIEBpbmNsdWRlIGFmdGVyLWJvcmRlci1iZygkaGVpZ2h0OiAwcHgsICRtdDogMHB4LCAkZmlsZTogJ3B1Y2UtaDIucG5nJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3RhLW51bWJlciB7XG4gICAgZm9udC1mYW1pbHk6ICRjYWxsLWFjdGlvbi1udW1iZXJzLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY2FsbC1hY3Rpb24tbnVtYmVycy1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGNhbGwtYWN0aW9uLW51bWJlcnMtdGV4dC10cmFuc2Zvcm07XG4gICAgZm9udC1zaXplOiAkY2FsbC1hY3Rpb24tbnVtYmVycy1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjYWxsLWFjdGlvbi1udW1iZXJzLWxpbmUtaGVpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiAgICBjb2xvcjogJGNhbGwtYWN0aW9ucy1udW1iZXJzLWNvbG9yO1xuXG4gICAgYiB7XG4gICAgICBmb250LXdlaWdodDogJHNlY29uZGFyeS1mb250LXdlaWdodDtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICBjb2xvcjogJGNhbGwtYWN0aW9ucy1udW1iZXJzLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGNhbGwtYWN0aW9ucy1udW1iZXJzLWNvbG9yLCAxMCUpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1jYWxsLXRvLWFjdGlvbi1hZHJlc3NlIHtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGNvbG9yOiAkY2FsbC1hY3Rpb25zLW51bWJlcnMtY29sb3I7XG59XG4iLCIucGFyYWxsYXgge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOy8vIGN1c3RvbSBiYWNrZ3JvdW5kLXBvc2l0aW9uXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCUgXFw5ICFpbXBvcnRhbnQ7Ly8gaWU3LDgsOS0gZ3JhY2VmdWwgZGVncmFkYXRpb25cbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIEBpZiAkb3ZlcmxheS1wYXJhbGxheCB7XG4gICAgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjdy1vdmVybGF5KCRvdmVybGF5LW1vdGlmLXBhcmFsbGF4LCB0cnVlLCAwLjMpO1xuICAgIH1cbiAgfVxufVxuXG5bY2xhc3MqPVwiYmxvY2stcGFyYWxsYXgtXCJdIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNDV2aDtcbiAgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgei1pbmRleDogMTtcblxuICAgIGZvbnQtZmFtaWx5OiAkYmxvYy1wYXJhbGxheC1jb250ZW50LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYmxvYy1wYXJhbGxheC1jb250ZW50LWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYmxvYy1wYXJhbGxheC1jb250ZW50LXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJGJsb2MtcGFyYWxsYXgtY29udGVudC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRibG9jLXBhcmFsbGF4LWNvbnRlbnQtbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgIGNvbG9yOiAkYmxvYy1wYXJhbGxheC1jb250ZW50LWNvbG9yO1xuICAgIC8vYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgLnRleHQtbG91ZCwgLmxvdWQtdGV4dCB7XG4gICAgICBmb250LWZhbWlseTogJGJsb2MtcGFyYWxsYXgtdGl0bGUtZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogJGJsb2MtcGFyYWxsYXgtdGl0bGUtZm9udC13ZWlnaHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJGJsb2MtcGFyYWxsYXgtdGl0bGUtdGV4dC10cmFuc2Zvcm07XG4gICAgICBmb250LXNpemU6ICRibG9jLXBhcmFsbGF4LXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYmxvYy1wYXJhbGxheC10aXRsZS1saW5lLWhlaWdodDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XG4gICAgICBjb2xvcjogJGJsb2MtcGFyYWxsYXgtdGl0bGUtY29sb3I7XG4gICAgfVxuICB9XG4gIEBpZiAkcGFyYWxsYXgtZ3JhZGllbnQge1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCRkYXJrLCAwLjQ4KSAwJSwgcmdiYSgkZGFyaywgMC40OCkgODAlKTtcbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLXBhcmFsbGF4LWZyb250IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcGFyYWxsYXgtZnJvbnQtbW9iLmpwZycpO1xufVxuXG5AaW1wb3J0ICdxdWVyaWVzL3BhcmFsbGF4JztcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgW2NsYXNzKj1cImJsb2NrLXBhcmFsbGF4LVwiXSB7XG4gICAgLmNvbnRlbnQge1xuICAgICAgLnRleHQtbG91ZCwgLmxvdWQtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJsb2MtcGFyYWxsYXgtdGl0bGUtZm9udC1zaXplICogMS41O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5ibG9jay1wYXJhbGxheC1mcm9udCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcGFyYWxsYXgtZnJvbnQuanBnJyk7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICBbY2xhc3MqPVwiYmxvY2stcGFyYWxsYXgtXCJdIHtcbiAgICBtaW4taGVpZ2h0IDogJHBhcmFsbGF4LW1pbi1oZWlnaHQ7XG4gIH1cbn1cbiIsIi5yZWdpb24tZmVhdHVyZWQtYm90dG9tLWZpcnN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJlZ2lvbi1mZWF0dXJlZC1maXJzdC1iZztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaWYgJG92ZXJsYXktY2FsbC10by1hY3Rpb24ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGN3LW92ZXJsYXkoJG92ZXJsYXktbW90aWYtY2FsbC10by1hY3Rpb24sIHRydWUsIDEpO1xuICAgIH1cbiAgfVxufVxuXG4ucmVnaW9uLWZlYXR1cmVkLWJvdHRvbS1zZWNvbmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJsb2NrLWZvcmNlcyB7XG4gIGNvbG9yOiAkZm9yY2VzLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkZm9yY2VzLWJnO1xuICBAaWYgKCRmb3JjZXMtZ3JhZGllbnQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGZvcmNlcy1ncmFkaWVudC1kZWcsICRmb3JjZXMtYmcgJGZvcmNlcy1ncmFkaWVudC1zdGFydCwgJGZvcmNlcy1iZy1lbmQgJGZvcmNlcy1ncmFkaWVudC1lbmQpO1xuICB9XG5cbiAgLnRpdGxlLWgyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBjb2xvcjogJGZvcmNlcy10aXRsZTtcblxuICAgIHNwYW4ge1xuICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQ7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGxpbmUtdGl0bGUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV9ib3R0b21cIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkbGluZS10aXRsZS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwicGljdHVyZV9ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6IDBweCwgJG10OiAwcHgsICRmaWxlOiAncHVjZS1oMi5wbmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mYSB7XG4gICAgZm9udC1zaXplOiA4NXB4O1xuICB9XG5cbiAgLnNydi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgQGlmICRvdmVybGF5LWZvcmNlcyB7XG4gICAgLmNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3ctb3ZlcmxheSgkb3ZlcmxheS1tb3RpZi1mb3JjZXMsIHRydWUsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYmxvY2stcmVmZXJlbmNlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICRyZWZlcmVuY2VzLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkcmVmZXJlbmNlcy1iZztcbiAgQGlmICgkcmVmZXJlbmNlcy1ncmFkaWVudCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkcmVmZXJlbmNlcy1ncmFkaWVudC1kZWcsICRyZWZlcmVuY2VzLWJnICRyZWZlcmVuY2VzLWdyYWRpZW50LXN0YXJ0LCAkcmVmZXJlbmNlcy1iZy1lbmQgJHJlZmVyZW5jZXMtZ3JhZGllbnQtZW5kKTtcbiAgfVxuXG4gIC50aXRsZS1oMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6ICRyZWZlcmVuY2VzLXRpdGxlO1xuXG4gICAgc3BhbiB7XG4gICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJncmFkaWVudF9hYm92ZVwiIHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1ncmFkaWVudDtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3BcIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkbGluZS10aXRsZS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX2JvdHRvbVwiIG9yICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3AtYm90dG9tXCIge1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRsaW5lLXRpdGxlLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJwaWN0dXJlX2JvdHRvbVwiIHtcbiAgICAgICAgICBAaW5jbHVkZSBhZnRlci1ib3JkZXItYmcoJGhlaWdodDogMjBweCwgJG10OiAwcHgsICRmaWxlOiAncHVjZS1oMi5wbmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb3ZlcmxheS1yZWZlcmVuY2VzIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjdy1vdmVybGF5KCRvdmVybGF5LW1vdGlmLXJlZmVyZW5jZXMsIHRydWUsIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIE1BUCA6IFZPSVIgQ0FUQUxPR1VFICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuJG1hcC1zdXBlcnBvc2l0aW9uLXNoYWRvdzogdHJ1ZTsgLy9hY3RpdmUgdW4gc2hhZG93IGRlcnJpw6hyZSBsYSBtYXBcbiRtYXAtc3VwZXJwb3NpdGlvbi1wb3NpdGlvbmluZzogLTYwcHg7IC8vIGTDqWZpbmkgbCdlc3BhY2UgZW50cmUgbGEgbWFwIGV0ICNib3R0b20uIE5vbWJyZSBwb3NpdGlmOiBtYXAgdmllbnQgc2Ugc3VwZXJwb3NlciBzdXIgI2JvdHRvbS4gTm9tYnJlIG5lZ2F0aWY6IG1hcCBhdSBkZXNzdXMgZGUgI2JvdHRvbSBhdmVjIHVuIGVzcGFjZS5cblxuLnJlZ2lvbi1mb290ZXItdGhpcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVnaW9uLWZvb3Rlci10aGlyZC1iZztcbn1cblxuLmJsb2NrLW1hcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIC5tYXAgYTpub3QoW2NsYXNzKj1cImNvbnRleHR1YWwtbGlua3NcIl0pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDQ0NXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIEBpZiAkY29uZmlndXJhdGlvbi1tYXAgPT0gXCJtYXAtZnVsbFwiIG9yIFwibWFwLXN1cGVycG9zaXRpb25cIiB7XG4gICAgLm1hcCBhIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21hcC1tb2IuanBnJyk7XG4gICAgfVxuICB9XG4gIEBpZiAkY29uZmlndXJhdGlvbi1tYXAgPT0gXCJtYXAtY2VudGVyXCIge1xuICAgIC5tYXAgYTpudGgtY2hpbGQoMSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbWFwLTEuanBnXCIpO1xuICAgIH1cbiAgfVxuICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLWRvdWJsZVwiIHtcbiAgICAubWFwIHtcbiAgICAgIGE6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21hcC0xLmpwZ1wiKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgM3B4IHdoaXRlO1xuICAgICAgfVxuICAgICAgYTpudGgtY2hpbGQoMikge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbWFwLTIuanBnXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYmxvY2stbWFwLWludGVydmVudGlvbiB7XG4gIC50aXRsZS1oMiB7XG4gICAgY29sb3I6ICRtYXAtaW50ZXJ2ZW50aW9uLXRpdGxlO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICRtYXAtaW50ZXJ2ZW50aW9uLWZhLWNvbnRlbnQ7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgY29sb3I6ICRtYXAtaW50ZXJ2ZW50aW9uLWZhO1xuICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XG4gICAgICAgIHdpZHRoOiAzMXB4OyAvL25lIHBhcyBtZXR0cmUgZml0LWNvbnRlbnQgdGFudCBxdWUgcGFzIGJpZW4gZ8OpcsOpIHN1ciB0b3V0IGxlcyBuYXZpZ2F0ZXVycyBkZXB1aXMgNWFuc1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50O1xuICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJHByaW1hcnkgMCUsICRzZWNvbmRhcnkgMTAwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJncmFkaWVudF9hYm92ZVwiIHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1ncmFkaWVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21hcC1iZy5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGNvbG9yOiAkbWFwLWludGVydmVudGlvbi1jb250ZW50O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG5AaW1wb3J0ICdxdWVyaWVzL21hcCc7XG4iLCJAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5ibG9jay1tYXAge1xuICAgIEBpZiAkY29uZmlndXJhdGlvbi1tYXAgPT0gXCJtYXAtZnVsbFwiIG9yIFwibWFwLXN1cGVycG9zaXRpb25cIiB7XG4gICAgICAubWFwIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXAuanBnJyk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAkY29uZmlndXJhdGlvbi1tYXAgPT0gXCJtYXAtY2VudGVyXCIge1xuICAgICAgLm1hcCB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHg7XG5cbiAgICAgICAgYTpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgNXB4ICR3aGl0ZTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAkY29uZmlndXJhdGlvbi1tYXAgPT0gXCJtYXAtZnVsbFwiIHtcbiAgICAgIC5tYXAgYSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQ0NXB4O1xuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLWRvdWJsZVwiIHtcbiAgICAgIC5tYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDQ0NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYTpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCB3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogc29saWQgMnB4IHdoaXRlO1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLXN1cGVycG9zaXRpb25cIiB7XG4gICAgLmJsb2NrLW1hcCB7XG4gICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBjdy1jb250YWluZXIoODgwcHgpO1xuICAgICAgLm1hcCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHJhZGl1cyk7XG4gICAgICAgIGEge1xuICAgICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICAgIHRvcDogJG1hcC1zdXBlcnBvc2l0aW9uLXBvc2l0aW9uaW5nO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBoZWlnaHQ6IDQ0NXB4O1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHJhZGl1cyk7XG4gICAgICAgICAgQGlmICRtYXAtc3VwZXJwb3NpdGlvbi1zaGFkb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMjcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAkbWFwLXN1cGVycG9zaXRpb24tcG9zaXRpb25pbmcgPCAwIHtcbiAgICAgIC5yZWdpb24tZm9vdGVyLXNlY29uZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAtICRtYXAtc3VwZXJwb3NpdGlvbi1wb3NpdGlvbmluZztcbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICRtYXAtc3VwZXJwb3NpdGlvbi1wb3NpdGlvbmluZyA+IDAge1xuICAgICAgLmZvb3Rlci1pbmZvcyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDNyZW0gKyAjeyRtYXAtc3VwZXJwb3NpdGlvbi1wb3NpdGlvbmluZ30pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIEBpZiAkY29uZmlndXJhdGlvbi1tYXAgPT0gXCJtYXAtc3VwZXJwb3NpdGlvblwiIHtcbiAgICAuYmxvY2stbWFwIHtcblxuICAgICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDEwNDBweCk7XG4gICAgICAubWFwIHtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYmxvY2stbWFwLWludGVydmVudGlvbiB7XG4gICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4iLCIkbWFwLXdpdGgtY29udGVudC1oZWlnaHQteHM6IDcwMHB4O1xuJG1hcC13aXRoLWNvbnRlbnQtaGVpZ2h0LWxnOiA3MDBweDtcblxuJG1hcC1kZW5vbWluYXRpb24tZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRtYXAtZGVub21pbmF0aW9uLWZvbnQtd2VpZ2h0OiAkdGl0bGUtbm9ybWFsLXdlaWdodDtcbiRtYXAtZGVub21pbmF0aW9uLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJG1hcC1kZW5vbWluYXRpb24tZm9udC1zaXplOiAycmVtO1xuJG1hcC1kZW5vbWluYXRpb24tbGluZS1oZWlnaHQ6ICRjb250YWN0LWxpbmUtaGVpZ2h0O1xuJG1hcC1kZW5vbWluYXRpb24tbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuJG1hcC1zbG9nYW4tZm9udDogJGNvbnRhY3QtZm9udC1mYW1pbHk7XG4kbWFwLXNsb2dhbi1mb250LXNpemU6IDEuMnJlbTtcbiRtYXAtc2xvZ2FuLWxpbmUtaGVpZ2h0OiAkY29udGFjdC1saW5lLWhlaWdodDtcbiRtYXAtYWRyZXNzZS1mb250OiAkY29udGFjdC1mb250LWZhbWlseTtcbiRtYXAtYWRyZXNzZS1mb250LXNpemU6ICRjb250YWN0LWZvbnQtc2l6ZTtcbiRtYXAtYWRyZXNzZS1saW5lLWhlaWdodDogMS40O1xuJG1hcC10ZWxlcGhvbmUtZm9udDogJGNvbnRhY3QtZm9udC1mYW1pbHk7XG4kbWFwLXRlbGVwaG9uZS1mb250LXdlaWdodDogJHByaW1hcnktYm9sZC13ZWlnaHQ7XG4kbWFwLXRlbGVwaG9uZS1mb250LXNpemU6ICRjb250YWN0LWZvbnQtc2l6ZTtcbiRtYXAtdGVsZXBob25lLWxpbmUtaGVpZ2h0OiAkbWFwLWFkcmVzc2UtbGluZS1oZWlnaHQ7XG4kbWFwLWhvcmFpcmUtZm9udDogJGNvbnRhY3QtZm9udC1mYW1pbHk7XG4kbWFwLWhvcmFpcmUtZm9udC1zaXplOiAkY29udGFjdC1mb250LXNpemU7XG4kbWFwLWhvcmFpcmUtbGluZS1oZWlnaHQ6ICRtYXAtYWRyZXNzZS1saW5lLWhlaWdodDtcbiRtYXAtbWFpbC1mb250OiAkY29udGFjdC1mb250LWZhbWlseTtcbiRtYXAtbWFpbC1mb250LXdlaWdodDogJHByaW1hcnktYm9sZC13ZWlnaHQ7XG4kbWFwLW1haWwtZm9udC1zaXplOiAkY29udGFjdC1mb250LXNpemU7XG4kbWFwLW1haWwtbGluZS1oZWlnaHQ6ICRtYXAtYWRyZXNzZS1saW5lLWhlaWdodDtcblxuJG1hcC1jb2xvcjogJGJvZHktY29sb3I7XG4kbWFwLWRlbm9taW5hdGlvbi1jb2xvcjogJG1hcC1jb2xvcjtcbiRtYXAtc2xvZ2FuLWNvbG9yOiAkbWFwLWNvbG9yO1xuJG1hcC1hZHJlc3NlLWNvbG9yOiAkbWFwLWNvbG9yO1xuJG1hcC10ZWwtY29sb3I6ICRtYXAtY29sb3I7XG4kbWFwLXRlbC1jb2xvci1ob3ZlcjogJGxpbmstY29sb3I7XG4kbWFwLWhvcmFpcmUtY29sb3I6ICRtYXAtY29sb3I7XG5cblxuLy8gVHlwb2dyYXBoaWVcbi5tYXAtZGVub21pbmF0aW9uIHtcbiAgZm9udC1mYW1pbHk6ICRtYXAtZGVub21pbmF0aW9uLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJG1hcC1kZW5vbWluYXRpb24tZm9udC13ZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiAkbWFwLWRlbm9taW5hdGlvbi10ZXh0LXRyYW5zZm9ybTtcbiAgZm9udC1zaXplOiAkbWFwLWRlbm9taW5hdGlvbi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbWFwLWRlbm9taW5hdGlvbi1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcbn1cblxuLm1hcC1zbG9nYW4gc3Ryb25nIHtcbiAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkc2Vjb25kYXJ5LWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRtYXAtc2xvZ2FuLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRtYXAtc2xvZ2FuLWxpbmUtaGVpZ2h0O1xufVxuXG4ubWFwLWFkcmVzc2Uge1xuICBmb250LWZhbWlseTogJG1hcC1hZHJlc3NlLWZvbnQ7XG4gIGZvbnQtc2l6ZTogJG1hcC1hZHJlc3NlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRtYXAtYWRyZXNzZS1saW5lLWhlaWdodDtcbn1cblxuLm1hcC10ZWxlcGhvbmUge1xuICBmb250LWZhbWlseTogJG1hcC10ZWxlcGhvbmUtZm9udDtcbiAgZm9udC13ZWlnaHQ6ICRtYXAtdGVsZXBob25lLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRtYXAtdGVsZXBob25lLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRtYXAtdGVsZXBob25lLWxpbmUtaGVpZ2h0O1xufVxuXG4ubWFwLWhvcmFpcmUge1xuICBmb250LWZhbWlseTogJG1hcC1ob3JhaXJlLWZvbnQ7XG4gIGZvbnQtc2l6ZTogJG1hcC1ob3JhaXJlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRtYXAtaG9yYWlyZS1saW5lLWhlaWdodDtcbn1cblxuLm1hcC1tYWlsIHtcbiAgZm9udC1mYW1pbHk6ICRtYXAtbWFpbC1mb250O1xuICBmb250LXdlaWdodDogJG1hcC1tYWlsLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRtYXAtbWFpbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbWFwLW1haWwtbGluZS1oZWlnaHQ7XG59XG5cbi8vIENvbG9yXG4ubWFwLWRlbm9taW5hdGlvbiB7XG4gIGNvbG9yOiAkbWFwLWRlbm9taW5hdGlvbi1jb2xvcjtcbn1cblxuLm1hcC1zbG9nYW4ge1xuICBjb2xvcjogJG1hcC1zbG9nYW4tY29sb3I7XG59XG5cbi5tYXAtYWRyZXNzZSB7XG4gIGNvbG9yOiAkbWFwLWFkcmVzc2UtY29sb3I7XG59XG5cbi5tYXAtdGVsZXBob25lIGEge1xuICBjb2xvcjogJG1hcC10ZWwtY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRtYXAtdGVsLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi5tYXAtaG9yYWlyZSB7XG4gIGNvbG9yOiAkbWFwLWhvcmFpcmUtY29sb3I7XG59XG5cbi5tYXAtbWFpbCBhIHtcbiAgY29sb3I6ICRtYXAtaG9yYWlyZS1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJG1hcC10ZWwtY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQGlmICRjb25maWd1cmF0aW9uLW1hcCA9PSBcIm1hcC13aXRoLWNvbnRlbnRcIiB7XG4gIC5ibG9jay1tYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuXG4gICAgLm1hcCBhIHtcbiAgICAgIG1heC1oZWlnaHQ6ICRtYXAtd2l0aC1jb250ZW50LWhlaWdodC14cztcbiAgICB9XG5cbiAgICAubWFwIGE6bm90KFtjbGFzcyo9XCJjb250ZXh0dWFsLWxpbmtzXCJdKSB7XG4gICAgICBoZWlnaHQ6ICRtYXAtd2l0aC1jb250ZW50LWhlaWdodC14cztcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLm1hcC1ibG9jLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDIwNXB4O1xuICAgICAgcGFkZGluZzogMjBweCAyMHB4IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOztcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggNjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzICogMztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZztcblxuICAgICAgICAubWFwLXB1Y2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgICAgICAgICBib3R0b206IC0yNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDY1JSwgNTAlIDEwMCUsIDAgNjUlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuYmxvY2stbWFwIHtcbiAgICAgIC5tYXAgYSB7XG4gICAgICAgIG1heC1oZWlnaHQ6ICRtYXAtd2l0aC1jb250ZW50LWhlaWdodC1sZztcbiAgICAgIH1cblxuICAgICAgLm1hcCBhOm5vdChbY2xhc3MqPVwiY29udGV4dHVhbC1saW5rc1wiXSkge1xuICAgICAgICBoZWlnaHQ6ICRtYXAtd2l0aC1jb250ZW50LWhlaWdodC1sZztcbiAgICAgIH1cblxuICAgICAgLm1hcC1ibG9jLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gNDYwcHggLyAyKTtcbiAgICAgICAgLmNhcmQgLm1hcC1wdWNlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTVweCk7XG4gICAgICAgICAgYm90dG9tOiAtMjVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSA2NSUsIDUwJSAxMDAlLCAwIDY1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm11bGFpcmVzXG4kaW5wdXQtdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG5cbkBpZiAkaW5wdXQtYmctZGFyayA9PSB0cnVlIHtcbiAgJGlucHV0LWNvbG9yOiBsaWdodGVuKCRpbnB1dC1iZywgNzUlKTtcbiAgJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiBsaWdodGVuKCRpbnB1dC1iZywgNjAlKTtcbn1cblxuLy8gRm9ybXVsYWlyZSBkdSBibG9jIGZsb2F0LWJsb2NrIGVuIHBhZ2UgZCdhY2N1ZWlsXG5AaWYgJGlucHV0LWJnLWZsb2F0LWJsb2NrLWRhcmsgPT0gdHJ1ZSB7XG4gICRpbnB1dC1jb2xvci1mbG9hdC1ibG9jazogbGlnaHRlbigkaW5wdXQtYmctZmxvYXQtYmxvY2ssIDc1JSk7XG4gICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvci1mbG9hdC1ibG9jazogbGlnaHRlbigkaW5wdXQtYmctZmxvYXQtYmxvY2ssIDYwJSk7XG59XG5cbi8vIEZvcm11bGFpcmUgZHUgYmxvYyBmb290ZXIgZW4gcGFnZSBkJ2FjY3VlaWxcbkBpZiAkaW5wdXQtYmctYmxvY2stY29udGFjdC1kYXJrID09IHRydWUge1xuICAkaW5wdXQtY29sb3ItYmxvY2stY29udGFjdDogbGlnaHRlbigkaW5wdXQtYmctYmxvY2stY29udGFjdCwgNzUlKTtcbiAgJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yLWJsb2NrLWNvbnRhY3Q6IGxpZ2h0ZW4oJGlucHV0LWJnLWJsb2NrLWNvbnRhY3QsIDYwJSk7XG59XG5cbi8vIENvdWxldXJzXG4uZm9ybS1jb250cm9sOm5vdChbY2xhc3MqPVwiYnV0dG9uXCJdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGlucHV0LXRleHQtdHJhbnNmb3JtO1xuICAgIC8vZm9udC1zaXplOiAxMXB4O1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogc29saWQgMXB4IGRhcmtlbigkaW5wdXQtYmcsIDMlKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGxpbmUtZm9ybS1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmZsYi1ibG9jayB7XG4gIC5mb3JtLWNvbnRyb2w6bm90KFtjbGFzcyo9XCJidXR0b25cIl0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZmxvYXQtYmxvY2s7XG4gICAgY29sb3I6ICRpbnB1dC1jb2xvci1mbG9hdC1ibG9jaztcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3ItZmxvYXQtYmxvY2s7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBzb2xpZCAxcHggZGFya2VuKCRpbnB1dC1iZy1mbG9hdC1ibG9jaywgMyUpO1xuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJGxpbmUtZm9ybS1jb2xvci1ibG9jay1mbG9hdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLXdmLWNvbnRhY3Qge1xuICAuZm9ybS1jb250cm9sOm5vdChbY2xhc3MqPVwiYnV0dG9uXCJdKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWJsb2NrLWNvbnRhY3Q7XG4gICAgY29sb3I6ICRpbnB1dC1jb2xvci1ibG9jay1jb250YWN0O1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvci1ibG9jay1jb250YWN0O1xuICAgIH1cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IHNvbGlkIDFweCBkYXJrZW4oJGlucHV0LWJnLWJsb2NrLWNvbnRhY3QsIDMlKTtcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRsaW5lLWZvcm0tY29sb3ItYmxvY2stY29udGFjdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTWlzZSBlbiBmb3JtZSBldCBwb2xpY2VzXG4ud2ViZm9ybS1mbGV4Ym94IHtcbiAgbWFyZ2luOiAwIC0wLjNyZW0gMC42cmVtO1xufVxuXG4ud2ViZm9ybS1mbGV4LS1jb250YWluZXIge1xuICBtYXJnaW46IDAgMC4zcmVtO1xufVxuXG4uYmxvY2std2YtY29udGFjdCB7XG4gIC50aXRsZS1oMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgICBjb2xvcjogJGZvcm0tYmxvYy1oMi1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGZvcm0tdGl0bGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRmb3JtLXRpdGxlLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkZm9ybS10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXNpemU6ICRmb3JtLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRmb3JtLXRpdGxlLWxldHRlci1zcGFjaW5nO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQ7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGZvcm0tYmxvYy1oMi11bmRlcmxpbmUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV9ib3R0b21cIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkZm9ybS1ibG9jLWgyLXVuZGVybGluZS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwicGljdHVyZV9ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6IDIwcHgsICRtdDogMHB4LCAkZmlsZTogJ3B1Y2UtaDIucG5nJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGV4dC1tdXRlZCB7XG4gICAgY29sb3I6ICRmb3JtLWJsb2MtcmdwZCAhaW1wb3J0YW50O1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGZvcm0tYmxvYy1yZ3BkLWxpbms7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGZvcm0tYmxvYy1yZ3BkLWxpbmstaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWl0ZW0tYWNjZXB0YXRpb24tcmdwZCB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgLndlYmZvcm0tZWxlbWVudC1kZXNjcmlwdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgIGZvbnQtc2l6ZTogMC42OXJlbTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5wYWdlLW5vZGUtMiAubm9kZV9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDUpO1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB9XG5cbiAgICA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDcpO1xuICAgICAgLy9AaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoMSk7XG4gICAgfVxuICB9XG59XG5cbiIsIi5ibG9jay1hY3R1YWxpdGVzIHtcbiAgYmFja2dyb3VuZDogJGJsb2MtYWN0dS1iZztcbiAgQGlmICgkYmxvYy1hY3R1LWdyYWRpZW50KSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRibG9jLWFjdHUtZ3JhZGllbnQtZGVnLCAkYmxvYy1hY3R1LWJnICRibG9jLWFjdHUtZ3JhZGllbnQtc3RhcnQsICRibG9jLWFjdHUtYmctZW5kICRibG9jLWFjdHUtZ3JhZGllbnQtZW5kKTtcbiAgfVxuXG4gIC50aXRsZS1oMiwgLnZpZXctaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDEzMDBweCk7XG4gIH1cblxuICAuY3ctY2FyZC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRibG9jLWFjdHUtdGl0bGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRibG9jLWFjdHUtdGl0bGUtZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAkYmxvYy1hY3R1LXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJsb2MtYWN0dS10aXRsZS1saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGJsb2MtYWN0dS10aXRsZS1sZXR0ZXItc3BhY2luZztcbiAgfVxuXG4gIC52aWV3LWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogJHNlY29uZGFyeS1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogMC4xMmVtO1xuICAgIGNvbG9yOiAjODdiMGNiO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGc7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcblxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTd2dztcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg3YjBjYjtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuY3ctY2FyZHMtaHoge1xuICAgIC5jdy1jYXJkIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAuY2Fyb3VzZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5ub2RlLS10eXBlLWFjdHVhbGl0ZSB7XG4gICYgPiAubm9kZV9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLmFjdHUtY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLmFjdHUtZGF0ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LWZhbWlseTogJGN3LWNhcmRzLWRhdGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjdy1jYXJkcy1kYXRlLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkY3ctY2FyZHMtZGF0ZS10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXNpemU6ICRjdy1jYXJkcy1kYXRlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGN3LWNhcmRzLWRhdGUtbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRjdy1jYXJkcy1kYXRlLWxldHRlci1zcGFjaW5nO1xuICAgIGNvbG9yOiAkY3ctY2FyZC1kYXRlLWNvbG9yO1xuICAgIG1hcmdpbi10b3A6ICRiZXR3ZWVuLXpvbmVzO1xuICAgIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLzI7XG4gIH1cbn1cblxuQGltcG9ydCAncXVlcmllcy9hY3R1YWxpdGVzJztcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLmJsb2NrLWFjdHVhbGl0ZXMge1xuICAgIC52aWV3LWhlYWRlciB7XG4gICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm5vZGUtLXR5cGUtYWN0dWFsaXRlLCAubm9kZS0tdHlwZS1yZWZlcmVuY2Uge1xuICAgICNtYWluLXdyYXBwZXIge1xuICAgICAgLmZpZWxkLS10eXBlLWltYWdlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmdhbGVyaWVzLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuXG4uZmllbGRbY2xhc3MqPVwiLWdhbGVyaWUtcGhvdG9zXCJdLCAuZmllbGRbY2xhc3MqPVwiLWdhbGVyaWUtdmlkZW9zXCJdIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzIDAgMDtcblxuICAuZmllbGRfX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMC41JTtcbiAgfVxufVxuXG5bY2xhc3MqPVwiY3ctZ2FsZXJpZS1taW5pLVwiXSB7XG4gIC5maWVsZC1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDM1MHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiA1cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG4uY3ctZ2FsZXJpZS1taW5pLTEge1xuICAuZmllbGQtaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNCAqIDVweCkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY3ctZ2FsZXJpZS1taW5pLTIge1xuICAuZmllbGQtaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiA1cHgpICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGltcG9ydCAncXVlcmllcy9nYWxlcmllJztcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS1waG90b3NcIl0sIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS12aWRlb3NcIl0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLmZpZWxkX19pdGVtIHtcbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS1waG90b3NcIl0sIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS12aWRlb3NcIl0ge1xuICAgIC5maWVsZF9faXRlbSB7XG4gICAgICB3aWR0aDogMzIlO1xuICAgIH1cbiAgfVxufVxuIiwiI2Jsb2NrLWdvb2dsZXJldmlld3NsaXN0IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZ3JheTtcclxuICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXM7XHJcbiAgcGFkZGluZy1ib3R0b206ICRiZXR3ZWVuLXpvbmVzO1xyXG4gIC50aXRsZS1oMiwgLnJldmlld3MtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxNTAwcHgpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLnRpdGxlLWgyIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbG9nby1nb29nbGUucG5nJyk7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0b3A6IDJweDtcclxuICAgICAgaGVpZ2h0OiA0NHB4O1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxLjI1ZW07XHJcbiAgICAgIHdpZHRoOiAxMzdweDtcclxuICAgICAgbWF4LXdpZHRoOiAzLjhlbTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5yZXZpZXdzLWNvbnRhaW5lciB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBnYXA6IDIwcHg7XHJcbiAgfVxyXG4gIC5yZXZpZXctY29udGFpbmVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgd2lkdGg6IDQ1MHB4O1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgcGFkZGluZzogMzBweCA0MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG4gIH1cclxuICAucmV2aWV3LXJhdGluZy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLnJldmlldy1hdXRob3ItbmFtZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAxNnB4O1xyXG4gICAgICBsZWZ0OiA1OHB4O1xyXG4gICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnJldmlldy1yYXRpbmcge1xyXG4gICAgbWFyZ2luLXRvcDogMTJweDtcclxuICB9XHJcbiAgLnJldmlldy1kYXRlIHtcclxuICAgIGNvbG9yOiAkZ3JheS01MDA7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBhbGlnbi1zZWxmOiBlbmQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XHJcbiAgfVxyXG4gIC5zdGFycy13cmFwcGVyIHN2ZyB7XHJcbiAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICBwYXRoIHtcclxuICAgICAgZmlsbDogI2U4YmYyYTtcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5yZXZpZXctdGV4dCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICBsaW5lLWNsYW1wOiA1O1xyXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiA1OyAvKiBOb21icmUgZGUgbGlnbmVzICovXHJcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAjYmxvY2stZ29vZ2xlcmV2aWV3c2xpc3Qge1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICNibG9jay1nb29nbGVyZXZpZXdzbGlzdCB7XHJcbiAgICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXMtbGc7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGc7XHJcbiAgICAucmV2aWV3LWNvbnRhaW5lciB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDI2NXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyAqKioqKioqIE1hc29ucnkgZ2FsbGVyeSAqKioqKioqKipcbiRtYXMtY29sLXgxOiAxMDAlO1xuJG1hcy1jb2wteDI6IDUwJTtcbiRtYXMtY29sLXgzOiAzMy4zMzMzMzMzMzMzJTtcbiRtYXMtY29sLXg0OiAyNSU7XG4kbWFzLWNvbC14NTogMjAlO1xuJG1hcy1jb2wteDY6IDE2LjY2NjY2NjY2NjclO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiAgICBOT1RFOiBMZSBub21icmUgZGUgY29sb25uZXMgZW4gXCJsZ1wiIGVzdCBkw6lmaW5pIGRpcmVjdGVtZW50IHZpYSBsYSBnYWxlcmllIGRhbnMgZHJ1cGFsXG4gICAgICAgICAgcG91ciBsYWlzc2VyIGxlIGNob2l4IMOgIGwndXRpbGlzYXRldXIuIFNldWwgbGUgbmIgZGUgY29sb25uZXMgZW4gbW9iaWxlIGVzdCBkw6lmaW5pIGljaS4gICAgKioqKiovXG5cbiRuYi1jb2wteHM6ICRtYXMtY29sLXgxOyAvKioqIG9uIGTDqXRlcm1pbmUgaWNpIGxlIG5vbWJyZSBkZSBjb2xvbm5lcyBwYXIgcmVzb2x1dGlvbiAqKiovXG4kbmItY29sLXNtOiAkbWFzLWNvbC14MjtcbiRuYi1jb2wtbWQ6ICRtYXMtY29sLXgzO1xuXG4kZ3V0dGVyLWltZzogNXB4O1xuLyoqKiBkw6l0ZXJtaW5lIGVzcGFjZW1lbnQgZW50cmUgbGVzIGltZy4gTWV0dHJlIDAgcG91ciBxdSdlbGxlcyBzb2llbnQgY29sbMOpZXMgZW5zZW1ibGUuXG5cbi8qIC0tLS0gZ3JpZCAtLS0tICovXG4uZ2FsZXJpZS1tYW5zb25hcnkge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICAuZ3JpZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgcGFkZGluZzogM3JlbSAwIDA7XG4gIH1cblxuICAvKiBjbGVhciBmaXggKi9cbiAgLmdyaWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLyogLS0tLSAuZ3JpZC1pdGVtIC0tLS0gKi9cblxuICAuZ3JpZC1zaXplcixcbiAgLmdyaWQtaXRlbSB7XG4gICAgd2lkdGg6ICRuYi1jb2wteHM7XG4gIH1cblxuICAuZ3JpZC1pdGVtIHtcbiAgICAvL2Zsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6ICRndXR0ZXItaW1nO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAuZ3JpZC1pdGVtLWxpbmsge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnLXpvb20ucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDFzIGVhc2UsIHRyYW5zZm9ybSAxLjJzIGVhc2UpO1xuICAgICAgfVxuXG4gICAgICBpbWc6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4yKSk7XG4gICAgICAgIEBpbmNsdWRlIHgtb3BhY2l0eSgwLjMpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbXBvcnQgJ3F1ZXJpZXMvbWFzb25yeSc7IiwiLmdhbGVyaWUtbWFuc29uYXJ5IHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIC5ncmlkLXNpemVyLFxuICAgIC5ncmlkLWl0ZW0ge1xuICAgICAgd2lkdGg6ICRuYi1jb2wtc207XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIC5ncmlkLXNpemVyLFxuICAgIC5ncmlkLWl0ZW0ge1xuICAgICAgd2lkdGg6ICRuYi1jb2wtbWQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5ncmlkIHtcbiAgICAgIC8vbWF4LXdpZHRoOiAxOTIwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAubmJfY29sXzMge1xuICAgICAgd2lkdGg6ICRtYXMtY29sLXgzO1xuICAgIH1cbiAgICAubmJfY29sXzQge1xuICAgICAgd2lkdGg6ICRtYXMtY29sLXg0O1xuICAgIH1cbiAgICAubmJfY29sXzUge1xuICAgICAgd2lkdGg6ICRtYXMtY29sLXg1O1xuICAgIH1cbiAgICAubmJfY29sXzYge1xuICAgICAgd2lkdGg6ICRtYXMtY29sLXg2O1xuICAgIH1cbiAgfVxufSIsIi5tdWx0aS1ibG9jLXN0eWxlLTEsIC5tdWx0aS1ibG9jLXN0eWxlLTEtYmFja2dyb3VuZC0xLCAubXVsdGktYmxvYy1zdHlsZS0xLWJhY2tncm91bmQtMiB7XG4gIC5tdWx0aWJsb2MtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5tdWx0aWJsb2MtaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICBAaWYgJGRhbWllci1jYXJkcy1zaGFkb3cge1xuICAgICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubXVsdGlibG9jLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG5cbiAgLmZpZWxkW2NsYXNzKj1cIi1nYWxlcmllLXBob3Rvc1wiXSwgLmZpZWxkW2NsYXNzKj1cIi1nYWxlcmllLXZpZGVvc1wiXSB7XG4gICAgcGFkZGluZzogMnJlbSAwIDA7XG4gIH1cblxuICAubXVsdGlibG9jW2NsYXNzKj1cImN3LWdyaWQtY29sLVwiXSB7XG4gICAgLmZpZWxkW2NsYXNzKj1cIi1nYWxlcmllLXBob3Rvc1wiXSwgLmZpZWxkW2NsYXNzKj1cIi1nYWxlcmllLXZpZGVvc1wiXSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubXVsdGktYmxvYy1zdHlsZS0xIC5tdWx0aWJsb2Mge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG59XG5cbi5tdWx0aS1ibG9jLXN0eWxlLTEtYmFja2dyb3VuZC0xIHtcbiAgLm11bHRpYmxvYy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwLjUlO1xuICB9XG5cbiAgLm11bHRpYmxvYy1pbWcge1xuICAgIHBhZGRpbmc6IDAuNSU7XG4gIH1cblxuICAubXVsdGlibG9jLXRleHQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLm11bHRpLWJsb2Mtc3R5bGUtMS1iYWNrZ3JvdW5kLTEge1xuICAubXVsdGlibG9jIHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoZGFya2VuKCRib2R5LWJnLCAxJSksIDEpO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjJkZWcsIHJnYmEoZGFya2VuKCRib2R5LWJnLCAyJSksIDEpIDAlLCByZ2JhKGRhcmtlbigkYm9keS1iZywgMC41JSksIDEpIDkwJSk7XG4gICAgfVxuICB9XG59XG5cbi5tdWx0aS1ibG9jLXN0eWxlLTEtYmFja2dyb3VuZC0yIHtcbiAgLm11bHRpYmxvYy1jb250ZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKGRhcmtlbigkYm9keS1iZywgMSUpLCAxKTtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIyZGVnLCByZ2JhKGRhcmtlbigkYm9keS1iZywgMiUpLCAxKSAwJSwgcmdiYShkYXJrZW4oJGJvZHktYmcsIDAuNSUpLCAxKSA5MCUpO1xuICAgIH1cbiAgICBwYWRkaW5nOiAzMHB4O1xuICB9XG59XG5cblxuXG4ucGFnZS1tdWx0aS1ibG9jLXRlbXBsYXRlLTEge1xuICAubXVsdGlibG9jOm50aC1sYXN0LWNoaWxkKDFuKzIpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZyAqIDEuNTtcbiAgfVxuXG4gIC5tdWx0aWJsb2MtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5tdWx0aWJsb2MtaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICBAaWYgJGRhbWllci1jYXJkcy1zaGFkb3cge1xuICAgICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubXVsdGlibG9jLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG5cbiAgLmZpZWxkW2NsYXNzKj1cIi1nYWxlcmllLXBob3Rvc1wiXSwgLmZpZWxkW2NsYXNzKj1cIi1nYWxlcmllLXZpZGVvc1wiXSB7XG4gICAgcGFkZGluZzogMnJlbSAwIDA7XG4gIH1cblxuICAubXVsdGlibG9jW2NsYXNzKj1cImN3LWdyaWQtY29sLVwiXSB7XG4gICAgLmZpZWxkW2NsYXNzKj1cIi1nYWxlcmllLXBob3Rvc1wiXSwgLmZpZWxkW2NsYXNzKj1cIi1nYWxlcmllLXZpZGVvc1wiXSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ucGFnZS1tdWx0aS1ibG9jIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wYWdlLW11bHRpLWJsb2MtbWFyZ2luIHtcbiAgLm11bHRpYmxvYzpudGgtbGFzdC1jaGlsZCgxbisyKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGcgKiAxLjU7XG4gIH1cbn1cblxuXG5bY2xhc3MqPVwiY3ctZ3JpZC1jb2wtXCJdIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IDMwcHg7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLmN3LWdyaWQtY29sLW1kLTMzLTY2IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnI7XG4gIH1cblxuICAuY3ctZ3JpZC1jb2wtbWQtNDQtNTUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNGZyIDVmcjtcbiAgfVxuXG4gIC5jdy1ncmlkLWNvbC1tZC01MC01MCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG5cbiAgLmN3LWdyaWQtY29sLW1kLTU1LTQ0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDVmciA0ZnI7XG4gIH1cblxuICAuY3ctZ3JpZC1jb2wtbWQtNjYtMzMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmcjtcbiAgfVxufSIsIiNzZi1zZWN0ZXVycyB7XG4gIC5pbnRybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuLnNmLWFydGljbGVzLXNlY3Rpb24ge1xuXG59XG5cbi5zZi1nYWxlcmllLXNlY3Rpb24ge1xuXG59XG5cbi5ub2RlLS10eXBlLXNvcmVmLWFydGljbGUge1xuICAmID4gLm5vZGVfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC5maWVsZC0tbmFtZS1ib2R5IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAuZmllbGQtLW5hbWUtZmllbGQtYXJ0aWNsZS1pbWFnZSB7XG4gICAgbWFyZ2luOiAwIGF1dG8gNTVweDtcbiAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICB9XG4gIC5maWVsZC0tbmFtZS1maWVsZC1zb3JlZi1hcnRpY2xlLWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5ibG9jay1zb3JlZi1xdWVyaWVzLCAuc29yZWYtc2VjdGlvbi1hY3Rpdml0aWVzLXh4bCB7XG4gIG1hcmdpbi10b3A6IDVyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICAudGl0bGUtaDIge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6ICRncmF5LTQwMDtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmN3LWlubGluZS11bCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5jdy1saXN0LXVsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gICAgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAtMXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAwLjRyZW07XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgIH1cbiAgfVxufVxuXG4uc29yZWYtc2VjdGlvbiB7XG4gIC5jdy1saXN0LXVsIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgfVxufVxuXG4jc29yZWYtZm9vdGVyLWNvbnRlbnQtY29sbGFwc2Uge1xuICBtYXgtaGVpZ2h0OiAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC43cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIC8vZm9udC1zaXplOiAxNHB4O1xuICB6LWluZGV4OiAxMDAwMDtcblxuICAmLnNob3cge1xuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cyBlYXNlLWluLW91dDtcbiAgfVxuXG4gIC5zb3JlZi1mb290ZXItY29udGVudCB7XG4gICAgLy9mb250LXNpemU6IDEzcHg7XG4gICAgYSwgYTpsaW5rLCBhOmhvdmVyLCBhOnZpc2l0ZWQge1xuICAgICAgLy9jb2xvcjogIzQwNDA0MDtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHggNXB4IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjO1xuICAgICAgICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnYmFja2dyb3VuZC1jb2xvcicsIHJnYmEoJGdyYXktMjAwLCAwLjQwKSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnY29sb3InLCByZ2JhKCRncmF5LTYwMCwgMC40MyksIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnYmFja2dyb3VuZC1jb2xvcicsIHJnYmEoJGdyYXktMjAwLCAwLjQwKSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnY29sb3InLCByZ2JhKCRncmF5LTYwMCwgMC40MyksIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNvcmVmLWZvb3Rlci10eHQgYSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAuc29yZWYtZm9vdGVyLXRpdGxlIHtcbiAgICAgIC8vZm9udC1zaXplOiAxLjFlbTtcbiAgICAgIC8vbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgIH1cbiAgfVxufVxuXG4uc29yZWYtYm90dG9tIHtcbiAgZm9udC1mYW1pbHk6ICRib3R0b20tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGJvdHRvbS1mb250LXNpemU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnY29sb3InLCByZ2JhKCRib3R0b20tY29sb3IsIDEpLCAkYm90dG9tLWNvbG9yKTtcblxuICBhOmxpbmssIGE6aG92ZXIsIGE6dmlzaXRlZCB7XG4gICAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdjb2xvcicsIHJnYmEoJGJvdHRvbS1jb2xvciwgMSksICRib3R0b20tY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBpbXBvcnQgJ3F1ZXJpZXMvc29yZWYnO1xuIiwiLy8gLS0tLS0tLS0tLS0gTUVESUEgUVVFUklFUyAtLS0tLS0tLS1cbi8vIFVwIHRvIDk5MnB4XG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5hY3Rpdml0aWVzLXh4bC11bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB1bCB7XG4gICAgICB3aWR0aDogNDglO1xuICAgIH1cbiAgfVxuXG4gIC5ub2RlLS10eXBlLXNvcmVmLWFydGljbGUge1xuICAgIC5maWVsZC0tbmFtZS1maWVsZC1zb3JlZi1hcnRpY2xlLWltYWdlIHtcbiAgICAgIEBpZiAkZGFtaWVyLWNhcmRzLXNoYWRvdyB7XG4gICAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjE1LCAwcHgsIDAuNXJlbSwgMXJlbSwgMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKioqKioqKioqKioqKiBHTE9CQUxFICoqKioqKioqKioqKioqL1xuLy8gRXNwYWNlIC0gVGFpbGxlXG4kZmxiLXRvcDogMzEwcHg7XG4kZmxiLXdpZHRoOiAyNzBweDtcblxuLy8gQ291bGV1clxuJGZsYi10aXRsZS1jb2xvcjogJGRhcms7XG4kZmxiLXRpdGxlLWJnOiAkdGVydGlhcnk7XG4kZmxiLWNvbnRlbnQtY29sb3I6ICRib2R5LWNvbG9yO1xuJGZsYi1jb250ZW50LWJnOiAkd2hpdGU7XG4kZmxiLWxhYmVsLWNvbG9yOiAkZ3JheS01MDA7XG5cbi8vIFR5cG9ncmFwaGllXG4kZmxiLWZvbnQgOiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuXG4kZmxiLWRlbm8tZm9udC1mYW1pbHk6ICRmbGItZm9udDtcbiRmbGItZGVuby1mb250LXdlaWdodDogJHByaW1hcnktYm9sZC13ZWlnaHQ7XG4kZmxiLWRlbm8tdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kZmxiLWRlbm8tZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuJGZsYi1kZW5vLWxpbmUtaGVpZ2h0OiAxLjI7XG4kZmxiLWRlbm8tbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuXG4kZmxiLW1ldGllci1mb250LWZhbWlseTogJGZsYi1mb250O1xuJGZsYi1tZXRpZXItZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4kZmxiLW1ldGllci10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRmbGItbWV0aWVyLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiRmbGItbWV0aWVyLWxpbmUtaGVpZ2h0OiAxLjI7XG4kZmxiLW1ldGllci1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG5cbiRmbGItYWRyLWZvbnQtZmFtaWx5OiAkZmxiLWZvbnQ7XG4kZmxiLWFkci1mb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiRmbGItYWRyLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGZsYi1hZHItZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4kZmxiLWFkci1saW5lLWhlaWdodDogMS4yO1xuJGZsYi1hZHItbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuXG4kZmxiLXRlbC1mb250LWZhbWlseTogJGZsYi1mb250O1xuJGZsYi10ZWwtZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4kZmxiLXRlbC10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRmbGItdGVsLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuJGZsYi10ZWwtbGluZS1oZWlnaHQ6IDEuMjtcbiRmbGItdGVsLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuLmZsYi1idG4ge1xuICBidXR0b24ge1xuICAgIHBhZGRpbmc6IDlweCAxNXB4O1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gIH1cbn1cblxuLy8gRW4gY29ubmVjdMOpIChhZmluIGRlIHZvaXIpXG4udXNlci1sb2dnZWQtaW4ge1xuICAuYmxvY2stZmxvYXQgPiAuY29udGV4dHVhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMjM1cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1maXhlZDtcbiAgfVxuICAuZmxiLWJsb2NrIHtcbiAgICB0b3A6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZH0gKyAxODBweCk7XG4gIH1cbn1cblxuLmZsYi1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IC0xcHg7XG4gIHRvcDogJGZsYi10b3A7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgQGluY2x1ZGUgZmlsdGVyKGRyb3Atc2hhZG93KC01cHggN3B4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjEpKSk7XG5cbiAgLmZsYi1sYWJlbCB7XG4gICAgQGluY2x1ZGUgcm90YXRlKDE4MGRlZyk7XG4gICAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRidG4tdGV4dC10cmFuc2Zvcm07XG4gICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICB0ZXh0LW9yaWVudGF0aW9uOiBtaXhlZDtcbiAgfVxuXG4gIC5mbGItaWNvbiB7XG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDcwJTtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLmZsYi10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnYmFja2dyb3VuZC1jb2xvcicsIHJnYmEoJGZsYi10aXRsZS1iZywgMSksICRmbGItdGl0bGUtYmcpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNDBweDsgLy9Mb3JzcXVlIHdyaXRpbmctbW9kZSBiaWVuIGfDqXLDqSBzdXIgZmlyZWZveCBwYXNzZXIgZW4gbWluLXdpZHRoXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgMCAwICRyYWRpdXM7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAkZmxiLXRpdGxlLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5mbGItY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDEuNXMgZWFzZS1pbi1vdXQpO1xuICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnYmFja2dyb3VuZC1jb2xvcicsIHJnYmEoJGZsYi1jb250ZW50LWJnLCAxKSwgJGZsYi1jb250ZW50LWJnKTtcbiAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4xMCwgLTVweCwgN3B4LCAyNXB4LCAwcHgpO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHdpZHRoOiAkZmxiLXdpZHRoO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRuYXZiYXItaGVpZ2h0LW1kfSAtICN7JGZsYi10b3B9KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwICRyYWRpdXM7XG4gICAgLmZsYi13cmFwcGVyIHtcbiAgICAgIGNvbG9yOiAkZmxiLWNvbnRlbnQtY29sb3I7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgd2lkdGg6ICRmbGItd2lkdGg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICBmb3JtIC53ZWJmb3JtLWZsZXhib3gge1xuICAgICAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWZsb2F0LWRlbm9taW5hdGlvbiB7XG4gICAgICBmb250LWZhbWlseTogJGZsYi1kZW5vLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmbGItZGVuby1mb250LXdlaWdodDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkZmxiLWRlbm8tdGV4dC10cmFuc2Zvcm07XG4gICAgICBmb250LXNpemU6ICRmbGItZGVuby1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGZsYi1kZW5vLWxpbmUtaGVpZ2h0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgIH1cblxuICAgIC5ibG9jay1mbG9hdC1tZXRpZXIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmbGItbWV0aWVyLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmbGItbWV0aWVyLWZvbnQtd2VpZ2h0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06ICRmbGItbWV0aWVyLXRleHQtdHJhbnNmb3JtO1xuICAgICAgZm9udC1zaXplOiAkZmxiLW1ldGllci1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGZsYi1tZXRpZXItbGluZS1oZWlnaHQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgfVxuXG4gICAgLmJsb2NrLWZsb2F0LWFkcmVzc2Uge1xuICAgICAgZm9udC1mYW1pbHk6ICRmbGItYWRyLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmbGItYWRyLWZvbnQtd2VpZ2h0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06ICRmbGItYWRyLXRleHQtdHJhbnNmb3JtO1xuICAgICAgZm9udC1zaXplOiAkZmxiLWFkci1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGZsYi1hZHItbGluZS1oZWlnaHQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogJGZsYi1hZHItbGV0dGVyLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLmJsb2NrLWZsb2F0LXRlbGVwaG9uZSB7XG4gICAgICBmb250LWZhbWlseTogJGZsYi10ZWwtZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogJGZsYi10ZWwtZm9udC13ZWlnaHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJGZsYi10ZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgICBmb250LXNpemU6ICRmbGItdGVsLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkZmxiLXRlbC1saW5lLWhlaWdodDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkZmxiLXRlbC1sZXR0ZXItc3BhY2luZztcbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgfVxuICB9XG5cbiAgZm9ybSB7XG4gICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmNhcHRjaGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbHRlcihncmF5c2NhbGUoMTAwJSkpO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICAvL0BpbmNsdWRlIGlucHV0LXN0eWxlKDI4cHgsICRmbGItaW5wdXQtYmcsICRmbGItaW5wdXQtY29sb3IsICRmbGItcGxhY2Vob2xkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4gICAgICBjb2xvcjogJGZsYi1sYWJlbC1jb2xvcjtcbiAgICB9XG5cbiAgICAuanMtZm9ybS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIC8vQGluY2x1ZGUgaW5wdXQtc3R5bGUoMjhweCwgJGZsYi1pbnB1dC1iZywgJGZsYi1pbnB1dC1jb2xvciwgJGZsYi1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgLy9AaW5jbHVkZSBzdWJtaXQtc3R5bGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cbiAgfVxufVxuXG4uZmxiLWJsb2NrLm1pbmkge1xuICByaWdodDogLTQycHg7XG5cbiAgLmZsYi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjVzIGVhc2UtaW4tb3V0KTtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuXG4uZmxiLWJsb2NrIHtcbiAgLndlYmZvcm0tcHJvZ3Jlc3NiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAud2ViZm9ybS1kYXRlcGlja2VyID4gKiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIHdlYmZvcm0tY29tcG9uZW50LXJhZGlvLWNoZWNrYm94LXJncGQgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmZsYi1ibG9jayB7XG4gIC5jb250ZW50IGZvcm0gLndlYmZvcm0tY29tcG9uZW50LS10ZWxlcGhvbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZm9ybS1yZ3BkIHtcbiAgICBpbnB1dC5mb3JtLXJncGQge1xuICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBSQVBQRUwgR1JBVFVJVCBFTiBSRVNQT05TSVZFICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuXG4ub3ZlcmxheS1tb2JpbGUgeyAvL292ZXJsYXkgbm9pciBzdXIgYm9keVxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogODA7XG4gIH1cbn1cblxuQGltcG9ydCBcInF1ZXJpZXMvZmxvYXQtYmxvY2tcIjtcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmZsYi1ibG9jay5taW5pIHtcbiAgICByaWdodDogLTFweDtcbiAgfVxuXG4gIC5mbGItYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59IiwiLnBhZ2luYXRpb24ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6ICRiZXR3ZWVuLXpvbmVzLWxnICogMjtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ib2xkLXdlaWdodDtcblxuICAucGFnZXJfX2l0ZW0tLW5leHQgYVtyZWw9XCJuZXh0XCJdIHtcbiAgICBtYXJnaW4tbGVmdDogNDVweDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0gYVtyZWw9XCJwcmV2XCJdIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQ1cHg7XG4gIH1cblxuICAucGFnZS1pdGVtIGFbdGl0bGU9XCJBbGxlciDDoCBsYSBwYWdlIHByw6ljw6lkZW50ZVwiXSB7XG4gICAgQGluY2x1ZGUgY2hldnJvbi1hZnRlcihcIlxcZjA1M1wiLCBsZWZ0KTtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucGFnZXJfX2l0ZW0tLW5leHQgYVt0aXRsZT1cIkFsbGVyIMOgIGxhIHBhZ2Ugc3VpdmFudGVcIl0ge1xuICAgIEBpbmNsdWRlIGNoZXZyb24tYWZ0ZXIoXCJcXGYwNTRcIiwgcmlnaHQpO1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlLWl0ZW0gYVt0aXRsZT1cIkFsbGVyIMOgIGxhIHByZW1pw6hyZSBwYWdlXCJdIHtcbiAgICBAaW5jbHVkZSBjaGV2cm9uLWFmdGVyKFwiXFxmMDUzXFxmMDUzXCIsIGxlZnQpO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucGFnZS1pdGVtIGFbdGl0bGU9XCJBbGxlciDDoCBsYSBkZXJuacOocmUgcGFnZVwiXSB7XG4gICAgQGluY2x1ZGUgY2hldnJvbi1hZnRlcihcIlxcZjA1NFxcZjA1NFwiLCByaWdodCk7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIkZ3JleS1jb29raWU6ICM5ZDlkOWQ7XG4kcHJpbWFyeS1jb29raWU6ICM5MDkwOTA7XG4kcHJpbWFyeS0tbGlnaHQtY29va2llOiBsaWdodGVuKCRwcmltYXJ5LWNvb2tpZSwgMjAlKTtcbiRib2R5LWNvbG9yLWNvb2tpZTogIzU0NDgzYztcblxuYm9keSAjdGFydGVhdWNpdHJvblJvb3Qge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG5cbiAgYnV0dG9uIHsgLy8gQm91dG9uIGfDqW7DqXJhbFxuICAgIG1hcmdpbi10b3A6IDEwcHghaW1wb3J0YW50O1xuICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLnRhcnRlYXVjaXRyb25BbGxvdyB7IC8vIEJvdXRvbiBBdXRvcmlzZXIgZ8OpbsOpcmFsXG4gICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IGZyZWVcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgY29udGVudDogJ1xcZjAwYyc7IC8vZm9udCBhd2Vzb21lIGZhLWNoZWNrXG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLnRhcnRlYXVjaXRyb25EZW55IHsgLy8gQm91dG9uIFJlZnVzZXIgZ8OpbsOpcmFsXG4gICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IGZyZWVcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBjb2xvcjogJGdyZXktY29va2llO1xuICAgICAgY29udGVudDogJ1xcZjAwZCc7IC8vZm9udCBhd2Vzb21lIGZhLXRpbWVzXG4gICAgfVxuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLy8qKioqKiogYmFuZGVhdSBjb29raWVzIGJvdHRvbSoqKioqL1xuICBzcGFuI3RhcnRlYXVjaXRyb25EaXNjbGFpbWVyQWxlcnQgeyAvL1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgLmNvb2tpZS1iaWctdHh0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cblxuICAjdGFydGVhdWNpdHJvbkFsZXJ0QmlnIHsgLy8gKioqIGJhbmRlYXUgY29va2llcyBib3R0b20gKioqKiovXG5cbiAgICBidXR0b24udGFydGVhdWNpdHJvbkFsbG93IHsgLy8gQm91dG9uIFRPVVQgQWNjZXB0ZXIgcG91ciBiYW5kZWF1IGVuIGJvdHRvbVxuICAgICAgLy9AaW5jbHVkZSBidG4tY3coKTtcbiAgICAgIEBpbmNsdWRlIGJ0bi1jb2xvcigkd2hpdGUsICRib2R5LWNvbG9yLWNvb2tpZSk7XG4gICAgICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigwLCAkcHJpbWFyeS1jb29raWUsJHByaW1hcnktLWxpZ2h0LWNvb2tpZSwgMSwgMSk7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICB9XG4gICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yLWNvb2tpZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBidXR0b24udGFydGVhdWNpdHJvbkRlbnkgeyAvLyBCb3V0b24gVE9VVCBSZWZ1c2VyIHBvdXIgYmFuZGVhdSBlbiBib3R0b21cbiAgICAgIC8vQGluY2x1ZGUgYnRuLWN3KCk7XG4gICAgICBAaW5jbHVkZSBidG4tY29sb3IoJGRhcmssICRib2R5LWNvbG9yLWNvb2tpZSk7XG4gICAgICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigwLCAkd2hpdGUsICRwcmltYXJ5LS1saWdodC1jb29raWUsIDEsIDEpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgfVxuICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBpbml0aWFsO1xuICAgICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvci1jb29raWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24udGFydGVhdWNpdHJvbkNUQUJ1dHRvbiB7IC8vIGJvdXRvbnMgQ1RBIChhY2NlcHRlciAvIHJlZnVzZXIpXG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMtYnRuKTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjI1LCAwcHgsIDRweCwgMTJweCwgMHB4KTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uI3RhcnRlYXVjaXRyb25DbG9zZUFsZXJ0LCAvLyBib3V0b25zIHBlcnNvbm5hbGlzZXIgZXQgcG9saXRpcXVlIGRlIGNvbmZcbiAgICBidXR0b24jdGFydGVhdWNpdHJvblByaXZhY3lVcmwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogJGdyZXktY29va2llO1xuICAgICAgYm9yZGVyOiB1bnNldDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktY29va2llO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24jdGFydGVhdWNpdHJvbkNsb3NlQWxlcnQgeyAvLyBib3V0b25zIHBlcnNvbm5hbGlzZXJcbiAgICAgIG1hcmdpbi10b3A6IDI1cHghaW1wb3J0YW50O1xuICAgICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgZnJlZVwiO1xuICAgICAgICBjb2xvcjogJGdyZXktY29va2llO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBjb250ZW50OiAnXFxmMDEzJzsgLy9mb250IGZhLWNvZ1xuICAgICAgfVxuICAgIH1cbiAgICBidXR0b24jdGFydGVhdWNpdHJvblByaXZhY3lVcmwgeyAvLyBib3V0b25zIHBvbGl0aXF1ZSBkZSBjb25mXG4gICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBmcmVlXCI7XG4gICAgICAgIGNvbG9yOiAkZ3JleS1jb29raWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwMjMnOyAvL2ZvbnQgYXdlc29tZSBmYS1sb2NrXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8vKioqKioqIFBhcmFtw6h0cmVzIHBvcCB1cCBjb29raWVzICoqKioqL1xuICAjdGFydGVhdWNpdHJvblNlcnZpY2VzIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgICBidXR0b246OmJlZm9yZSB7XG4gICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgfVxuXG4gICAgLnRhcnRlYXVjaXRyb25EZXRhaWxzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlZGVkZWQ7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMjUsIDBweCwgNHB4LCAxMnB4LCAwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEzcHg7XG4gICAgfVxuXG4gICAgLnRhcnRlYXVjaXRyb25NYWluTGluZSB7IC8vIHBhcnRpZSB0b3AgZGUgbGEgcG9wIHVwIGNvb2tpZSAoVGl0cmUgKyBkZXNjcmlwdGlvbiArIGJ0biB0b3V0IGFjY2VwdGVyIC8gcmVmdXNlcilcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uSDEsIC50YXJ0ZWF1Y2l0cm9uSDIge1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gICAgICB9XG5cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uSDEge1xuICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICB9XG4gICAgICAudGFydGVhdWNpdHJvbkgyIHtcbiAgICAgICAgY29sb3I6ICRncmV5LWNvb2tpZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMzcHg7XG4gICAgICB9XG5cbiAgICAgICN0YXJ0ZWF1Y2l0cm9uSW5mbyB7IC8vIGRlc2NyaXB0aW9uIHBvcHVwIGNvb2tpZVxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgICAgICN0YXJ0ZWF1Y2l0cm9uUHJpdmFjeVVybERpYWxvZyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGNvbG9yOiAkZ3JleS1jb29raWU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgZnJlZVwiO1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWNvb2tpZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMDIzJzsgLy9mb250IGF3ZXNvbWUgZmEtbG9ja1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogM3B4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktY29va2llO1xuICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQpXG4gICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFydGVhdWNpdHJvbkJvcmRlciB7IC8vIHBhcnRpZSBib3R0b20gcG9wIHVwIGNvb2tpZSBhdmVjIGxpc3RpbmcgZGVzIGNvb2tpZXMgKyBidG4gYXV0b3Jpc2VyIC8gcmVmdXNlclxuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2RmZGZkZiFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAudGFydGVhdWNpdHJvblRpdGxlLCAvLyBUaXRyZSBkdSBjb29raWUgZW4gcXVlc3Rpb25cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uTGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRhcnRlYXVjaXRyb25UaXRsZSA+IGJ1dHRvbiB7IC8vIGJvdXRvbiBzdXIgbGUgbm9tIGR1IGNvb2tpZSBxdWkgb3V2cmUgdW5lIGRpdiBjb250ZW5hbnQgZGVzY3JpcHRpb24gZHUgY29va2llXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgICAgIH1cblxuICAgICAgLnRhcnRlYXVjaXRyb25OYW1lIHsgLy8gdGl0cmUgKyBpbmZvICsgbmIgY29va2llIHF1aSBwZXV0IMOqdHJlIGTDqXBvc2VyXG4gICAgICAgIC50YXJ0ZWF1Y2l0cm9uSDMsIC50YXJ0ZWF1Y2l0cm9uTGlzdENvb2tpZXMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgICAgIC50YXJ0ZWF1Y2l0cm9uTGlzdENvb2tpZXMgeyAvLyBuYiBkZSBjb29raWUgcG91dmFudCDDqnRyZSBkw6lwb3PDqSAocGFyIHR5cGUgZGUgY29va2llKVxuICAgICAgICAgIGNvbG9yOiAjYjliOWI5O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJy0nO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGFydGVhdWNpdHJvbkFzayB7IC8vIGJ0biBhY2NlcHRlciAvIHJlZnVzZXIgZHUgY29va2llIGVuIHF1ZXN0aW9uXG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICN0YXJ0ZWF1Y2l0cm9uU2VydmljZXNUaXRsZV9tYW5kYXRvcnkgeyAvLyBwcmVtaWVyIGNvb2tpZSBvYmxpZ2F0b2lyZVxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAudGFydGVhdWNpdHJvbkxpc3RDb29raWVzIHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqKiogU1RZTEVTIERFUyBCT1VUT05TIERFIExBIFBPUCBVUCBDT09LSUUgKioqKiovXG4gICAgLnRhcnRlYXVjaXRyb25MaW5lIC50YXJ0ZWF1Y2l0cm9uQXNrIHtcbiAgICAgIC50YXJ0ZWF1Y2l0cm9uQWxsb3csICN0YXJ0ZWF1Y2l0cm9uQWxsQWxsb3dlZCxcbiAgICAgIC50YXJ0ZWF1Y2l0cm9uRGVueSwgI3RhcnRlYXVjaXRyb25BbGxEZW5pZWQge1xuICAgICAgICAvL0BpbmNsdWRlIGJ0bi1jdygpO1xuICAgICAgICAvL0BpbmNsdWRlIGJ0bi1jb2xvcigkZGFyaywgJHByaW1hcnkpO1xuICAgICAgICAvL0BpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKDAsICR3aGl0ZSwgJHByaW1hcnksIDEsIDAuMik7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHJhZGl1cy1idG4pO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjI1LCAwcHgsIDRweCwgMTJweCwgMHB4KTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICAgICAgICBtaW4td2lkdGg6IDEyNXB4O1xuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuICAgICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC4ycyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uQWxsb3cgeyAvLyBib3V0b24gXCJBY2NlcHRlclwiXG4gICAgICAgIEBpbmNsdWRlIGJ0bi1jb2xvcigkd2hpdGUsICRib2R5LWNvbG9yLWNvb2tpZSk7XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKDAsICRwcmltYXJ5LWNvb2tpZSwgJHByaW1hcnktLWxpZ2h0LWNvb2tpZSwgMSwgMSk7XG4gICAgICAgICY6ZGlzYWJsZWQgeyAvL2JvdXRvbiBcIkFjY2VwdGVyXCIgb2JsaWdhdG9pcmUgKHBhcyBkZSBzdXJ2b2wgbmkgZCdhY3Rpb24gcG9zc2libGUgZGVzc3VzKVxuICAgICAgICAgIEBpbmNsdWRlIGJ0bi1jb2xvcigkd2hpdGUsICR3aGl0ZSk7XG4gICAgICAgICAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oMCwgJHByaW1hcnktY29va2llLCAkcHJpbWFyeS1jb29raWUsIDEsIDEpO1xuICAgICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yLWNvb2tpZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI3RhcnRlYXVjaXRyb25BbGxBbGxvd2VkIHsgLy8gYm91dG9uIFwiVE9VVCBBY2NlcHRlclwiXG4gICAgICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoMnB4LCAkZ3JleS1jb29raWUsICRwcmltYXJ5LS1saWdodC1jb29raWUsIDEsIDApO1xuICAgICAgICBAaW5jbHVkZSBidG4tY29sb3IoJHdoaXRlLCAkYm9keS1jb2xvci1jb29raWUpO1xuICAgICAgICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigwLCAkZ3JleS1jb29raWUsICRwcmltYXJ5LS1saWdodC1jb29raWUsIDEsIDEpO1xuICAgICAgfVxuXG4gICAgICAjdGFydGVhdWNpdHJvbkFsbERlbmllZCB7IC8vIGJvdXRvbiBcIlRPVVQgcmVmdXNlclwiXG4gICAgICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoMnB4LCAkZ3JleS1jb29raWUsIHRyYW5zcGFyZW50LCAxLCAwKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnRhcnRlYXVjaXRyb25EZW55LCAjdGFydGVhdWNpdHJvbkFsbERlbmllZCB7IC8vIGJvdXRvbiBcInJlZnVzZXJcIiBldCBcInRvdXQgcmVmdXNlclwiXG4gICAgICAgIEBpbmNsdWRlIGJ0bi1jb2xvcigkZGFyaywgJGJvZHktY29sb3ItY29va2llKTtcbiAgICAgICAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oMCwgJHdoaXRlLCAkcHJpbWFyeS0tbGlnaHQtY29va2llLCAxLCAxKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeSwgMC4yKTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuICAgICAgICAgICAgICBjb2xvcjogJGJvZHktY29sb3ItY29va2llO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50YXJ0ZWF1Y2l0cm9uTGluZS50YXJ0ZWF1Y2l0cm9uSXNBbGxvd2VkIHsgLy8gc3R5bGVzIGRlIHRvdXMgbGVzIGJvdXRvbnMgXCJhY2NlcHRlclwiIHNpIGJvdXRvbiBcInRvdXQgYWNjZXB0ZXJcIiBzw6lsZWN0aW9ubsOpXG4gICAgICAudGFydGVhdWNpdHJvbkFsbG93LCAjdGFydGVhdWNpdHJvbkFsbEFsbG93ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb29raWU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICAjdGFydGVhdWNpdHJvbkFsbEFsbG93ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6ICAkcHJpbWFyeS1jb29raWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhcnRlYXVjaXRyb25MaW5lLnRhcnRlYXVjaXRyb25Jc0RlbmllZCB7IC8vIHN0eWxlcyBkZSB0b3VzIGxlcyBib3V0b25zIFwicmVmdXNlclwiIHNpIGJvdXRvbiBcInRvdXQgcmVmdXNlclwiIHPDqWxlY3Rpb25uw6lcbiAgICAgIC50YXJ0ZWF1Y2l0cm9uRGVueSwgI3RhcnRlYXVjaXRyb25BbGxEZW5pZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvb2tpZSwgMSk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgLy9zdXJjaGFnZSBsYSBtaXhpbiAgYnRuLWNvbG9yKCkgcXVpIGEgdW4gIWltcG9ydGFudC4uLlxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uQWxsb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1jb29raWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3RhcnRlYXVjaXRyb25BbGxBbGxvd2VkIHsgLy8gc3R5bGUgYnRuIFwiVE9VVCBhY2NlcHRlclwiIHNpIHPDqWxlY3Rpb25uw6lcbiAgICAgICYudGFydGVhdWNpdHJvbklzU2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb29raWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3RhcnRlYXVjaXRyb25BbGxEZW5pZWQgeyAvLyBzdHlsZSBidG4gXCJUT1VUIHJlZnVzZXJcIiBzaSBzw6lsZWN0aW9ubsOpXG4gICAgICAmLnRhcnRlYXVjaXRyb25Jc1NlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29va2llO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YXJ0ZWF1Y2l0cm9uTGluZSAudGFydGVhdWNpdHJvbkFsbG93LCAvLyByZW5kIGwnb3BhY2l0w6kgw6AgMSBxdWFuZCBzdXJ2b2wgZGVzIGJ0biBcInJlZnVzZXJcIiBldCBcImFjY2VwdGVyXCJcbiAgICAudGFydGVhdWNpdHJvbkxpbmUgLnRhcnRlYXVjaXRyb25EZW55IHtcbiAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMSFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3RhcnRlYXVjaXRyb24gI3RhcnRlYXVjaXRyb25DbG9zZVBhbmVsIHsgLy8qKioqIEJvdXRvbiBGZXJtZXIgZGUgbGEgcG9wIHVwIGNvb2tpZVxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGdyZXktY29va2llO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDI4cHg7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICAuY2xvc2UtY29va2llLXgge1xuICAgICAgY29sb3I6ICRncmV5LWNvb2tpZTtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIHdpZHRoOiA5cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2xvc2UucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbn1cblxuLy8gQmxvYyBpbmZvcy1ib3R0b21cbiN0YXJ0ZWF1Y2l0cm9uTWFuYWdlciB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbml0aWFsO1xufVxuXG4vKioqIFRhYmxlYXUgY29va2llICoqKi9cblxuLmN3LXRhYmxlLWNvbnRhaW5lciAuY3ctdGFiLWNvb2tpZSB0aGVhZCB0ciB0ZCB7XG4gICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jdy10YWJsZS1jb250YWluZXIgLmN3LXRhYi1jb29raWUgdGJvZHkgdHIgdGQgcCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLy8qKioqKioqKiogUVVFUklFUyAqKioqKioqKioqKi9cblxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgaHRtbCBib2R5ICN0YXJ0ZWF1Y2l0cm9uUm9vdCB7XG4gICAgI3RhcnRlYXVjaXRyb24gI3RhcnRlYXVjaXRyb25TZXJ2aWNlc1RpdGxlX21hbmRhdG9yeSB7IC8vIGNhY2hlIGxlIGJ0biBcInJlZnVzZXJcIiBub24gZXhpc3RhbnQgcG91ciBsZXMgY29va2llcyBvYmxpZ2F0b2lyZSBlbiBtb2JpbGUgY2FyIHByZW5kIGRlIGxhIHBsYWNlXG4gICAgICAudGFydGVhdWNpdHJvbkRlbnkge1xuICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgI3RhcnRlYXVjaXRyb24gI3RhcnRlYXVjaXRyb25DbG9zZVBhbmVsIHsgLy8gY2hhbmdlIHBvc2l0aW9uIGJ0biBmZXJtZXIgZW4gbW9iaWxlXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICN0YXJ0ZWF1Y2l0cm9uU2VydmljZXMgLnRhcnRlYXVjaXRyb25Cb3JkZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG5cbi8qKiogVGFibGVhdSBjb29raWUgKioqL1xuLmN3LXRhYmxlLWNvbnRhaW5lciAuY3ctdGFiLWNvb2tpZSB0Ym9keSB0ciB7XG5cdFx0dGQ6YmVmb3JlIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0fSBcblx0XHR0ZDpudGgtY2hpbGQoMSk6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiLSBOb20gZHUgY29va2llIC1cIjtcblx0XHR9XG5cdFx0dGQ6bnRoLWNoaWxkKDIpOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIi0gRWRpdGV1ciBkdSBjb29raWUgLVwiO1xuXHRcdH1cblx0XHR0ZDpudGgtY2hpbGQoMyk6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiLSBGaW5hbGl0ZSAvIEZvbmN0aW9uIC1cIjtcblx0XHR9XG5cdFx0dGQ6bnRoLWNoaWxkKDQpOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIi0gQ29uc2VydmF0aW9uIC1cIjtcblx0XHR9XG5cdH1cblxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIGJvZHkgI3RhcnRlYXVjaXRyb25Sb290IHtcblxuICAgIGJ1dHRvbiB7IC8vYm91dG9uIGfDqW7DqXJhbFxuICAgICAgbWFyZ2luLXRvcDogMHB4IWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjdGFydGVhdWNpdHJvblNlcnZpY2VzIC50YXJ0ZWF1Y2l0cm9uTGluZSAudGFydGVhdWNpdHJvbkFzayB7IC8vIGJvdXRvbiByZWZ1c2VyIC8gYWNjZXB0ZXIgZGUgY2hhcXVlIGNvb2tpZVxuICAgICAgLnRhcnRlYXVjaXRyb25BbGxvdywgI3RhcnRlYXVjaXRyb25BbGxBbGxvd2VkLCAudGFydGVhdWNpdHJvbkRlbnksICN0YXJ0ZWF1Y2l0cm9uQWxsRGVuaWVkIHtcbiAgICAgICAgcGFkZGluZzogMTVweCA3cHg7XG4gICAgICB9XG4gICAgfVxuICAgIHNwYW4jdGFydGVhdWNpdHJvbkRpc2NsYWltZXJBbGVydCB7IC8vIGJhbmRlYXUgY29va2llIGJvdHRvbTogdGl0cmUgXCJDZSBzaXRlIHV0aWxpc2UgZGVzIGNvb2tpZXMuLi5cIlxuICAgICAgLmNvb2tpZS1iaWctdHh0IHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIGJvZHkgI3RhcnRlYXVjaXRyb25Sb290IHtcbiAgICAjdGFydGVhdWNpdHJvblNlcnZpY2VzIC50YXJ0ZWF1Y2l0cm9uTGluZSAudGFydGVhdWNpdHJvbkFzayB7IC8vIGJvdXRvbiByZWZ1c2VyIC8gYWNjZXB0ZXIgZGUgY2hhcXVlIGNvb2tpZVxuICAgICAgLnRhcnRlYXVjaXRyb25BbGxvdywgI3RhcnRlYXVjaXRyb25BbGxBbGxvd2VkLCAudGFydGVhdWNpdHJvbkRlbnksICN0YXJ0ZWF1Y2l0cm9uQWxsRGVuaWVkIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4vKioqIFRhYmxlYXUgY29va2llICoqKi9cblx0LmN3LXRhYmxlLWNvbnRhaW5lciAgLmN3LXRhYi1jb29raWUgdGJvZHkgdHIgdGQge1xuXHRcdHdoaXRlLXNwYWNlOiB1bnNldCFpbXBvcnRhbnQ7XG5cdFx0dGV4dC1hbGlnbjogbGVmdCFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDI1JSFpbXBvcnRhbnQ7XG5cdH1cblx0LmN3LXRhYmxlLWNvbnRhaW5lciAgLmN3LXRhYi1jb29raWUgdGJvZHkgdHIgdGQ6bnRoLWNoaWxkKDBuKzEpLFxuXHQuY3ctdGFibGUtY29udGFpbmVyICAuY3ctdGFiLWNvb2tpZSB0Ym9keSB0ciB0ZDpudGgtY2hpbGQoMG4rMiksXG5cdC5jdy10YWJsZS1jb250YWluZXIgIC5jdy10YWItY29va2llIHRib2R5IHRyIHRkOmxhc3QtY2hpbGQge1xuXHRcdG1heC13aWR0aDogMTUlO1xuXHR9XG5cbn1cblxuLmZvcm0tcmdwZCB7XG4gIGlucHV0LmZvcm0tcmdwZCB7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xuICB9XG4gIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgIGNvbG9yOiBsaWdodGVuKCRib2R5LWNvbG9yLCAyNSUpO1xuICB9XG59XG5cbi5yYXBwZWwtZ3JhdHVpdCxcbi5mbG90dGFudC1yYXBwZWwtZ3JhdHVpdCxcbi5mbG90dGFudC1yZXNlcnZhdGlvbiB7XG4gIC5jb250ZW50IGZvcm0gLndlYmZvcm0tY29tcG9uZW50LS10ZWxlcGhvbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxuICAuZm9ybS1yZ3BkIHtcbiAgICBpbnB1dC5mb3JtLXJncGQge1xuICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vaHR0cHM6Ly9wZXBzaXplZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTgvMDkvYmVlcnNsaWRlci9kZW1vL2luZGV4Lmh0bWxcblxuJHByZWZpeDogXCJiZWVyXCI7XG4kaW5pdGlhbC1yZXZlYWw6IDUwJTtcblxuLmZpZWxkLS1uYW1lLWZpZWxkLWF2dC1hcHJzLWNvbnRhaW5lci1ibG9jIHtcbiAgcGFkZGluZzogJGJldHdlZW4tem9uZXMgMCAwO1xufVxuXG4uYXZhbnQtYXByZXMtZ2FsZXJpZS1waG90byB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uI3skcHJlZml4fS1zbGlkZXIge1xuICAqLFxuICAmOmJlZm9yZSxcbiAgJjphZnRlcixcbiAgKjpiZWZvcmUsXG4gICo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwIDE1cHggMzBweDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIG1heC13aWR0aDogNTQwcHg7XG4gIEBpZiAkZGFtaWVyLWNhcmRzLXNoYWRvdyB7XG4gICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMTUsIDBweCwgMC41cmVtLCAxcmVtLCAwcHgpO1xuICB9XG5cbiAgaW1nLCBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cblxuICAmID4gKiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJiA+IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4uI3skcHJlZml4fS1yZXZlYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCUgLSAkaW5pdGlhbC1yZXZlYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXM7XG5cbiAgJiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCUqMTAwJS8kaW5pdGlhbC1yZXZlYWw7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gICYgPiBpbWc6Zmlyc3QtY2hpbGQge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4uI3skcHJlZml4fS1yYW5nZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBsZWZ0OiAtMXB4O1xuICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHNsaWRlci1ob3Jpem9udGFsICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgLW1zLXRvdWNoLWFjdGlvbjogYXV0bztcbiAgdG91Y2gtYWN0aW9uOiBhdXRvO1xuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgaGVpZ2h0OiAzMDB2aDtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBoZWlnaHQ6IDMwMHZoO1xuICB9XG5cbiAgJjo6LW1zLXRvb2x0aXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4uI3skcHJlZml4fS1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MsIGJveC1zaGFkb3cgMC4zcywgb3BhY2l0eSAwLjVzIDAuMjVzO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweDtcbiAgICBib3JkZXItbGVmdDogc29saWQgMnB4O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB9XG59XG5cbi4jeyRwcmVmaXh9LXJhbmdlOmZvY3VzIH4gLiN7JHByZWZpeH0taGFuZGxlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuODUpO1xuICBib3gtc2hhZG93OiAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgLjQpO1xufVxuXG4uI3skcHJlZml4fS1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsXTphZnRlcixcbi4jeyRwcmVmaXh9LXJldmVhbFtkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcbiAgY29udGVudDogYXR0cihkYXRhLWJlZXItbGFiZWwpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNzUpO1xufVxuXG4uI3skcHJlZml4fS1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG4gIHJpZ2h0OiAxLjVyZW07XG59XG5cbi4jeyRwcmVmaXh9LXJldmVhbFtkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcbiAgbGVmdDogMS41cmVtO1xufVxuXG4uI3skcHJlZml4fS1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsPVwiXCJdOmFmdGVyLFxuLiN7JHByZWZpeH0tcmV2ZWFsW2RhdGEtYmVlci1sYWJlbD1cIlwiXTphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi4jeyRwcmVmaXh9LXJlYWR5IHtcbiAgLiN7JHByZWZpeH0tcmV2ZWFsLCAuI3skcHJlZml4fS1oYW5kbGUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsIi5hdmlzZ28ge1xuICBjb2xvcjogJGF2aXNnby1jb2xvcjtcbn1cblxuLmF2aXNnby1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYXZpc2dvLWJnLCAxKTtcbiAgYm94LXNoYWRvdzogM3B4IDE3cHggMjBweCA3cHggIzFhNDY4ZjEyO1xufVxuXG4uYXZpc2dvLWJvcmRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRhdmlzZ28tYmc7XG59XG5cbi5hdmlzZ28tYXZpcy1ub3RlIGIge1xuICAgIGNvbG9yOiAjZjY4MjAwO1xufVxuLmF2aXNnby1hdmlzIC5hdmlzZ28tYXZpcy10aXRsZSBhIHtcbiAgY29sb3I6ICRhdmlzZ28tY29sb3I7XG59XG4iLCIkcGFydGVuYWlyZXMtYmctY29sb3I6ICRiZy1ncmF5O1xyXG4kcGFydGVuYWlyZXMtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xyXG4kcGFydGVuYWlyZXMtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuJHBhcnRlbmFpcmVzLWhlaWdodDogMTAwcHg7XHJcbiRwYXJ0ZW5haXJlcy13aWR0aDogMjMwcHg7IC8vIG1vZGlmaWVyIGpzIHNpIG1vZGlmacOpICh2YXIgY2hpbGRXaWR0aClcclxuJHBhcnRlbmFpcmVzLXBhZGRpbmc6IDIwcHg7XHJcbiRwYXJ0ZW5haXJlcy1tYXJnaW46IDIwcHg7XHJcbiRwYXJ0ZW5haXJlcy1uYnItY29sLW1kOiAzO1xyXG4kcGFydGVuYWlyZXMtbmJyLWNvbC1sZzogNTtcclxuXHJcbiRwYXJ0ZW5haXJlcy1oZWlnaHQtYWRkLXBhZGRpbmc6ICRwYXJ0ZW5haXJlcy1oZWlnaHQgKyAkcGFydGVuYWlyZXMtcGFkZGluZyAqIDI7XHJcbiRwYXJ0ZW5haXJlcy1oZWlnaHQtcmVtb3ZlLXBhZGRpbmc6ICRwYXJ0ZW5haXJlcy1oZWlnaHQgLSAkcGFydGVuYWlyZXMtcGFkZGluZyAqIDI7XHJcblxyXG4ubm9kZS0tdHlwZS1wYXJ0ZW5haXJlICNibG9jay1jdy1zYXNzLWJzNC1jb250ZW50IHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgaW1nIHtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6ICRwYXJ0ZW5haXJlcy1wYWRkaW5nO1xyXG4gIH1cclxufVxyXG5cclxuLmJsb2MtcGFydGVuYWlyZSB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiA3MHB4IDAgODVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFydGVuYWlyZXMtYmctY29sb3I7XHJcbiAgLnRpdGxlLWgyIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgY29sb3I6ICRoMS1jb2xvcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX2JvdHRvbVwiIG9yICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3AtYm90dG9tXCIge1xyXG4gICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRsaW5lLXRpdGxlLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJwaWN0dXJlX2JvdHRvbVwiIHtcclxuICAgICAgICBAaW5jbHVkZSBhZnRlci1ib3JkZXItYmcoJGhlaWdodDogMHB4LCAkbXQ6IDBweCwgJGZpbGU6ICdwdWNlLWgyLnBuZycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudmlldy1jb250ZW50IHtcclxuICAgIGhlaWdodDogJHBhcnRlbmFpcmVzLWhlaWdodC1hZGQtcGFkZGluZztcclxuICAgIHdpZHRoOiAkcGFydGVuYWlyZXMtd2lkdGg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIC5pdGVtLWxpc3Qge1xyXG4gICAgICBoZWlnaHQ6ICRwYXJ0ZW5haXJlcy1oZWlnaHQtYWRkLXBhZGRpbmc7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBoZWlnaHQ6ICRwYXJ0ZW5haXJlcy1oZWlnaHQ7XHJcbiAgICAgICAgd2lkdGg6IDQzJTtcclxuICAgICAgICBwYWRkaW5nOiAkcGFydGVuYWlyZXMtcGFkZGluZztcclxuICAgICAgICBtYXJnaW46ICRwYXJ0ZW5haXJlcy1tYXJnaW47XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1ncmF5O1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRwYXJ0ZW5haXJlcy1zaGFkb3c7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHBhcnRlbmFpcmVzLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgYXtcclxuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgbWF4LWhlaWdodDogJHBhcnRlbmFpcmVzLWhlaWdodC1yZW1vdmUtcGFkZGluZztcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGltcG9ydCAncXVlcmllcy9wYXJ0ZW5haXJlcyc7IiwiQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gIC5ibG9jLXBhcnRlbmFpcmUge1xyXG4gICAgLnZpZXctY29udGVudCB7XHJcbiAgICAgIHdpZHRoOiAkcGFydGVuYWlyZXMtd2lkdGggKiAkcGFydGVuYWlyZXMtbmJyLWNvbC1tZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAuYmxvYy1wYXJ0ZW5haXJlIHtcclxuICAgIC52aWV3LWNvbnRlbnQge1xyXG4gICAgICB3aWR0aDogJHBhcnRlbmFpcmVzLXdpZHRoICogJHBhcnRlbmFpcmVzLW5ici1jb2wtbGc7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDEzMDBweCkge1xyXG4gIC5ibG9jLXBhcnRlbmFpcmUge1xyXG4gICAgLnZpZXctY29udGVudCB7XHJcbiAgICAgIHdpZHRoOiAkcGFydGVuYWlyZXMtd2lkdGggKiA0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBQb3VyIGxlcyBNQUogZXQgcmV0b3VyIGxpdnJhaXNvbiBkaXJlY3RlbWVudCByw6lhbGlzw6lzIGVuIERFVlxuXG4vKioqKioqKioqIEhFQURFUiBGUk9OVCAqKioqKioqKiovXG5cbi8vIEFWRUMgMiBTTE9HQU5TXG5cbi8veHNcbiRzbG9nYW4tMi1zaXplLXhzOiAxLjZyZW07XG4kc2xvZ2FuLTItbWFyZ2luLXRvcC14czogMXJlbTtcblxuLy9mcm9udCAtIGxnXG4kc2xvZ2FuLTItZnJvbnQtc2l6ZS1sZzogMnJlbTtcbiRzbG9nYW4tMi1mcm9udC1tYXJnaW4tdG9wLWxnOiAwLjc1cmVtO1xuXG4vL25vdC1mcm9udCAtIGxnXG4kc2xvZ2FuLTItbm90LWZyb250LXNpemUtbGc6IDEuNXJlbTtcbiRzbG9nYW4tMi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1sZzogMC4yNXJlbTtcblxuLmp1bWJvdHJvbi1zbG9nYW4uc2xvZ2FuLTJ7XG4gIGZvbnQtc2l6ZTogJHNsb2dhbi0yLXNpemUteHM7XG4gIG1hcmdpbi10b3A6ICRzbG9nYW4tMi1tYXJnaW4tdG9wLXhzO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgLmp1bWJvdHJvbi1zbG9nYW4uc2xvZ2FuLTJ7XG4gICAgZm9udC1zaXplOiAkc2xvZ2FuLTItZnJvbnQtc2l6ZS1sZztcbiAgICBtYXJnaW4tdG9wOiAkc2xvZ2FuLTItZnJvbnQtbWFyZ2luLXRvcC1sZztcbiAgfVxuICAubm90LWZyb250IC5qdW1ib3Ryb24tc2xvZ2FuLnNsb2dhbi0ye1xuICAgIGZvbnQtc2l6ZTogJHNsb2dhbi0yLW5vdC1mcm9udC1zaXplLWxnICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogJHNsb2dhbi0yLW5vdC1mcm9udC1tYXJnaW4tdG9wLWxnO1xuICB9XG59XG5cbi8vIFJFU1BPTlNJVkUgTEdcblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTYxMHB4KXtcbiAgLnJlZ2lvbi1qdW1ib3Ryb24gLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG4gIC5yZWdpb24tanVtYm90cm9ue1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogMTAlO1xuICB9XG59XG5cbi8vIFJFU1BPTlNJVkUgTURcblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcbiAgLnJlZ2lvbi1qdW1ib3Ryb246YWZ0ZXJ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgkYmxhY2ssIDAuNTIpIDUwJSwgcmdiYSgkYmxhY2ssIDApIDEwMCUpICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5vdC1mcm9udCAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsOmFmdGVye1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoJGJsYWNrLCAwLjQ1KSAwJSwgcmdiYSgkYmxhY2ssIDAuNDMpIDEwMCUpICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCAuZmllbGR7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAucmVnaW9uLWp1bWJvdHJvbiAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFse1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA4NSU7XG4gIH1cbn1cblxuLy8gUkVTUE9OU0lWRSBNT0JJTEVcblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KXtcbiAgLmp1bWJvdHJvbi1zbG9nYW57XG4gICAgZm9udC1zaXplOiAxLjY1cmVtO1xuICB9XG4gIC5qdW1ib3Ryb24tc2xvZ2FuLnNsb2dhbi0ye1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxufVxuXG4vKioqKioqKioqIEhFQURFUiBOT1QgRlJPTlQgKioqKioqKioqL1xuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgLm5vdC1mcm9udHtcbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTJ7XG4gICAgICBmbGV4OiAwLjQ1ICFpbXBvcnRhbnQ7XG4gICAgICAuanVtYm90cm9uLWJvdXRvbi0xIGF7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucmVnaW9uLWp1bWJvdHJvbiAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgIG1heC13aWR0aDogOTQwcHg7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCl7XG4gIC5ub3QtZnJvbnQgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0xe1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbiAgLm5vdC1mcm9udCAucmVnaW9uLWp1bWJvdHJvbiAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFse1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbn1cblxuLyoqKioqKioqKiBOQVZCQVIgKioqKioqKioqL1xuXG5AaWYgJG5hdmJhci1oZWlnaHQtbmF2YmFyLW5hdiA+IDAge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgICAubWVudS0tbWFpbntcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC8vIDkwIC0gNjBcbiAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIH1cbiAgICAuYWZmaXgtc2Nyb2xsICNuYXZiYXItbWFpbiAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5kcm9wZG93biAuZHJvcGRvd24tbWVudXtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICAgIC8vIDEzMCAtIDkwXG4gICAgQGlmICRuYXZiYXItaGVpZ2h0LW1kID09IDEzMHB4IHtcbiAgICAgICNuYXZiYXItbWFpbiAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5kcm9wZG93biAuZHJvcGRvd24tbWVudXtcbiAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgIH1cbiAgICAgIC5hZmZpeC1zY3JvbGwgI25hdmJhci1tYWluIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51e1xuICAgICAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDT1JSRUNUSU9OIE5BVkJBUiBUT1BcblxuQGlmICRuYXZiYXItdG9wIHtcbiAgLm5hdmJhciBuYXYubWVudS0tc2Vjb25kYXJ5IC5uYXYgbGkgYSB7XG4gICAgY29sb3I6IHJnYmEoJG5hdmJhci10b3AtY29sb3IsIDEpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICNuYXZiYXItbWFpbiAubWVudS0tc2Vjb25kYXJ5IC5kcm9wZG93bi1pdGVtIGF7XG4gICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5NzVweCl7XG4gICAgLnVzZXItbG9nZ2VkLWluLmFmZml4LXNjcm9sbCAuY3ctbmF2YmFye1xuICAgICAgdG9wOiAzNXB4O1xuICAgIH1cbiAgICBib2R5Om5vdCgudG9vbGJhci1ob3Jpem9udGFsKS50b29sYmFyLWZpeGVkLmFmZml4LXNjcm9sbC51c2VyLWxvZ2dlZC1pbiAjbmF2YmFyLW1haW57XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFJFU1BPTlNJVkUgTkFWQkFSIFRPUFxuXG4vLyBSRVNQT05TSVZFIExHXG5cbi8vIFJFU1BPTlNJVkUgTU9CSUxFXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCl7XG4gIC5uYXZiYXIgLm5hdmJhci1sb2dvIGltZ3tcbiAgICBtYXgtd2lkdGg6IDExMHB4O1xuICB9XG59XG5cbi8qKioqKioqKiogQkxPQyBJTkZPUyAqKioqKioqKiovXG5cbi8qKioqKioqKiogQkxPQyBBQ1RVICoqKioqKioqKi9cblxuLyoqKioqKioqKiBCTE9DIEZMT1RUQU5UICoqKioqKioqL1xuXG4uZmxiLWJsb2NrIC5mbGItdGl0bGV7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC5mbGItbGFiZWx7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KXtcbiAgLmZsYi1ibG9jayAuZmxiLWNvbnRlbnR7XG4gICAgbWF4LWhlaWdodDogMTAwdmg7XG4gIH1cbiAgLmZsYi1ibG9ja3tcbiAgICB0b3A6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyoqKioqKioqKiBIMSAqKioqKioqKiovXG5cbkBpZiAoJHRpdGxlLWRlY29yYXRpb24gIT0gJ2ZhbHNlJyl7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XG4gICAgaDEudGl0bGV7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG5oMS50aXRsZXtcbiAgbWFyZ2luOiAwIDAgMzVweDtcbn1cblxuLyoqKioqKioqKiBEQU1JRVIgKioqKioqKioqL1xuXG4uY3ctZGFtaWVyIGgyIHNwYW57XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmN3LWRhbWllciAuZGFtaWVyLXN0eWxlLXR3byAuY29sLXR4dC1vbmUgcHtcbiAgY29sb3I6ICRkYXJrO1xufVxuXG4uY3ctaW1ncy1wdXp6bGUgLmltZy1iYWNrZ3JvdW5kOmhvdmVyIC5zaG93LW1vcmV7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjk1KTtcbn1cblxuLmN3LWRhbWllciAuYnRuLXNsaWRlIHNwYW57XG4gIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiAgYm90dG9tOiAzcHg7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pe1xuICAgIGNvbG9yOiAjMzgzODM4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAuY3ctZGFtaWVyIC5kYW1pZXItc3R5bGUtb25le1xuICAgIEBpZiAoJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGcgPT0gbGVmdCl7XG4gICAgICBoMiBzcGFuOmFmdGVye1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY3ctZGFtaWVyIC5kYW1pZXItc3R5bGUtdHdve1xuICAgIEBpZiAoJGRhbWllci1iZy10d28taDItYWxpZ24tbGcgPT0gbGVmdCl7XG4gICAgICBoMiBzcGFuOmFmdGVye1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC5jdy1kYW1pZXIge1xuICAgIC5kYW1pZXItc3R5bGUtb25lLCAuZGFtaWVyLXN0eWxlLXR3bywgLmRhbWllci1zdHlsZS10aHJlZSB7XG4gICAgICBbY2xhc3MqPVwiY29sLXR4dC1cIl0sIC5jb2wtaW1nLmNvbC1pbWctY2VudGVyIHtcbiAgICAgICAgcGFkZGluZzogJGJldHdlZW4tem9uZXMtbGcgODBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KGxnKXtcbiAgLmN3LWRhbWllciBbY2xhc3MqPVwiY29sLXR4dC1cIl0sIC5jdy1kYW1pZXIgLmNvbC1pbWcuY29sLWltZy1jZW50ZXJ7XG4gICAgcGFkZGluZzogJGJldHdlZW4tem9uZXMtbGcgMzVweDtcbiAgfVxufVxuXG4vKioqKioqKioqIEJPVVRPTlMgKioqKioqKioqKi9cblxuLyoqKioqKioqKiBCTE9DIFNIQVJFVEhJUyAqKioqKioqKioqL1xuXG4uYmxvY2stY2FsbC10by1hY3Rpb24gLmN0YS1udW1iZXJ7XG4gIG1hcmdpbjogMTVweCAwIDMwcHggIWltcG9ydGFudDtcbn1cblxuLmJsb2NrLWFkZHRvYW55LmN3LXB5e1xuICBwYWRkaW5nLXRvcDogMi4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqIEJMT0MgUE9JTlRTIEZPUlRTICoqKioqKioqKi9cblxuLy8gUG9pbnRzIGZvcnRzIGNlbnRyw6lzXG5cbi5jdy1waWN0b3MgPiBkaXZ7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpe1xuICAgIG1pbi13aWR0aDogMjkwcHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KGxnKXtcbiAgICBtaW4td2lkdGg6IDI3MHB4O1xuICB9XG59XG5cbi8vIFJlc3BvbnNpdmVcblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcbiAgLmN3LXBpY3RvcyA+IGRpdntcbiAgICBtYXJnaW46IDI1cHggMTBweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKXtcbiAgLmN3LXBpY3RvcyA+IGRpdntcbiAgICBtYXJnaW46IDI1cHggNzJweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCl7XG4gIC5jdy1waWN0b3MgPiBkaXZ7XG4gICAgbWFyZ2luOiAyNXB4IDEwcHggIWltcG9ydGFudDtcbiAgICAucGljdG8tbGVnZW5kZXtcbiAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcbiAgLmJsb2NrLWZvcmNlcywgLmJsb2NrLXJlZmVyZW5jZXMsIC5wYXJhbGxheHtcbiAgICAuY29udGFpbmVyLXNtLCAuY29udGFpbmVyLW1kLCAuY29udGFpbmVyLWxnLCAuY29udGFpbmVyLXh4bHtcbiAgICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcig3MzBweCk7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKiogQkxPQyBSRUZFUkVOQ0VTICoqKioqKioqKi9cblxuLyoqKioqKioqKiBCTE9DIFBBUkFMTEFYICoqKioqKioqKi9cblxuLy8gQ29ycmVjdGlvbiBiYWNrZ3JvdW5kIHJlc3BvbnNpdmVcblxuLypAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpe1xuICAuYmxvY2stcGFyYWxsYXgtZnJvbnR7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzMzAlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAuY3ctcHl7XG4gICAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59Ki9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KXtcbiAgLmJsb2NrLXBhcmFsbGF4LWZyb250e1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjcwJSAhaW1wb3J0YW50O1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICB9XG59XG5cbi8qKioqKioqKiogQkxPQyBBVklTIEdPT0dMRSAqKioqKioqKiovXG5cbi8qKioqKioqKiogQkxPQyBBVklTR08gKioqKioqKioqL1xuXG4vKioqKioqKioqIENBUlRPVUNIRSBGT09URVIgKioqKioqKioqL1xuXG4uZnQtc2xvZ2FuIHN0cm9uZ3tcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KXtcbiAgLmZ0LWxvZ28gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKioqKioqKioqIEJMT0MgRk9STVVMQUlSRSBGT09URVIgKioqKioqKioqKioqL1xuXG4uYmxvY2std2YtY29udGFjdCAuZm9ybS1jb250cm9sOm5vdChbY2xhc3MqPVwiYnV0dG9uXCJdKXtcbiAgLy9ib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uZm9ybS1pdGVtLWFjY2VwdGF0aW9uLXJncGQgLndlYmZvcm0tZWxlbWVudC1kZXNjcmlwdGlvbntcbiAgLy9jb2xvcjogJGdyYXktNDAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKiogQkxPQyBNQVAgKioqKioqKioqL1xuXG4vKioqKioqKioqIEJMT0MgQk9UVE9NICoqKioqKioqKi9cblxuLyoqKioqKioqKiBDQVJEUyBBUlRJQ0xFICoqKioqKioqKi9cblxuLyoqKioqKioqKiBQQUdFUyBOT1QtRlJPTlQgKioqKioqKioqKiovXG5cbi8qKioqKioqKiogRElWRVJTIEVUIENPUlJFQ1RJT05TICoqKioqKioqKioqKi9cblxudWwuY3ctaW5saW5lLXVsIGxpIGE6YmVmb3Jle1xuICBjb2xvcjogJGxpbmstY29sb3I7XG59XG5cbi5jdy1mb2xsb3ctdXMtb25seSBhIHN0cm9uZ3tcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4uY3ctZm9sbG93LXVzLXZhcmlvdXN7XG4gIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGJ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuXG4uYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZXtcbiAgY29sb3I6ICRzZWNvbmRhcnk7XG59XG5cbi5jdy1ib3hzaGFkb3ctMiB7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggMCByZ2JhKCRibGFjaywgMC4yNSk7XG59XG5cbi5jdy1ib3hyYWRpdXMtMiB7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHggIWltcG9ydGFudDtcbn1cblxuLmZpZWxkLS1uYW1lLWJvZHkgdWw6bm90KFtjbGFzcyo9XCJjdy1pbmxpbmUtdWxcIl0pIGxpOmJlZm9yZXtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG59IiwiLy8gUG91ciBsZXMgTUFKIGV0IHJldG91ciBsaXZyYWlzb24gZGlyZWN0ZW1lbnQgcsOpYWxpc8OpcyBlbiBQUk9EXG5cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0E2RWdDQSw0Q0FBNEM7QUFDNUMsNENBQTRDO0FBQzVDLDRDQUE0QztBR2pDNUMsT0FBTyxDQUFDLG9GQUFJO0FBQ1osT0FBTyxDQUFDLGdHQUFJO0FDaUNaLGtEQUFrRDtBQUNsRCxnQ0FBZ0M7QUFDaEMsa0RBQWtEO0FNckNsRCx1Q0FBdUM7QUFhdkMsNENBQTRDO0FBc0I1QyxzQ0FBc0M7QUFhdEMsOENBQThDO0FBVzlDLHVDQUF1QztBQVV2QyxzQ0FBc0M7QUFDdEMsc0NB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QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFtQztJQUk3QyxTQUFTLEVBQUUsSUFBbUMsR0RXckM7RUFJTCxBQUFBLGVBQWUsQ0FBTztJQUFF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QUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFtQztJQUk3QyxTQUFTLEVBQUUsSUFBbUMsR0RXckM7RUFJTCxBQUFBLGVBQWUsQ0FBTztJQUFFLEtBQUssRUFBRSxFQUFFLEdBQUk7RUFFckMsQUFBQSxjQUFjLENBQU87SUFBRSxLQUFLLEVyRDFCSixFQUFFLEdxRDBCb0I7RUFHNUMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENB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dEQ7RURwQkcsQUFBQSxZQUFZLENBQU87SUNDdkIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxJQUFJLEdERFY7RUFJRyxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFtQztJQUk3QyxTQUFTLEVBQUUsUUFBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFtQztJQUk3QyxTQUFTLEVBQUUsSUFBbUMsR0RXckM7RUFJTCxBQUFBLGVBQWUsQ0FBTztJQUFFLEtBQUssRUFBRSxFQUFFLEdBQUk7RUFFckMsQUFBQSxjQUFjLENBQU87SUFBRSxLQUFLLEVyRDFCSixFQUFFLEdxRDBCb0I7RUFHNUMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxZQUFZLENBQVU7SUFBRSxLQUFLLEVBRGxCLEVBQUMsR0FDeUI7RUFBckMs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QUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFtQztJQUk3QyxTQUFTLEVBQUUsSUFBbUMsR0RXckM7RUFJTCxBQUFBLGVBQWUsQ0FBTztJQUFFLEtBQUssRUFB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QixFc0IwWm5FLGFBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsYUFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsYUFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7RWlKdFo1QixHQUFHO0l2S0pvRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9CO0VpSnBaNUIsR0FBRztJdktOb0QsaUJBQW9CLEVzQjBabkUsaUJBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxpQkFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGlCQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxpQkFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsaUJBQW9CO0VpSmxaNUIsR0FBRztJdktSb0QsaUJBQW9CLEVzQjBabkUsYUFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGFBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxhQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxhQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxhQUFvQjtFaUpoWjVCLEdBQUc7SXZLVm9ELGlCQUFvQixFc0IwWm5FLGlCQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsaUJBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxpQkFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsaUJBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGlCQUFvQjtFaUo5WTVCLEdBQUc7SXZLWm9ELGlCQUFvQixFc0IwWm5FLGFBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsYUFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsYUFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7RWlKNVk1QixJQUFJO0l2S2RtRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9COztBK0lwWHhCLGtCQUFrQixDQUFsQixNQUFrQjtFRXBDdEIsRUFBRTtJdktGcUQsaUJBQW9CLEVzQjBabkUsYUFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGFBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxhQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxhQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxhQUFvQjtFaUp0WjVCLEdBQUc7SXZLSm9ELGlCQUFvQixFc0IwWm5FLGFBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsYUFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsYUFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7RWlKcFo1QixHQUFHO0l2S05vRCxpQkFBb0IsRXNCMFpuRSxpQkFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGlCQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsaUJBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGlCQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxpQkFBb0I7RWlKbFo1QixHQUFHO0l2S1JvRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9CO0VpSmhaNUIsR0FBRztJdktWb0QsaUJBQW9CLEVzQjBabkUsaUJBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxpQkFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGlCQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxp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QixFc0J3Wm5FLGFBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxhQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxhQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxhQUFvQjtFaUp0WjVCLEdBQUc7SXZLSm9ELGlCQUFvQixFc0IwWm5FLGFBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsYUFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsYUFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7RWlKcFo1QixHQUFHO0l2S05vRCxpQkFBb0IsRXNCMFpuRSxpQkFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGlCQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsaUJBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGlCQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxpQkFBb0I7RWlKbFo1QixHQUFHO0l2S1JvRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9CO0VpSmhaNUIsR0FBRztJdktWb0QsaUJBQW9CLEVzQjBabkUsaUJBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxpQkFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGlCQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxpQkFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsaUJBQW9CO0VpSjlZNUIsR0FBRztJdktab0QsaUJBQW9CLEVzQjBabkUsYUFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGFBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxhQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxhQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxhQUFvQjtFaUo1WTVCLElBQUk7SXZLZG1ELGlCQUFvQixFc0IwWm5FLGFBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsYUFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsYUFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7O0ErSXpYeEIsZUFBZSxDQUFmLEtBQWU7RUVibkIsRUFBRTtJdktwQnFELGlCQUFvQixFc0I0WW5FLGFBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxhQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsYUFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsYUFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsYUFBb0I7RWlKdFg1QixHQUFHO0l2S3RCb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSnBYNUIsR0FBRztJdkt4Qm9ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUpsWDVCLEdBQUc7SXZLMUJvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKaFg1QixHQUFHO0l2SzVCb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsZ0JBQW9CO0VpSjlXNUIsR0FBRztJdks5Qm9ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUo1VzVCLEdBQUc7SXZLaENvRCxpQkFBb0IsRXNCNFluRSxnQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGdCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsZ0JBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGdCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxnQkFBb0I7RWlKMVc1QixHQUFHO0l2S2xDb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSnhXNUIsR0FBRztJdktwQ29ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUp0VzVCLEdBQUc7SXZLdENvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKcFc1QixJQUFJO0l2S3hDbUQsaUJBQW9CLEVzQjRZbkUsYUFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGFBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxhQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxhQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxhQUFvQjs7QStJdFd4QixrQkFBa0IsQ0FBbEIsS0FBa0I7RUVsQnRCLEVBQUU7SXZLcEJxRCxpQkFBb0IsRXNCNFluRSxhQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsYUFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGFBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGFBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGFBQW9CO0VpSnRYNUIsR0FBRztJdkt0Qm9ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUpwWDVCLEdBQUc7SXZLeEJvRCxpQkFBb0IsRXNCNFluRSxnQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGdCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsZ0JBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGdCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxnQkFBb0I7RWlKbFg1QixHQUFHO0l2SzFCb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSmhYNUIsR0FBRztJdks1Qm9ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUo5VzVCLEdBQUc7SXZLOUJvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKNVc1QixHQUFHO0l2S2hDb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsZ0JBQW9CO0VpSjFXNUIsR0FBRztJdktsQ29ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUp4VzVCLEdBQUc7SXZLcENvRCxpQkFBb0IsRXNCNFluRSxnQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGdCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsZ0JBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGdCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxnQkFBb0I7RWlKdFc1QixHQUFHO0l2S3RDb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSnBXNUIsSUFBSTtJdkt4Q21ELGlCQUFvQixFc0I0WW5FLGFBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxhQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsYUFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsYUFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsYUFBb0I7O0Er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O0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSjVXNUIsR0FBRztJdktoQ29ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUoxVzVCLEdBQUc7SXZLbENvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKeFc1QixHQUFHO0l2S3BDb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsZ0JBQW9CO0VpSnRXNUIsR0FBRztJdkt0Q29ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUpwVzVCLElBQUk7SXZLeENtRCxpQkFBb0IsRXNCNFluRSxhQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsYUFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGFBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGFBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGFBQW9COztBK0kz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SXZLcEhxRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUpsV3RCLEdBQUc7SXZLdEhvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUpoV3RCLEdBQUc7SXZLeEhvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUo5VnRCLEdBQUc7SXZLMUhvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUo1VnRCLEdBQUc7SXZLNUhvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUoxVnRCLEdBQUc7SXZLOUhvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUp4VnRCLEdBQUc7SXZLaElvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUp0VnRCLEdBQUc7SXZLbElvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUpwVnRCLEdBQUc7SXZLcElvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUpsVnRCLEdBQUc7SXZLdElvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUpoVnRCLElBQUk7SXZLeEltRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYzs7QStJbGJsQixrQkFBa0IsQ0FBbEIsTUFBa0I7RUU4RXRCLEVBQUU7SXZLcEhxRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUpsV3RCLEdBQUc7SXZLdEhvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUpoV3RCLEdBQUc7SXZLeEhvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUo5VnRCLEdBQUc7SXZLMUhvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUo1VnRCLEdBQUc7SXZLNUhvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUoxVnRCLEdBQUc7SXZLOUhvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUp4VnRCLEdBQUc7SXZLaElvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUp0VnRCLEdBQUc7SXZLbElvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUpwVnRCLEdBQUc7SXZLcElvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUpsVnRCLEdBQUc7SXZLdElvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUpoVnRCLElBQUk7SXZLeEltRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYzs7QStJN2FsQixhQUFhLENBQWIsTUFBYTtFRXlFakIsRUFBRTtJdktwSHFELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSmxXdEIsR0FBRztJdkt0SG9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSmhXdEIsR0FBRztJdkt4SG9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSjlWdEIsR0FBRztJdksxSG9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSjVWdEIsR0FBRztJdks1SG9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSjFWdEIsR0FBRztJdks5SG9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSnhWdEIsR0FBRztJdktoSW9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSnRWdEIsR0FBRztJdktsSW9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSnBWdEIsR0FBRztJdktwSW9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFp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QkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUo1VnRCLEdBQUc7SXZLNUhvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUoxVnRCLEdBQUc7SXZLOUhvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUp4VnRCLEdBQUc7SXZLaElvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUp0VnRCLEdBQUc7SXZLbElvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUpwVnRCLEdBQUc7SXZLcElvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUpsVnRCLEdBQUc7SXZLdElvRCxpQkFBb0IsRXNCd2RuRSxXQUFj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 */
