@charset "UTF-8";
/* =============================================================================
   Responsivity
   ========================================================================== */
/*==========  Bootstrap responsive class  ==========*/
/* =============================================================================
   Screen size variables
   ========================================================================== */
/* =============================================================================
   Media queries for different screen sizes
   ========================================================================== */
/*==========  basic  ==========*/
/*===  xs  ===*/
/*===  sm  ===*/
/*===  md  ===*/
/*===  lg  ===*/
/*===  xl  ===*/
/*==========  Retina images  ==========*/
/* =============================================================================
   FUNCTIONS
   ========================================================================== */
/*!
 * Bootstrap v4.5.0 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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: #6c757d;
  --gray-dark: #343a40;
  --primary: #007bff;
  --secondary: #6c757d;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

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

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

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

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  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.5rem; }

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

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

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

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

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

dt {
  font-weight: 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: #007bff;
  text-decoration: none;
  background-color: transparent; }
  a:hover {
    color: #0056b3;
    text-decoration: underline; }

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

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

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

figure {
  margin: 0 0 1rem; }

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

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

table {
  border-collapse: collapse; }

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

th {
  text-align: inherit; }

label, .form .form-group.file .label-file {
  display: inline-block;
  margin-bottom: 0.5rem; }

button {
  border-radius: 0; }

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

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.5rem;
  font-weight: 500;
  line-height: 1.2; }

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

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

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

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

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

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

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

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

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

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

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

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1); }

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: 1rem;
  font-size: 1.25rem; }

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

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

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

.figure {
  display: inline-block; }

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

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

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: #212529;
  border-radius: 0.2rem; }
  kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: 700; }

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

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

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  @media (min-width: 576px) {
    .container {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .container {
      max-width: 1140px; } }

.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;
  min-width: 0;
  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;
    min-width: 0;
    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;
    min-width: 0;
    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;
    min-width: 0;
    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;
    min-width: 0;
    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: 1rem;
  color: #212529; }
  .table th,
  .table td {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6; }
  .table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #dee2e6; }
  .table tbody + tbody {
    border-top: 2px solid #dee2e6; }

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

.table-bordered {
  border: 1px solid #dee2e6; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #dee2e6; }
  .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: rgba(0, 0, 0, 0.05); }

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

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

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

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

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

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

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

.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: #fdfdfe; }

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

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

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

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

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

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

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

.table .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55; }

.table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6; }

.table-dark {
  color: #fff;
  background-color: #343a40; }
  .table-dark th,
  .table-dark td,
  .table-dark thead th {
    border-color: #454d55; }
  .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(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  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:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #495057; }
  .form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .form-control::placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #e9ecef;
    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:focus::-ms-value {
  color: #495057;
  background-color: #fff; }

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

.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5; }

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
  line-height: 1.5; }

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
  line-height: 1.5; }

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 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 + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem; }

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

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

textarea.form-control {
  height: auto; }

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

.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.25rem; }

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem; }
  .form-check-input[disabled] ~ .form-check-label,
  .form-check-input:disabled ~ .form-check-label {
    color: #6c757d; }

.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%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem; }

.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(1.5em + 0.75rem);
  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.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc(0.75em + 2.3125rem);
  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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, 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") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
  .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem 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 0.2rem 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 0.2rem 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%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem; }

.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(1.5em + 0.75rem);
  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.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc(0.75em + 2.3125rem);
  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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, 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") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
  .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem 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 0.2rem 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 0.2rem 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, .form-inline .form .form-group.file .label-file, .form .form-group.file .form-inline .label-file {
      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; } }

.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  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) {
    .btn {
      transition: none; } }
  .btn:hover {
    color: #212529;
    text-decoration: none; }
  .btn:focus, .btn.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .btn.disabled, .btn:disabled {
    opacity: 0.65; }
  .btn:not(:disabled):not(.disabled) {
    cursor: pointer; }

a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none; }

.btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff; }
  .btn-primary:hover {
    color: #fff;
    background-color: #0069d9;
    border-color: #0062cc; }
  .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #0069d9;
    border-color: #0062cc;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }
  .btn-primary.disabled, .btn-primary:disabled {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
  .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
  .show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #0062cc;
    border-color: #005cbf; }
    .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-primary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d; }
  .btn-secondary:hover {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62; }
  .btn-secondary:focus, .btn-secondary.focus {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62;
    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }
  .btn-secondary.disabled, .btn-secondary:disabled {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
  .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
  .show > .btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #545b62;
    border-color: #4e555b; }
    .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-secondary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }

.btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745; }
  .btn-success:hover {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34; }
  .btn-success:focus, .btn-success.focus {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34;
    box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }
  .btn-success.disabled, .btn-success:disabled {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
  .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
  .show > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #1e7e34;
    border-color: #1c7430; }
    .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
    .show > .btn-success.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8; }
  .btn-info:hover {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b; }
  .btn-info:focus, .btn-info.focus {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b;
    box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }
  .btn-info.disabled, .btn-info:disabled {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
  .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
  .show > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #117a8b;
    border-color: #10707f; }
    .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
    .show > .btn-info.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }

.btn-warning {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107; }
  .btn-warning:hover {
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00; }
  .btn-warning:focus, .btn-warning.focus {
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00;
    box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }
  .btn-warning.disabled, .btn-warning:disabled {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
  .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
  .show > .btn-warning.dropdown-toggle {
    color: #212529;
    background-color: #d39e00;
    border-color: #c69500; }
    .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
    .show > .btn-warning.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }

.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545; }
  .btn-danger:hover {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130; }
  .btn-danger:focus, .btn-danger.focus {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130;
    box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }
  .btn-danger.disabled, .btn-danger:disabled {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
  .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
  .show > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #bd2130;
    border-color: #b21f2d; }
    .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
    .show > .btn-danger.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }

.btn-light {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa; }
  .btn-light:hover {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5; }
  .btn-light:focus, .btn-light.focus {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5;
    box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }
  .btn-light.disabled, .btn-light:disabled {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
  .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
  .show > .btn-light.dropdown-toggle {
    color: #212529;
    background-color: #dae0e5;
    border-color: #d3d9df; }
    .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
    .show > .btn-light.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }

.btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40; }
  .btn-dark:hover {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124; }
  .btn-dark:focus, .btn-dark.focus {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124;
    box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }
  .btn-dark.disabled, .btn-dark:disabled {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
  .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
  .show > .btn-dark.dropdown-toggle {
    color: #fff;
    background-color: #1d2124;
    border-color: #171a1d; }
    .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
    .show > .btn-dark.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }

.btn-outline-primary {
  color: #007bff;
  border-color: #007bff; }
  .btn-outline-primary:hover {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
  .btn-outline-primary:focus, .btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }
  .btn-outline-primary.disabled, .btn-outline-primary:disabled {
    color: #007bff;
    background-color: transparent; }
  .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
  .show > .btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
    .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-primary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }

.btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d; }
  .btn-outline-secondary:hover {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
  .btn-outline-secondary:focus, .btn-outline-secondary.focus {
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
    color: #6c757d;
    background-color: transparent; }
  .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
  .show > .btn-outline-secondary.dropdown-toggle {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
    .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-secondary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }

.btn-outline-success {
  color: #28a745;
  border-color: #28a745; }
  .btn-outline-success:hover {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
  .btn-outline-success:focus, .btn-outline-success.focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
  .btn-outline-success.disabled, .btn-outline-success:disabled {
    color: #28a745;
    background-color: transparent; }
  .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
  .show > .btn-outline-success.dropdown-toggle {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
    .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-success.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }

.btn-outline-info {
  color: #17a2b8;
  border-color: #17a2b8; }
  .btn-outline-info:hover {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
  .btn-outline-info:focus, .btn-outline-info.focus {
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
  .btn-outline-info.disabled, .btn-outline-info:disabled {
    color: #17a2b8;
    background-color: transparent; }
  .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
  .show > .btn-outline-info.dropdown-toggle {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
    .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-info.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }

.btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107; }
  .btn-outline-warning:hover {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
  .btn-outline-warning:focus, .btn-outline-warning.focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
  .btn-outline-warning.disabled, .btn-outline-warning:disabled {
    color: #ffc107;
    background-color: transparent; }
  .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
  .show > .btn-outline-warning.dropdown-toggle {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
    .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-warning.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }

.btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545; }
  .btn-outline-danger:hover {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
  .btn-outline-danger:focus, .btn-outline-danger.focus {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
  .btn-outline-danger.disabled, .btn-outline-danger:disabled {
    color: #dc3545;
    background-color: transparent; }
  .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
  .show > .btn-outline-danger.dropdown-toggle {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
    .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-danger.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }

.btn-outline-light {
  color: #f8f9fa;
  border-color: #f8f9fa; }
  .btn-outline-light:hover {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
  .btn-outline-light:focus, .btn-outline-light.focus {
    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
  .btn-outline-light.disabled, .btn-outline-light:disabled {
    color: #f8f9fa;
    background-color: transparent; }
  .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
  .show > .btn-outline-light.dropdown-toggle {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
    .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-light.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }

.btn-outline-dark {
  color: #343a40;
  border-color: #343a40; }
  .btn-outline-dark:hover {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
  .btn-outline-dark:focus, .btn-outline-dark.focus {
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
  .btn-outline-dark.disabled, .btn-outline-dark:disabled {
    color: #343a40;
    background-color: transparent; }
  .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
  .show > .btn-outline-dark.dropdown-toggle {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
    .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-dark.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }

.btn-link {
  font-weight: 400;
  color: #007bff;
  text-decoration: none; }
  .btn-link:hover {
    color: #0056b3;
    text-decoration: underline; }
  .btn-link:focus, .btn-link.focus {
    text-decoration: underline; }
  .btn-link:disabled, .btn-link.disabled {
    color: #6c757d;
    pointer-events: none; }

.btn-lg, .btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem; }

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem; }

.btn-block {
  display: block;
  width: 100%; }
  .btn-block + .btn-block {
    margin-top: 0.5rem; }

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%; }

.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.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem; }

.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.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef; }

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0; }
  .dropdown-item:hover, .dropdown-item:focus {
    color: #16181b;
    text-decoration: none;
    background-color: #f8f9fa; }
  .dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #007bff; }
  .dropdown-item.disabled, .dropdown-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: transparent; }

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

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

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

.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: -1px; }

.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: 0.5625rem;
  padding-left: 0.5625rem; }
  .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: -1px; }
  .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: -1px; }
  .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(:last-child),
  .input-group > .custom-select:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .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-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: -1px; }

.input-group-prepend {
  margin-right: -1px; }

.input-group-append {
  margin-left: -1px; }

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem; }
  .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 + 1rem + 2px); }

.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.3rem; }

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

.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.2rem; }

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

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .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;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem; }

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

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0; }
  .custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: #007bff;
    background-color: #007bff; }
  .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #80bdff; }
  .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: #b3d7ff;
    border-color: #b3d7ff; }
  .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
    color: #6c757d; }
    .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
      background-color: #e9ecef; }

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

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

.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: #007bff;
  background-color: #007bff; }

.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(0, 123, 255, 0.5); }

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 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(0, 123, 255, 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: calc(0.25rem + 2px);
    left: calc(-2.25rem + 2px);
    width: calc(1rem - 4px);
    height: calc(1rem - 4px);
    background-color: #adb5bd;
    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: #fff;
    transform: translateX(0.75rem); }
  .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(0, 123, 255, 0.5); }

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: #fff 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  appearance: none; }
  .custom-select:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .custom-select:focus::-ms-value {
      color: #495057;
      background-color: #fff; }
  .custom-select[multiple], .custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 0.75rem;
    background-image: none; }
  .custom-select:disabled {
    color: #6c757d;
    background-color: #e9ecef; }
  .custom-select::-ms-expand {
    display: none; }
  .custom-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #495057; }

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

.custom-select-lg {
  height: calc(1.5em + 1rem + 2px);
  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(1.5em + 0.75rem + 2px);
  margin-bottom: 0; }

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin: 0;
  opacity: 0; }
  .custom-file-input:focus ~ .custom-file-label {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .custom-file-input[disabled] ~ .custom-file-label,
  .custom-file-input:disabled ~ .custom-file-label {
    background-color: #e9ecef; }
  .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(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.25rem; }
  .custom-file-label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    height: calc(1.5em + 0.75rem);
    padding: 0.375rem 0.75rem;
    line-height: 1.5;
    color: #495057;
    content: "Browse";
    background-color: #e9ecef;
    border-left: inherit;
    border-radius: 0 0.25rem 0.25rem 0; }

.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  appearance: none; }
  .custom-range:focus {
    outline: none; }
    .custom-range:focus::-webkit-slider-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .custom-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .custom-range:focus::-ms-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .custom-range::-moz-focus-outer {
    border: 0; }
  .custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #007bff;
    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: #b3d7ff; }
  .custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem; }
  .custom-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #007bff;
    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: #b3d7ff; }
  .custom-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem; }
  .custom-range::-ms-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: 0;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    background-color: #007bff;
    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: #b3d7ff; }
  .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: #dee2e6;
    border-radius: 1rem; }
  .custom-range::-ms-fill-upper {
    margin-right: 15px;
    background-color: #dee2e6;
    border-radius: 1rem; }
  .custom-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd; }
  .custom-range:disabled::-webkit-slider-runnable-track {
    cursor: default; }
  .custom-range:disabled::-moz-range-thumb {
    background-color: #adb5bd; }
  .custom-range:disabled::-moz-range-track {
    cursor: default; }
  .custom-range:disabled::-ms-thumb {
    background-color: #adb5bd; }

.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: #6c757d;
    pointer-events: none;
    cursor: default; }

.nav-tabs {
  border-bottom: 1px solid #dee2e6; }
  .nav-tabs .nav-item {
    margin-bottom: -1px; }
  .nav-tabs .nav-link {
    border: 1px solid transparent;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
    .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
      border-color: #e9ecef #e9ecef #dee2e6; }
    .nav-tabs .nav-link.disabled {
      color: #6c757d;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active,
  .nav-tabs .nav-item.show .nav-link {
    color: #495057;
    background-color: #fff;
    border-color: #dee2e6 #dee2e6 #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.25rem; }

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

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

.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.5rem 1rem; }
  .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.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  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: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem; }
  .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: no-repeat center center;
  background-size: 100% 100%; }

@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: 0.5rem;
        padding-left: 0.5rem; }
    .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-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: 0.5rem;
        padding-left: 0.5rem; }
    .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-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: 0.5rem;
        padding-left: 0.5rem; }
    .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-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: 0.5rem;
        padding-left: 0.5rem; }
    .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-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: 0.5rem;
      padding-left: 0.5rem; }
  .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-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 rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem; }
  .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.25rem - 1px);
      border-top-right-radius: calc(0.25rem - 1px); }
    .card > .list-group:last-child {
      border-bottom-width: 0;
      border-bottom-right-radius: calc(0.25rem - 1px);
      border-bottom-left-radius: calc(0.25rem - 1px); }

.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 rgba(0, 0, 0, 0.125); }
  .card-header:first-child {
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }
  .card-header + .list-group .list-group-item:first-child {
    border-top: 0; }

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125); }
  .card-footer:last-child {
    border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 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; }

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

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

.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 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 > .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 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
  border-radius: 0.25rem; }

.breadcrumb-item {
  display: flex; }
  .breadcrumb-item + .breadcrumb-item {
    padding-left: 0.5rem; }
    .breadcrumb-item + .breadcrumb-item::before {
      display: inline-block;
      padding-right: 0.5rem;
      color: #6c757d;
      content: "/"; }
  .breadcrumb-item + .breadcrumb-item:hover::before {
    text-decoration: underline; }
  .breadcrumb-item + .breadcrumb-item:hover::before {
    text-decoration: none; }
  .breadcrumb-item.active {
    color: #6c757d; }

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

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #007bff;
  background-color: #fff;
  border: 1px solid #dee2e6; }
  .page-link:hover {
    z-index: 2;
    color: #0056b3;
    text-decoration: none;
    background-color: #e9ecef;
    border-color: #dee2e6; }
  .page-link:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }

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

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

.page-item.active .page-link {
  z-index: 3;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff; }

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

.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.3rem;
  border-bottom-left-radius: 0.3rem; }

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

.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.2rem;
  border-bottom-left-radius: 0.2rem; }

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

.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.25rem;
  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: #fff;
  background-color: #007bff; }
  a.badge-primary:hover, a.badge-primary:focus {
    color: #fff;
    background-color: #0062cc; }
  a.badge-primary:focus, a.badge-primary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }

.badge-secondary {
  color: #fff;
  background-color: #6c757d; }
  a.badge-secondary:hover, a.badge-secondary:focus {
    color: #fff;
    background-color: #545b62; }
  a.badge-secondary:focus, a.badge-secondary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 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 0.2rem 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 0.2rem rgba(23, 162, 184, 0.5); }

.badge-warning {
  color: #212529;
  background-color: #ffc107; }
  a.badge-warning:hover, a.badge-warning:focus {
    color: #212529;
    background-color: #d39e00; }
  a.badge-warning:focus, a.badge-warning.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem 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 0.2rem rgba(220, 53, 69, 0.5); }

.badge-light {
  color: #212529;
  background-color: #f8f9fa; }
  a.badge-light:hover, a.badge-light:focus {
    color: #212529;
    background-color: #dae0e5; }
  a.badge-light:focus, a.badge-light.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }

.badge-dark {
  color: #fff;
  background-color: #343a40; }
  a.badge-dark:hover, a.badge-dark:focus {
    color: #fff;
    background-color: #1d2124; }
  a.badge-dark:focus, a.badge-dark.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  border-radius: 0.3rem; }
  @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.25rem; }

.alert-heading {
  color: inherit; }

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

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

.alert-primary {
  color: #004085;
  background-color: #cce5ff;
  border-color: #b8daff; }
  .alert-primary hr {
    border-top-color: #9fcdff; }
  .alert-primary .alert-link {
    color: #002752; }

.alert-secondary {
  color: #383d41;
  background-color: #e2e3e5;
  border-color: #d6d8db; }
  .alert-secondary hr {
    border-top-color: #c8cbcf; }
  .alert-secondary .alert-link {
    color: #202326; }

.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: #818182;
  background-color: #fefefe;
  border-color: #fdfdfe; }
  .alert-light hr {
    border-top-color: #ececf6; }
  .alert-light .alert-link {
    color: #686868; }

.alert-dark {
  color: #1b1e21;
  background-color: #d6d8d9;
  border-color: #c6c8ca; }
  .alert-dark hr {
    border-top-color: #b9bbbe; }
  .alert-dark .alert-link {
    color: #040505; }

@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: #e9ecef;
  border-radius: 0.25rem; }

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #007bff;
  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: progress-bar-stripes 1s linear infinite; }
  @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.25rem; }

.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit; }
  .list-group-item-action:hover, .list-group-item-action:focus {
    z-index: 1;
    color: #495057;
    text-decoration: none;
    background-color: #f8f9fa; }
  .list-group-item-action:active {
    color: #212529;
    background-color: #e9ecef; }

.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: #6c757d;
    pointer-events: none;
    background-color: #fff; }
  .list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
  .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.25rem;
    border-top-right-radius: 0; }
  .list-group-horizontal > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    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.25rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-sm > .list-group-item:last-child {
      border-top-right-radius: 0.25rem;
      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.25rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-md > .list-group-item:last-child {
      border-top-right-radius: 0.25rem;
      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.25rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-lg > .list-group-item:last-child {
      border-top-right-radius: 0.25rem;
      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.25rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-xl > .list-group-item:last-child {
      border-top-right-radius: 0.25rem;
      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: #004085;
  background-color: #b8daff; }
  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
    color: #004085;
    background-color: #9fcdff; }
  .list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #004085;
    border-color: #004085; }

.list-group-item-secondary {
  color: #383d41;
  background-color: #d6d8db; }
  .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
    color: #383d41;
    background-color: #c8cbcf; }
  .list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #383d41;
    border-color: #383d41; }

.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: #818182;
  background-color: #fdfdfe; }
  .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
    color: #818182;
    background-color: #ececf6; }
  .list-group-item-light.list-group-item-action.active {
    color: #fff;
    background-color: #818182;
    border-color: #818182; }

.list-group-item-dark {
  color: #1b1e21;
  background-color: #c6c8ca; }
  .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
    color: #1b1e21;
    background-color: #b9bbbe; }
  .list-group-item-dark.list-group-item-action.active {
    color: #fff;
    background-color: #1b1e21;
    border-color: #1b1e21; }

.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 {
  max-width: 350px;
  overflow: hidden;
  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);
  backdrop-filter: blur(10px);
  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: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05); }

.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.3rem;
  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 #dee2e6;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px); }
  .modal-header .close {
    padding: 1rem 1rem;
    margin: -1rem -1rem -1rem auto; }

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

.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 #dee2e6;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 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: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  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.25rem; }

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  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.3rem; }
  .popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.3rem; }
    .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.3rem 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.3rem 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.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px); }
  .popover-header:empty {
    display: none; }

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

.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%;
  color: #fff;
  text-align: center;
  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: no-repeat 50% / 100% 100%; }

.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: text-bottom;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border .75s linear infinite; }

.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: text-bottom;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: spinner-grow .75s linear infinite; }

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

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

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

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

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

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

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

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

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

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

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #545b62 !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: #f8f9fa !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.clearfix::after {
  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.075) !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important; }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important; }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important; }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important; }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important; }
  .m-sm-1 {
    margin: 0.25rem !important; }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important; }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important; }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important; }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important; }
  .m-sm-2 {
    margin: 0.5rem !important; }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important; }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important; }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important; }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important; }
  .m-sm-3 {
    margin: 1rem !important; }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important; }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important; }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important; }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important; }
  .m-sm-4 {
    margin: 1.5rem !important; }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important; }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important; }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important; }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important; }
  .m-sm-5 {
    margin: 3rem !important; }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important; }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important; }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important; }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important; }
  .p-sm-0 {
    padding: 0 !important; }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important; }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important; }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important; }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important; }
  .p-sm-1 {
    padding: 0.25rem !important; }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important; }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important; }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important; }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important; }
  .p-sm-2 {
    padding: 0.5rem !important; }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important; }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important; }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important; }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important; }
  .p-sm-3 {
    padding: 1rem !important; }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important; }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important; }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important; }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important; }
  .p-sm-4 {
    padding: 1.5rem !important; }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important; }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important; }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important; }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important; }
  .p-sm-5 {
    padding: 3rem !important; }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important; }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important; }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important; }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important; }
  .m-sm-n1 {
    margin: -0.25rem !important; }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important; }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important; }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important; }
  .m-sm-n2 {
    margin: -0.5rem !important; }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important; }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important; }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important; }
  .m-sm-n3 {
    margin: -1rem !important; }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important; }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important; }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important; }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important; }
  .m-sm-n4 {
    margin: -1.5rem !important; }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important; }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important; }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important; }
  .m-sm-n5 {
    margin: -3rem !important; }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important; }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important; }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important; }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important; }
  .m-sm-auto {
    margin: auto !important; }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important; }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important; }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important; }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important; } }

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important; }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important; }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important; }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important; }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important; }
  .m-md-1 {
    margin: 0.25rem !important; }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important; }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important; }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important; }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important; }
  .m-md-2 {
    margin: 0.5rem !important; }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important; }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important; }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important; }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important; }
  .m-md-3 {
    margin: 1rem !important; }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important; }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important; }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important; }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important; }
  .m-md-4 {
    margin: 1.5rem !important; }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important; }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important; }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important; }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important; }
  .m-md-5 {
    margin: 3rem !important; }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important; }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important; }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important; }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important; }
  .p-md-0 {
    padding: 0 !important; }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important; }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important; }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important; }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important; }
  .p-md-1 {
    padding: 0.25rem !important; }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important; }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important; }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important; }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important; }
  .p-md-2 {
    padding: 0.5rem !important; }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important; }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important; }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important; }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important; }
  .p-md-3 {
    padding: 1rem !important; }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important; }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important; }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important; }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important; }
  .p-md-4 {
    padding: 1.5rem !important; }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important; }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important; }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important; }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important; }
  .p-md-5 {
    padding: 3rem !important; }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important; }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important; }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important; }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important; }
  .m-md-n1 {
    margin: -0.25rem !important; }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important; }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important; }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important; }
  .m-md-n2 {
    margin: -0.5rem !important; }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important; }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important; }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important; }
  .m-md-n3 {
    margin: -1rem !important; }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important; }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important; }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important; }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important; }
  .m-md-n4 {
    margin: -1.5rem !important; }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important; }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important; }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important; }
  .m-md-n5 {
    margin: -3rem !important; }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important; }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important; }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important; }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important; }
  .m-md-auto {
    margin: auto !important; }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important; }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important; }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important; }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important; } }

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important; }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important; }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important; }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important; }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important; }
  .m-lg-1 {
    margin: 0.25rem !important; }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important; }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important; }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important; }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important; }
  .m-lg-2 {
    margin: 0.5rem !important; }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important; }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important; }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important; }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important; }
  .m-lg-3 {
    margin: 1rem !important; }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important; }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important; }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important; }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important; }
  .m-lg-4 {
    margin: 1.5rem !important; }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important; }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important; }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important; }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important; }
  .m-lg-5 {
    margin: 3rem !important; }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important; }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important; }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important; }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important; }
  .p-lg-0 {
    padding: 0 !important; }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important; }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important; }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important; }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important; }
  .p-lg-1 {
    padding: 0.25rem !important; }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important; }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important; }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important; }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important; }
  .p-lg-2 {
    padding: 0.5rem !important; }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important; }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important; }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important; }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important; }
  .p-lg-3 {
    padding: 1rem !important; }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important; }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important; }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important; }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important; }
  .p-lg-4 {
    padding: 1.5rem !important; }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important; }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important; }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important; }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important; }
  .p-lg-5 {
    padding: 3rem !important; }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important; }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important; }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important; }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important; }
  .m-lg-n1 {
    margin: -0.25rem !important; }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important; }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important; }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important; }
  .m-lg-n2 {
    margin: -0.5rem !important; }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important; }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.5rem !important; }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.5rem !important; }
  .m-lg-n3 {
    margin: -1rem !important; }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important; }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important; }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important; }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important; }
  .m-lg-n4 {
    margin: -1.5rem !important; }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1.5rem !important; }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1.5rem !important; }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1.5rem !important; }
  .m-lg-n5 {
    margin: -3rem !important; }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important; }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important; }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important; }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -3rem !important; }
  .m-lg-auto {
    margin: auto !important; }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important; }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important; }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important; }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important; } }

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important; }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important; }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important; }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important; }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important; }
  .m-xl-1 {
    margin: 0.25rem !important; }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important; }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important; }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important; }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important; }
  .m-xl-2 {
    margin: 0.5rem !important; }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important; }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important; }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important; }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important; }
  .m-xl-3 {
    margin: 1rem !important; }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important; }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important; }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important; }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important; }
  .m-xl-4 {
    margin: 1.5rem !important; }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important; }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important; }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important; }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important; }
  .m-xl-5 {
    margin: 3rem !important; }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important; }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important; }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important; }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important; }
  .p-xl-0 {
    padding: 0 !important; }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important; }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important; }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important; }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important; }
  .p-xl-1 {
    padding: 0.25rem !important; }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important; }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important; }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important; }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important; }
  .p-xl-2 {
    padding: 0.5rem !important; }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important; }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important; }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important; }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important; }
  .p-xl-3 {
    padding: 1rem !important; }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important; }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important; }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important; }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important; }
  .p-xl-4 {
    padding: 1.5rem !important; }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important; }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important; }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important; }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important; }
  .p-xl-5 {
    padding: 3rem !important; }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important; }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important; }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important; }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important; }
  .m-xl-n1 {
    margin: -0.25rem !important; }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important; }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important; }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important; }
  .m-xl-n2 {
    margin: -0.5rem !important; }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important; }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.5rem !important; }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.5rem !important; }
  .m-xl-n3 {
    margin: -1rem !important; }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important; }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important; }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important; }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important; }
  .m-xl-n4 {
    margin: -1.5rem !important; }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1.5rem !important; }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1.5rem !important; }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1.5rem !important; }
  .m-xl-n5 {
    margin: -3rem !important; }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important; }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important; }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important; }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -3rem !important; }
  .m-xl-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: #007bff !important; }

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

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

a.text-secondary:hover, a.text-secondary:focus {
  color: #494f54 !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: #f8f9fa !important; }

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

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

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

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

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

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

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

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

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

.text-break {
  word-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 #adb5bd;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  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 #dee2e6 !important; }
  .table-dark {
    color: inherit; }
    .table-dark th,
    .table-dark td,
    .table-dark thead th,
    .table-dark tbody + tbody {
      border-color: #dee2e6; }
  .table .thead-dark th {
    color: inherit;
    border-color: #dee2e6; } }

body.lb-disable-scrolling {
  overflow: hidden; }

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none; }

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal;
  outline: none; }

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  max-height: none;
  border-radius: 3px;
  /* Image border */
  border: 4px solid white; }

.lightbox a img {
  border: none; }

.lb-outerContainer {
  position: relative;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;
  /* Background color behind image.
     This is visible during transitions. */
  background-color: white; }

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0; }

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url(../images/loading.gif) no-repeat; }

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10; }

.lb-container > .nav {
  left: 0; }

.lb-nav a {
  outline: none;
  background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); }

.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block; }

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url(../images/prev.png) left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s; }

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url(../images/next.png) right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s; }

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px; }

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-data {
  padding: 0 4px;
  color: #ccc; }

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em; }

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em; }

.lb-data .lb-caption a {
  color: #4ae; }

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999; }

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(../images/close.png) top right no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s; }

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

/*! =========================================================
 * bootstrap-slider.js
 *
 * Maintainers:
 *		Kyle Kemp
 *			- Twitter: @seiyria
 *			- Github:  seiyria
 *		Rohit Kalkur
 *			- Twitter: @Rovolutionary
 *			- Github:  rovolution
 *
 * =========================================================
 *
 * bootstrap-slider is released under the MIT License
 * Copyright (c) 2019 Kyle Kemp, Rohit Kalkur, and contributors
 * 
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use,
 * copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following
 * conditions:
 * 
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 *
 * ========================================================= */
.slider {
  display: inline-block;
  vertical-align: middle;
  position: relative; }
  .slider.slider-horizontal {
    width: 210px;
    height: 20px; }
    .slider.slider-horizontal .slider-track {
      height: 10px;
      width: 100%;
      margin-top: -5px;
      top: 50%;
      left: 0; }
    .slider.slider-horizontal .slider-selection, .slider.slider-horizontal .slider-track-low, .slider.slider-horizontal .slider-track-high {
      height: 100%;
      top: 0;
      bottom: 0; }
    .slider.slider-horizontal .slider-tick,
    .slider.slider-horizontal .slider-handle {
      margin-left: -10px; }
      .slider.slider-horizontal .slider-tick.triangle,
      .slider.slider-horizontal .slider-handle.triangle {
        position: relative;
        top: 50%;
        transform: translateY(-50%);
        border-width: 0 10px 10px 10px;
        width: 0;
        height: 0;
        border-bottom-color: #036fa5;
        margin-top: 0; }
    .slider.slider-horizontal .slider-tick-container {
      white-space: nowrap;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%; }
    .slider.slider-horizontal .slider-tick-label-container {
      white-space: nowrap;
      margin-top: 20px; }
      .slider.slider-horizontal .slider-tick-label-container .slider-tick-label {
        display: inline-block;
        padding-top: 24px;
        text-align: center; }
    .slider.slider-horizontal.slider-rtl .slider-track {
      left: initial;
      right: 0; }
    .slider.slider-horizontal.slider-rtl .slider-tick,
    .slider.slider-horizontal.slider-rtl .slider-handle {
      margin-left: initial;
      margin-right: -10px; }
    .slider.slider-horizontal.slider-rtl .slider-tick-container {
      left: initial;
      right: 0; }
  .slider.slider-vertical {
    height: 210px;
    width: 20px; }
    .slider.slider-vertical .slider-track {
      width: 10px;
      height: 100%;
      left: 25%;
      top: 0; }
    .slider.slider-vertical .slider-selection {
      width: 100%;
      left: 0;
      top: 0;
      bottom: 0; }
    .slider.slider-vertical .slider-track-low, .slider.slider-vertical .slider-track-high {
      width: 100%;
      left: 0;
      right: 0; }
    .slider.slider-vertical .slider-tick,
    .slider.slider-vertical .slider-handle {
      margin-top: -10px; }
      .slider.slider-vertical .slider-tick.triangle,
      .slider.slider-vertical .slider-handle.triangle {
        border-width: 10px 0 10px 10px;
        width: 1px;
        height: 1px;
        border-left-color: #036fa5;
        margin-left: 0; }
    .slider.slider-vertical .slider-tick-label-container {
      white-space: nowrap; }
      .slider.slider-vertical .slider-tick-label-container .slider-tick-label {
        padding-left: 4px; }
    .slider.slider-vertical.slider-rtl .slider-track {
      left: initial;
      right: 25%; }
    .slider.slider-vertical.slider-rtl .slider-selection {
      left: initial;
      right: 0; }
    .slider.slider-vertical.slider-rtl .slider-tick.triangle,
    .slider.slider-vertical.slider-rtl .slider-handle.triangle {
      border-width: 10px 10px 10px 0; }
    .slider.slider-vertical.slider-rtl .slider-tick-label-container .slider-tick-label {
      padding-left: initial;
      padding-right: 4px; }
  .slider.slider-disabled .slider-handle {
    background-color: #cfcfcf;
    background-image: -moz-linear-gradient(top, #DFDFDF, #BEBEBE);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#DFDFDF), to(#BEBEBE));
    background-image: -webkit-linear-gradient(top, #DFDFDF, #BEBEBE);
    background-image: -o-linear-gradient(top, #DFDFDF, #BEBEBE);
    background-image: linear-gradient(to bottom, #DFDFDF, #BEBEBE);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DFDFDF', endColorstr='#BEBEBE',GradientType=0); }
  .slider.slider-disabled .slider-track {
    background-color: #e7e7e7;
    background-image: -moz-linear-gradient(top, #E5E5E5, #E9E9E9);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#E5E5E5), to(#E9E9E9));
    background-image: -webkit-linear-gradient(top, #E5E5E5, #E9E9E9);
    background-image: -o-linear-gradient(top, #E5E5E5, #E9E9E9);
    background-image: linear-gradient(to bottom, #E5E5E5, #E9E9E9);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#E5E5E5', endColorstr='#E9E9E9',GradientType=0);
    cursor: not-allowed; }
  .slider input {
    display: none; }
  .slider .tooltip-inner {
    white-space: nowrap;
    max-width: none; }
  .slider .tooltip {
    pointer-events: none; }
    .slider .tooltip.top {
      margin-top: -36px; }
  .slider .tooltip-inner {
    white-space: nowrap;
    max-width: none; }
  .slider .hide {
    display: none; }

.slider-track {
  background-color: #f7f7f7;
  background-image: -moz-linear-gradient(top, #F5F5F5, #F9F9F9);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F5F5F5), to(#F9F9F9));
  background-image: -webkit-linear-gradient(top, #F5F5F5, #F9F9F9);
  background-image: -o-linear-gradient(top, #F5F5F5, #F9F9F9);
  background-image: linear-gradient(to bottom, #F5F5F5, #F9F9F9);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F5F5F5', endColorstr='#F9F9F9',GradientType=0);
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  position: absolute;
  cursor: pointer; }

.slider-selection {
  background-color: #f7f7f7;
  background-image: -moz-linear-gradient(top, #F9F9F9, #F5F5F5);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F9F9F9), to(#F5F5F5));
  background-image: -webkit-linear-gradient(top, #F9F9F9, #F5F5F5);
  background-image: -o-linear-gradient(top, #F9F9F9, #F5F5F5);
  background-image: linear-gradient(to bottom, #F9F9F9, #F5F5F5);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F9F9F9', endColorstr='#F5F5F5',GradientType=0);
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  position: absolute; }

.slider-selection.tick-slider-selection {
  background-color: #46c1fe;
  background-image: -moz-linear-gradient(top, #52c5ff, #3abcfd);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#52c5ff), to(#3abcfd));
  background-image: -webkit-linear-gradient(top, #52c5ff, #3abcfd);
  background-image: -o-linear-gradient(top, #52c5ff, #3abcfd);
  background-image: linear-gradient(to bottom, #52c5ff, #3abcfd);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#52c5ff', endColorstr='#3abcfd',GradientType=0); }

.slider-track-low, .slider-track-high {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  position: absolute;
  background: transparent; }

.slider-handle {
  background-color: #0478b2;
  background-image: -moz-linear-gradient(top, #0480BE, #036fa5);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0480BE), to(#036fa5));
  background-image: -webkit-linear-gradient(top, #0480BE, #036fa5);
  background-image: -o-linear-gradient(top, #0480BE, #036fa5);
  background-image: linear-gradient(to bottom, #0480BE, #036fa5);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0480BE', endColorstr='#036fa5',GradientType=0);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  position: absolute;
  top: 0;
  width: 20px;
  height: 20px;
  background-color: #0480BE;
  border: 0px solid transparent; }
  .slider-handle:hover {
    cursor: pointer; }
  .slider-handle.round {
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px; }
  .slider-handle.triangle {
    background: transparent none; }
  .slider-handle.custom {
    background: transparent none; }
    .slider-handle.custom::before {
      line-height: 20px;
      font-size: 20px;
      content: '\2605';
      color: #726204; }

.slider-tick {
  background-color: #f7f7f7;
  background-image: -moz-linear-gradient(top, #F5F5F5, #F9F9F9);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F5F5F5), to(#F9F9F9));
  background-image: -webkit-linear-gradient(top, #F5F5F5, #F9F9F9);
  background-image: -o-linear-gradient(top, #F5F5F5, #F9F9F9);
  background-image: linear-gradient(to bottom, #F5F5F5, #F9F9F9);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F5F5F5', endColorstr='#F9F9F9',GradientType=0);
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  cursor: pointer;
  width: 20px;
  height: 20px;
  filter: none;
  opacity: 0.8;
  border: 0px solid transparent; }
  .slider-tick.round {
    border-radius: 50%; }
  .slider-tick.triangle {
    background: transparent none; }
  .slider-tick.custom {
    background: transparent none; }
    .slider-tick.custom::before {
      line-height: 20px;
      font-size: 20px;
      content: '\2605';
      color: #726204; }
  .slider-tick.in-selection {
    background-color: #46c1fe;
    background-image: -moz-linear-gradient(top, #52c5ff, #3abcfd);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#52c5ff), to(#3abcfd));
    background-image: -webkit-linear-gradient(top, #52c5ff, #3abcfd);
    background-image: -o-linear-gradient(top, #52c5ff, #3abcfd);
    background-image: linear-gradient(to bottom, #52c5ff, #3abcfd);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#52c5ff', endColorstr='#3abcfd',GradientType=0);
    opacity: 1; }

@keyframes splide-loading {
  0% {
    transform: rotate(0); }
  to {
    transform: rotate(1turn); } }

.splide__container {
  position: relative;
  box-sizing: border-box; }

.splide__list {
  margin: 0 !important;
  padding: 0 !important;
  width: -webkit-max-content;
  width: max-content;
  will-change: transform; }

.splide.is-active .splide__list {
  display: flex; }

.splide__pagination {
  display: inline-flex;
  align-items: center;
  width: 95%;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0; }

.splide__pagination li {
  list-style-type: none;
  display: inline-block;
  line-height: 1;
  margin: 0; }

.splide {
  visibility: hidden; }

.splide, .splide__slide {
  position: relative;
  outline: none; }

.splide__slide {
  box-sizing: border-box;
  list-style-type: none !important;
  margin: 0;
  flex-shrink: 0; }

.splide__slide img {
  vertical-align: bottom; }

.splide__slider {
  position: relative; }

.splide__spinner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #999;
  border-left-color: transparent;
  animation: splide-loading 1s linear infinite; }

.splide__track {
  position: relative;
  z-index: 0;
  overflow: hidden; }

.splide--draggable > .splide__track > .splide__list > .splide__slide {
  -webkit-user-select: none;
  user-select: none; }

.splide--fade > .splide__track > .splide__list {
  display: block; }

.splide--fade > .splide__track > .splide__list > .splide__slide {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  opacity: 0; }

.splide--fade > .splide__track > .splide__list > .splide__slide.is-active {
  position: relative;
  z-index: 1;
  opacity: 1; }

.splide--rtl {
  direction: rtl; }

.splide--ttb > .splide__track > .splide__list {
  display: block; }

.splide--ttb > .splide__pagination {
  width: auto; }

.splide__arrow {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  height: 2em;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  padding: 0;
  opacity: .7;
  background: #ccc; }

.splide__arrow svg {
  width: 1.2em;
  height: 1.2em; }

.splide__arrow:hover {
  cursor: pointer;
  opacity: .9; }

.splide__arrow:focus {
  outline: none; }

.splide__arrow--prev {
  left: 1em; }

.splide__arrow--prev svg {
  transform: scaleX(-1); }

.splide__arrow--next {
  right: 1em; }

.splide__pagination {
  position: absolute;
  z-index: 1;
  bottom: .5em;
  left: 50%;
  transform: translateX(-50%);
  padding: 0; }

.splide__pagination__page {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #ccc;
  border-radius: 50%;
  margin: 3px;
  padding: 0;
  transition: transform .2s linear;
  border: none;
  opacity: .7; }

.splide__pagination__page.is-active {
  transform: scale(1.4);
  background: #fff; }

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: .9; }

.splide__pagination__page:focus {
  outline: none; }

.splide__progress__bar {
  width: 0;
  height: 3px;
  background: #ccc; }

.splide--nav > .splide__track > .splide__list > .splide__slide {
  border: 3px solid transparent; }

.splide--nav > .splide__track > .splide__list > .splide__slide.is-active {
  border-color: #000; }

.splide--nav > .splide__track > .splide__list > .splide__slide:focus {
  outline: none; }

.splide--rtl > .splide__arrows .splide__arrow--prev, .splide--rtl > .splide__track > .splide__arrows .splide__arrow--prev {
  right: 1em;
  left: auto; }

.splide--rtl > .splide__arrows .splide__arrow--prev svg, .splide--rtl > .splide__track > .splide__arrows .splide__arrow--prev svg {
  transform: scaleX(1); }

.splide--rtl > .splide__arrows .splide__arrow--next, .splide--rtl > .splide__track > .splide__arrows .splide__arrow--next {
  left: 1em;
  right: auto; }

.splide--rtl > .splide__arrows .splide__arrow--next svg, .splide--rtl > .splide__track > .splide__arrows .splide__arrow--next svg {
  transform: scaleX(-1); }

.splide--ttb > .splide__arrows .splide__arrow, .splide--ttb > .splide__track > .splide__arrows .splide__arrow {
  left: 50%;
  transform: translate(-50%); }

.splide--ttb > .splide__arrows .splide__arrow--prev, .splide--ttb > .splide__track > .splide__arrows .splide__arrow--prev {
  top: 1em; }

.splide--ttb > .splide__arrows .splide__arrow--prev svg, .splide--ttb > .splide__track > .splide__arrows .splide__arrow--prev svg {
  transform: rotate(-90deg); }

.splide--ttb > .splide__arrows .splide__arrow--next, .splide--ttb > .splide__track > .splide__arrows .splide__arrow--next {
  top: auto;
  bottom: 1em; }

.splide--ttb > .splide__arrows .splide__arrow--next svg, .splide--ttb > .splide__track > .splide__arrows .splide__arrow--next svg {
  transform: rotate(90deg); }

.splide--ttb > .splide__pagination {
  display: flex;
  flex-direction: column;
  bottom: 50%;
  left: auto;
  right: .5em;
  transform: translateY(50%); }

html, body {
  color: #141414;
  background: #fff;
  font-size: 13px;
  font-family: "Roboto", Helvetica, Arial, sans-serif; }
  @media (min-width: 576px) {
    html, body {
      font-size: 14px; } }
  @media (min-width: 768px) {
    html, body {
      font-size: 15px; } }
  @media (min-width: 992px) {
    html, body {
      font-size: 16px; } }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.1;
  margin: 0;
  padding: 0; }

/* =============================================================================
   FONT DEFINITIONS -
   ========================================================================== */
/* FONT FACE SOURCES */
@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto_regular-webfont.woff") format("woff"), url("../fonts/roboto_regular-webfont.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto_500-webfont.woff") format("woff"), url("../fonts/roboto_500-webfont.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto_500italic-webfont.woff") format("woff"), url("../fonts/roboto_500italic-webfont.woff2") format("woff2");
  font-weight: bold;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto_italic-webfont.woff") format("woff"), url("../fonts/roboto_italic-webfont.woff2") format("woff2");
  font-weight: normal;
  font-style: italic;
  font-display: swap; }

/* FONT AWESOME */
@font-face {
  font-family: "Font Awesome Light";
  src: url("../fonts//fa-light-300.eot"), url("../fonts//fa-light-300.eot") format("embedded-opentype"), url("../fonts//fa-light-300.woff2") format("woff2"), url("../fonts//fa-light-300.woff") format("woff"), url("../fonts//fa-light-300.ttf") format("truetype"), url("../fonts//fa-light-300.svg") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Font Awesome Solid";
  src: url("../fonts//fa-solid-900.eot"), url("../fonts//fa-solid-900.eot") format("embedded-opentype"), url("../fonts//fa-solid-900.woff2") format("woff2"), url("../fonts//fa-solid-900.woff") format("woff"), url("../fonts//fa-solid-900.ttf") format("truetype"), url("../fonts//fa-solid-900.svg") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Font Awesome Regular";
  src: url("../fonts//fa-regular-400.eot"), url("../fonts//fa-regular-400.eot") format("embedded-opentype"), url("../fonts//fa-regular-400.woff2") format("woff2"), url("../fonts//fa-regular-400.woff") format("woff"), url("../fonts//fa-regular-400.ttf") format("truetype"), url("../fonts//fa-regular-400.svg") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Font Awesome Brand";
  src: url("../fonts//fa-brands-400.eot"), url("../fonts//fa-brands-400.eot") format("embedded-opentype"), url("../fonts//fa-brands-400.woff2") format("woff2"), url("../fonts//fa-brands-400.woff") format("woff"), url("../fonts//fa-brands-400.ttf") format("truetype"), url("../fonts//fa-brands-400.svg") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Font Awesome Duotone";
  src: url("../fonts//fa-duotone-900.eot"), url("../fonts//fa-duotone-900.eot") format("embedded-opentype"), url("../fonts//fa-duotone-900.woff2") format("woff2"), url("../fonts//fa-duotone-900.woff") format("woff"), url("../fonts//fa-duotone-900.ttf") format("truetype"), url("../fonts//fa-duotone-900.svg") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  line-height: 1.1;
  margin: 0;
  padding: 0;
  font-weight: bold;
  text-transform: uppercase;
  color: #17A6B0; }

.h1, h1 {
  font-size: 1.41667rem;
  line-height: 1.23529;
  margin-bottom: 1.25rem;
  text-transform: none; }
  @media (min-width: 768px) {
    .h1, h1 {
      font-size: 2.125rem;
      line-height: 1.23529; } }

.h2, h2 {
  font-size: 1.42857rem;
  line-height: 1.1875;
  margin-bottom: 1.875rem; }
  @media (min-width: 576px) {
    .h2, h2 {
      font-size: 1.53846rem;
      line-height: 1.1875; } }
  @media (min-width: 992px) {
    .h2, h2 {
      font-size: 2rem;
      line-height: 1.1875; } }

.h3, h3 {
  font-size: 1.5rem;
  line-height: 1.16667;
  margin-bottom: 1.25rem; }

.h4, h4 {
  font-size: 1.25rem;
  line-height: 1.2;
  margin-bottom: 1.25rem; }

.h5, h5 {
  font-size: 1.125rem;
  line-height: 1.38889;
  margin-bottom: 1.25rem; }

.h6, h6 {
  font-size: 0.9375rem;
  line-height: 1.2;
  margin-bottom: 1.25rem; }
  @media (min-width: 576px) {
    .h6, h6 {
      font-size: 1rem;
      line-height: 1.1875; } }

.text:last-of-type {
  margin-bottom: 1.875rem; }

.text.color__brand--3 {
  color: #457B9D; }

.text {
  font-size: 1.125rem;
  line-height: 1.44444;
  display: block;
  margin-bottom: 1.25rem; }
  .text--subtitle {
    font-size: 0.9375rem;
    line-height: 1.2;
    font-style: italic;
    text-transform: uppercase; }
    @media (min-width: 576px) {
      .text--subtitle {
        font-size: 1rem;
        line-height: 1.375; } }
  .text--1 {
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .text--1 {
        font-size: 1rem;
        line-height: 1.5; } }
  .text--2 {
    font-size: 0.9375rem;
    line-height: 1.2;
    margin-bottom: 0.9375rem; }
    @media (min-width: 576px) {
      .text--2 {
        font-size: 0.875rem;
        line-height: 1.57143; } }
  .text.ico {
    position: relative;
    padding-left: 1.375rem; }
    .text.ico:before {
      content: '';
      position: absolute;
      left: 0;
      font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif;
      font-size: 1rem;
      color: #215673; }
    .text.ico--point:before {
      content: '\f3c5'; }
    .text.ico--point--1 {
      padding-left: 1.1875rem; }
      .text.ico--point--1:before {
        content: '\f3c5';
        color: #17A6B0;
        font-size: 0.75rem; }
    .text.ico--phone:before {
      content: '\f879'; }
    .text.ico--email:before {
      content: '\f0e0'; }

.section {
  padding: 1.875rem 0; }
  .section--1 {
    background: linear-gradient(#fff 44%, #17A6B0 44%); }
  .section--2 {
    color: #B0D9DC;
    background: #17A6B0; }
    .section--2 .h6 {
      color: #fff; }
    .section--2 .link {
      color: #fff;
      background: rgba(0, 0, 0, 0);
      font-size: 0.9375rem;
      line-height: 1.2; }
      .section--2 .link:active, .section--2 .link:hover {
        color: #215673;
        background: rgba(0, 0, 0, 0); }
        .section--2 .link:active:focus, .section--2 .link:hover:focus {
          color: #215673;
          background: rgba(0, 0, 0, 0); }
      .section--2 .link:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .section--2 .link:active:hover {
          box-shadow: none; }
      .section--2 .link:focus {
        color: #215673;
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
        .section--2 .link:focus:hover {
          background: rgba(0, 0, 0, 0);
          text-decoration: none; }
      @media (min-width: 576px) {
        .section--2 .link {
          font-size: 0.875rem;
          line-height: 1.14286; } }

.site__wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  .site__wrapper--inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;
    overflow-x: hidden;
    overflow-y: hidden; }
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
      .site__wrapper--inner {
        min-height: calc(100vh - 15rem); } }

.container-fluid.lock, .lock.container-sm, .lock.container-md, .lock.container-lg, .lock.container-xl {
  width: 100%;
  max-width: 90rem;
  margin: 0 auto; }

.alert:not(.def).alert-warning {
  color: #000;
  background: #ffc129; }

.alert:not(.def).alert-danger {
  color: #fff;
  background: #ff0045; }

.alert:not(.def).alert-success {
  color: #000;
  background: #00cf86; }

.alert:not(.def).alert-info {
  color: #000;
  background: #D6D6D6; }

.alert__bar {
  text-align: left;
  position: relative;
  padding: 0.875rem 30px 0.875rem 30px;
  margin: 0;
  border: 0;
  border-radius: 0; }
  .alert__bar a {
    word-wrap: break-word; }
  .alert__bar:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #D6D6D6;
    z-index: -1; }
  .alert__bar__wrapper {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    justify-content: center; }
    @media (max-width: 575.98px) {
      .alert__bar__wrapper {
        display: inherit;
        text-align: center; } }
  .alert__bar__close {
    padding: 15px;
    display: flex;
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    color: #000;
    z-index: 1;
    opacity: .5;
    transition: 0.3s ease-out;
    border: 0;
    background: none;
    font-size: 1.5rem; }
    .alert__bar__close:before {
      content: '\f00d';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif; }
    .alert__bar__close:hover {
      opacity: 1; }
    .alert__bar__close:focus {
      outline: none; }
  .alert__bar .text {
    opacity: .9;
    color: #000;
    margin-bottom: 0.625rem;
    font-size: 14px; }
    .alert__bar .text--title {
      font-weight: bold;
      margin-bottom: 0.3125rem; }
  .alert__bar .btn {
    color: #fff;
    background: #666666; }
    .alert__bar .btn:focus {
      color: #fff;
      background: gray;
      text-decoration: none; }
      .alert__bar .btn:focus:hover {
        background: gray;
        text-decoration: none; }
    .alert__bar .btn:active, .alert__bar .btn:hover {
      color: #fff;
      background: gray; }
      .alert__bar .btn:active:focus, .alert__bar .btn:hover:focus {
        color: #fff;
        background: gray; }

.list {
  margin: 0 0 1.875rem 0;
  padding: 0;
  list-style-type: none; }
  .list__item {
    position: relative;
    padding: 0 0 0 0.625rem; }
    .list__item:before {
      content: '';
      position: absolute;
      top: 0.625rem;
      left: 0;
      width: 0.3125rem;
      height: 0.3125rem;
      border-radius: 50%;
      background: #000; }
  .list__link {
    color: #000;
    background: rgba(0, 0, 0, 0);
    cursor: pointer; }
    .list__link:active, .list__link:hover {
      color: #D6D6D6;
      background: rgba(0, 0, 0, 0); }
      .list__link:active:focus, .list__link:hover:focus {
        color: #D6D6D6;
        background: rgba(0, 0, 0, 0); }
    .list__link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .list__link:active:hover {
        box-shadow: none; }
    .list__link:focus {
      color: #D6D6D6;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .list__link:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }

.list__nested {
  color: #000;
  text-transform: uppercase;
  font-weight: bold;
  list-style-type: none;
  counter-reset: list;
  padding: 0;
  margin-left: 1.25rem; }
  .list__nested > li {
    position: relative; }
    .list__nested > li:before {
      counter-increment: list;
      content: counter(list) ".";
      position: absolute;
      left: -1.25rem; }

.list__nested--second-lvl {
  color: #141414;
  list-style-type: none;
  counter-reset: sublist;
  margin: 2.5rem 0;
  text-transform: none;
  font-weight: normal; }
  .list__nested--second-lvl > li {
    position: relative;
    padding-bottom: 0.625rem;
    font-size: 1rem;
    line-height: 1.1875; }
    .list__nested--second-lvl > li:before {
      counter-increment: sublist;
      content: counter(list) "." counter(sublist) ".";
      position: absolute;
      left: -2.1875rem; }

.list__nested--third-lvl {
  counter-reset: subsublist;
  padding-left: 3.75rem;
  margin: 1.25rem 0;
  list-style-type: none; }
  .list__nested--third-lvl > li {
    position: relative; }
    .list__nested--third-lvl > li:before {
      counter-increment: subsublist;
      content: counter(list) "." counter(sublist) "." counter(subsublist) ".";
      position: absolute;
      left: -3.125rem; }

.list__nested--fourth-lvl {
  counter-reset: subsubsublist;
  padding-left: 5rem;
  margin: 1.25rem 0;
  list-style-type: none; }
  .list__nested--fourth-lvl > li {
    position: relative; }
    .list__nested--fourth-lvl > li:before {
      counter-increment: subsubsublist;
      content: counter(list) "." counter(sublist) "." counter(subsublist) "." counter(subsubsublist) ".";
      position: absolute;
      left: -4.0625rem; }

input[type='number'], input[type='date'] {
  -moz-appearance: textfield; }
  input[type='number']::-webkit-outer-spin-button, input[type='number']::-webkit-inner-spin-button, input[type='number']::-webkit-calendar-picker-indicator, input[type='date']::-webkit-outer-spin-button, input[type='date']::-webkit-inner-spin-button, input[type='date']::-webkit-calendar-picker-indicator {
    -webkit-appearance: none;
    margin: 0;
    display: none; }
  input[type='number']:hover, input[type='date']:hover {
    -moz-appearance: textfield; }
    input[type='number']:hover::-webkit-outer-spin-button, input[type='number']:hover::-webkit-inner-spin-button, input[type='number']:hover::-webkit-calendar-picker-indicator, input[type='date']:hover::-webkit-outer-spin-button, input[type='date']:hover::-webkit-inner-spin-button, input[type='date']:hover::-webkit-calendar-picker-indicator {
      -webkit-appearance: none;
      margin: 0;
      display: none; }

.form label, .form .form-group.file .label-file {
  color: #141414;
  font-size: 1rem;
  line-height: 1.1875;
  font-weight: normal; }

.form .form-control {
  font-size: 1rem;
  line-height: 1.1875;
  height: 3rem;
  border: 1px solid #f6f6f6;
  padding: 0.625rem 0.625rem;
  background: transparent;
  position: relative;
  z-index: 1;
  border-radius: 3px; }
  .form .form-control::placeholder {
    color: #141414; }

.form .form-group {
  margin-bottom: 1.875rem; }
  .form .form-group.textarea {
    max-width: 100%; }
    .form .form-group.textarea .form-control {
      background: #fff;
      border-radius: 3px; }
  .form .form-group .input-wrapper {
    position: relative;
    background: #fff;
    border-radius: 3px; }
    .form .form-group .input-wrapper:before {
      content: '';
      position: absolute;
      top: 50%;
      right: 0.9375rem;
      width: 1.25rem;
      height: 1.25rem;
      transform: translateY(-50%); }
  .form .form-group textarea {
    padding: 0.625rem 0.625rem;
    height: 9.375rem; }
  .form .form-group.file input {
    display: none; }
  .form .form-group.file .label-wrapper {
    cursor: pointer;
    display: block;
    width: 100%;
    font-size: 1rem;
    line-height: 1.1875;
    height: 3rem;
    border: 1px solid #f6f6f6;
    padding: 0 0.9375rem;
    border-radius: 4px; }
  .form .form-group.file .input-wrapper:before {
    display: none; }
  .form .form-group.file .input-wrapper p {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
  .form .form-group.file .button {
    background: #141414;
    width: 2.8125rem;
    height: 100%;
    border-radius: 0 4px 4px 0;
    top: 0;
    right: 0;
    position: absolute; }
    .form .form-group.file .button:before {
      font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif;
      color: #fff;
      font-size: 1.1875rem;
      line-height: 1.26316;
      content: '\f574';
      position: absolute;
      top: 50%;
      right: 0.9375rem;
      transform: translateY(-50%);
      z-index: 0; }
  .form .form-group.file .delete {
    display: inline-block;
    cursor: pointer; }
  .form .form-group.select select {
    -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    cursor: pointer; }
    .form .form-group.select select::-ms-expand {
      display: none; }
  .form .form-group.select .input-wrapper:before {
    content: '\f107';
    background: none;
    width: 1.25rem;
    height: 1.25rem;
    font-size: 1.3125rem;
    font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #A1A1A1; }
  .form .form-group.select .form-control {
    padding: 0.625rem 1.875rem 0.625rem 0.625rem; }
  .form .form-group.search .input-wrapper {
    position: relative; }
    .form .form-group.search .input-wrapper .btn-find {
      background: #141414 url("../images/icons/magnifying.svg") no-repeat center/16px 16px;
      width: 3rem;
      height: 100%;
      border-radius: 0 4px 4px 0;
      right: 0;
      position: absolute;
      border: 0;
      z-index: 1; }
  .form .form-group.datepicker .input-wrapper:before {
    background: url("../images/icons/calendar.svg") no-repeat center/cover; }
  .form .form-group.datepicker input {
    cursor: pointer; }
  .form .form-group.warning .form-control {
    border: 1px solid #ffc129; }
    .form .form-group.warning .form-control::placeholder {
      color: #ffc129; }
  .form .form-group.warning .input-wrapper:before {
    display: inherit;
    background: url("../images/icons/alert.svg") no-repeat center/cover; }
  .form .form-group.warning .button {
    display: none; }
  .form .form-group.danger .form-control {
    border: 1px solid #ff0045; }
    .form .form-group.danger .form-control::placeholder {
      color: #ff0045; }
  .form .form-group.danger .input-wrapper:before {
    display: inherit;
    background: url("../images/icons/danger.svg") no-repeat center/cover; }
  .form .form-group.danger .button {
    display: none; }
  .form .form-group.success .form-control {
    border: 1px solid #00cf86; }
  .form .form-group.success .input-wrapper:before {
    display: inherit;
    background: url("../images/icons/success.svg") no-repeat center/cover;
    width: 1.25rem;
    height: 1.25rem;
    right: 0.9375rem;
    content: ''; }
  .form .form-group.success .button {
    display: none; }
  .form .form-group.has-error .form-control {
    color: #a94442;
    border: 1px solid #ff0045; }
  .form .form-group.has-error .input-wrapper:before {
    display: inherit;
    background: url("../images/icons/danger.svg") no-repeat center/cover;
    width: 1.25rem;
    height: 1.25rem;
    right: 0.9375rem; }
  .form .form-group.has-error .input-wrapper:after {
    display: none; }
  .form .form-group.has-error .input-wrapper .label-wrapper {
    color: #a94442;
    border: 1px solid #a94442; }
  .form .form-group.has-error .button {
    display: none; }

.form .form-checkbox, .form .form-radio {
  display: inline-block; }
  .form .form-checkbox label, .form .form-checkbox .form-group.file .label-file, .form .form-group.file .form-checkbox .label-file, .form .form-radio label, .form .form-radio .form-group.file .label-file, .form .form-group.file .form-radio .label-file {
    cursor: pointer;
    display: flex;
    align-items: center;
    margin: 0; }
  .form .form-checkbox input[type="checkbox"] + label span, .form .form-checkbox .form-group.file input[type="checkbox"] + .label-file span, .form .form-group.file .form-checkbox input[type="checkbox"] + .label-file span, .form .form-radio input[type="checkbox"] + label span, .form .form-radio .form-group.file input[type="checkbox"] + .label-file span, .form .form-group.file .form-radio input[type="checkbox"] + .label-file span {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0 0.625rem 0 0;
    vertical-align: middle;
    border: 1px solid #f6f6f6;
    background: #fff;
    cursor: pointer;
    position: relative; }
  .form .form-checkbox input[type="radio"] + label span, .form .form-checkbox .form-group.file input[type="radio"] + .label-file span, .form .form-group.file .form-checkbox input[type="radio"] + .label-file span, .form .form-radio input[type="radio"] + label span, .form .form-radio .form-group.file input[type="radio"] + .label-file span, .form .form-group.file .form-radio input[type="radio"] + .label-file span {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0 0.625rem 0 0;
    vertical-align: middle;
    border: 1px solid #f6f6f6;
    background: #fff;
    cursor: pointer;
    position: relative;
    border-radius: 50%; }
  .form .form-checkbox input[type="radio"], .form .form-radio input[type="radio"] {
    display: none; }
    .form .form-checkbox input[type="radio"]:checked + label span, .form .form-checkbox .form-group.file input[type="radio"]:checked + .label-file span, .form .form-group.file .form-checkbox input[type="radio"]:checked + .label-file span, .form .form-radio input[type="radio"]:checked + label span, .form .form-radio .form-group.file input[type="radio"]:checked + .label-file span, .form .form-group.file .form-radio input[type="radio"]:checked + .label-file span {
      background: #fff url("../images/icons/bullet.svg") no-repeat center/10px 10px; }
  .form .form-checkbox input[type="checkbox"], .form .form-radio input[type="checkbox"] {
    display: none; }
    .form .form-checkbox input[type="checkbox"]:checked + label span, .form .form-checkbox .form-group.file input[type="checkbox"]:checked + .label-file span, .form .form-group.file .form-checkbox input[type="checkbox"]:checked + .label-file span, .form .form-radio input[type="checkbox"]:checked + label span, .form .form-radio .form-group.file input[type="checkbox"]:checked + .label-file span, .form .form-group.file .form-radio input[type="checkbox"]:checked + .label-file span {
      background: #fff url("../images/icons/check.svg") no-repeat center/contain; }
  .form .form-checkbox.has-error label, .form .form-checkbox.has-error .form-group.file .label-file, .form .form-group.file .form-checkbox.has-error .label-file, .form .form-radio.has-error label, .form .form-radio.has-error .form-group.file .label-file, .form .form-group.file .form-radio.has-error .label-file {
    color: #a94442; }
  .form .form-checkbox.has-error input[type="checkbox"] + label span, .form .form-checkbox.has-error .form-group.file input[type="checkbox"] + .label-file span, .form .form-group.file .form-checkbox.has-error input[type="checkbox"] + .label-file span, .form .form-radio.has-error input[type="checkbox"] + label span, .form .form-radio.has-error .form-group.file input[type="checkbox"] + .label-file span, .form .form-group.file .form-radio.has-error input[type="checkbox"] + .label-file span {
    border: 1px solid #a94442; }
  .form .form-checkbox.has-error input[type="radio"] + label span, .form .form-checkbox.has-error .form-group.file input[type="radio"] + .label-file span, .form .form-group.file .form-checkbox.has-error input[type="radio"] + .label-file span, .form .form-radio.has-error input[type="radio"] + label span, .form .form-radio.has-error .form-group.file input[type="radio"] + .label-file span, .form .form-group.file .form-radio.has-error input[type="radio"] + .label-file span {
    border: 1px solid #a94442; }

.ignore {
  position: absolute;
  left: -9999px; }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 15px 15px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 1; }
  .hamburger.is-active:hover {
    opacity: 1; }
  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
    background-color: #17A6B0; }

.hamburger-box {
  width: 25px;
  height: 17px;
  display: inline-block;
  position: relative; }
  .hamburger-box:before {
    content: 'menu';
    position: absolute;
    text-transform: uppercase;
    top: 1.5625rem;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 0.4375rem;
    line-height: 1.14286; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1.5px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 25px;
    height: 3px;
    background-color: #17A6B0;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -7px;
    right: 0;
    left: auto;
    width: 18px; }
  .hamburger-inner::after {
    bottom: -7px; }

/*
   * 3DX
   */
.hamburger--3dx .hamburger-box {
  perspective: 50px; }

.hamburger--3dx .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(180deg); }
  .hamburger--3dx.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg); }
  .hamburger--3dx.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg); }

/*
   * 3DX Reverse
   */
.hamburger--3dx-r .hamburger-box {
  perspective: 50px; }

.hamburger--3dx-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(-180deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg); }

/*
   * 3DY
   */
.hamburger--3dy .hamburger-box {
  perspective: 50px; }

.hamburger--3dy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(-180deg); }
  .hamburger--3dy.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg); }
  .hamburger--3dy.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg); }

/*
   * 3DY Reverse
   */
.hamburger--3dy-r .hamburger-box {
  perspective: 50px; }

.hamburger--3dy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg); }

/*
   * 3DXY
   */
.hamburger--3dxy .hamburger-box {
  perspective: 50px; }

.hamburger--3dxy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dxy.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg); }
  .hamburger--3dxy.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg); }
  .hamburger--3dxy.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg); }

/*
   * 3DXY Reverse
   */
.hamburger--3dxy-r .hamburger-box {
  perspective: 50px; }

.hamburger--3dxy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dxy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg); }
  .hamburger--3dxy-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg); }
  .hamburger--3dxy-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg); }

/*
   * Arrow
   */
.hamburger--arrow.is-active .hamburger-inner::before {
  transform: translate3d(-5px, 0, 0) rotate(-45deg) scale(0.7, 1); }

.hamburger--arrow.is-active .hamburger-inner::after {
  transform: translate3d(-5px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Arrow Right
   */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  transform: translate3d(5px, 0, 0) rotate(45deg) scale(0.7, 1); }

.hamburger--arrow-r.is-active .hamburger-inner::after {
  transform: translate3d(5px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Arrow Alt
   */
.hamburger--arrowalt .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(-5px, -6.25px, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(-5px, 6.25px, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Arrow Alt Right
   */
.hamburger--arrowalt-r .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(5px, -6.25px, 0) rotate(45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(5px, 6.25px, 0) rotate(-45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Arrow Turn
   */
.hamburger--arrowturn.is-active .hamburger-inner {
  transform: rotate(-180deg); }
  .hamburger--arrowturn.is-active .hamburger-inner::before {
    transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }
  .hamburger--arrowturn.is-active .hamburger-inner::after {
    transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Arrow Turn Right
   */
.hamburger--arrowturn-r.is-active .hamburger-inner {
  transform: rotate(-180deg); }
  .hamburger--arrowturn-r.is-active .hamburger-inner::before {
    transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }
  .hamburger--arrowturn-r.is-active .hamburger-inner::after {
    transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Boring
   */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  transition-property: none; }

.hamburger--boring.is-active .hamburger-inner {
  transform: rotate(45deg); }
  .hamburger--boring.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--boring.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg); }

/*
   * Collapse
   */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse .hamburger-inner::after {
    top: -14px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -7px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Collapse Reverse
   */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse-r .hamburger-inner::after {
    top: -14px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse-r .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse-r.is-active .hamburger-inner {
  transform: translate3d(0, -7px, 0) rotate(45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Elastic
   */
.hamburger--elastic .hamburger-inner {
  top: 1.5px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic .hamburger-inner::before {
    top: 7px;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic .hamburger-inner::after {
    top: 14px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic.is-active .hamburger-inner {
  transform: translate3d(0, 7px, 0) rotate(135deg);
  transition-delay: 0.075s; }
  .hamburger--elastic.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic.is-active .hamburger-inner::after {
    transform: translate3d(0, -14px, 0) rotate(-270deg);
    transition-delay: 0.075s; }

/*
   * Elastic Reverse
   */
.hamburger--elastic-r .hamburger-inner {
  top: 1.5px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic-r .hamburger-inner::before {
    top: 7px;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic-r .hamburger-inner::after {
    top: 14px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic-r.is-active .hamburger-inner {
  transform: translate3d(0, 7px, 0) rotate(-135deg);
  transition-delay: 0.075s; }
  .hamburger--elastic-r.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -14px, 0) rotate(270deg);
    transition-delay: 0.075s; }

/*
   * Emphatic
   */
.hamburger--emphatic {
  overflow: hidden; }
  .hamburger--emphatic .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic .hamburger-inner::before {
      left: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
    .hamburger--emphatic .hamburger-inner::after {
      top: 7px;
      right: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  .hamburger--emphatic.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent !important; }
    .hamburger--emphatic.is-active .hamburger-inner::before {
      left: -50px;
      top: -50px;
      transform: translate3d(50px, 50px, 0) rotate(45deg);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic.is-active .hamburger-inner::after {
      right: -50px;
      top: -50px;
      transform: translate3d(-50px, 50px, 0) rotate(-45deg);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Emphatic Reverse
   */
.hamburger--emphatic-r {
  overflow: hidden; }
  .hamburger--emphatic-r .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::before {
      left: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::after {
      top: 7px;
      right: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  .hamburger--emphatic-r.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent !important; }
    .hamburger--emphatic-r.is-active .hamburger-inner::before {
      left: -50px;
      top: 50px;
      transform: translate3d(50px, -50px, 0) rotate(-45deg);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic-r.is-active .hamburger-inner::after {
      right: -50px;
      top: 50px;
      transform: translate3d(-50px, -50px, 0) rotate(45deg);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Minus
   */
.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {
  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear; }

.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {
  opacity: 0;
  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear; }

.hamburger--minus.is-active .hamburger-inner::before {
  top: 0; }

.hamburger--minus.is-active .hamburger-inner::after {
  bottom: 0; }

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 1.5px; }
  .hamburger--slider .hamburger-inner::before {
    top: 7px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after {
    top: 14px; }

.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 7px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    transform: rotate(-45deg) translate3d(-3.57143px, -4px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    transform: translate3d(0, -14px, 0) rotate(-90deg); }

/*
   * Slider Reverse
   */
.hamburger--slider-r .hamburger-inner {
  top: 1.5px; }
  .hamburger--slider-r .hamburger-inner::before {
    top: 7px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider-r .hamburger-inner::after {
    top: 14px; }

.hamburger--slider-r.is-active .hamburger-inner {
  transform: translate3d(0, 7px, 0) rotate(-45deg); }
  .hamburger--slider-r.is-active .hamburger-inner::before {
    transform: rotate(45deg) translate3d(3.57143px, -4px, 0);
    opacity: 0; }
  .hamburger--slider-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -14px, 0) rotate(90deg); }

/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spin Reverse
   */
.hamburger--spin-r .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin-r .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin-r .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin-r.is-active .hamburger-inner {
  transform: rotate(-225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spring
   */
.hamburger--spring .hamburger-inner {
  top: 1.5px;
  transition: background-color 0s 0.13s linear; }
  .hamburger--spring .hamburger-inner::before {
    top: 7px;
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring .hamburger-inner::after {
    top: 14px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.22s;
  background-color: transparent !important; }
  .hamburger--spring.is-active .hamburger-inner::before {
    top: 0;
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 7px, 0) rotate(45deg); }
  .hamburger--spring.is-active .hamburger-inner::after {
    top: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 7px, 0) rotate(-45deg); }

/*
   * Spring Reverse
   */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring-r .hamburger-inner::after {
    top: -14px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; }
  .hamburger--spring-r .hamburger-inner::before {
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring-r.is-active .hamburger-inner {
  transform: translate3d(0, -7px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spring-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; }
  .hamburger--spring-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(90deg);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand
   */
.hamburger--stand .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  .hamburger--stand .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand.is-active .hamburger-inner {
  transform: rotate(90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  .hamburger--stand.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand Reverse
   */
.hamburger--stand-r .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  .hamburger--stand-r .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand-r .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand-r.is-active .hamburger-inner {
  transform: rotate(-90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  .hamburger--stand-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--squeeze .hamburger-inner::before {
    transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
  .hamburger--squeeze .hamburger-inner::after {
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--squeeze.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
  .hamburger--squeeze.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Vortex
   */
.hamburger--vortex .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex .hamburger-inner::after {
    transition-property: bottom, transform; }

.hamburger--vortex.is-active .hamburger-inner {
  transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg); }

/*
   * Vortex Reverse
   */
.hamburger--vortex-r .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex-r .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex-r .hamburger-inner::after {
    transition-property: bottom, transform; }

.hamburger--vortex-r.is-active .hamburger-inner {
  transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg); }

.header {
  background: #fff; }
  .header .hamburger {
    margin-right: -15px;
    display: flex; }
    @media (min-width: 992px) {
      .header .hamburger {
        display: none;
        margin: 0; } }
  .header .logo {
    width: 100%;
    max-width: 18.75rem;
    display: inline-block; }
    @media screen and (min-width: 450px) {
      .header .logo {
        max-width: 25rem; } }
  .header .navbar-collapse {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 1; }
    @media (min-width: 992px) {
      .header .navbar-collapse {
        width: auto;
        position: static;
        display: flex;
        flex-direction: row;
        align-items: center;
        flex-grow: 0;
        flex-basis: auto; } }
  .header .navbar {
    position: relative;
    padding: 0 15px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media (min-width: 992px) {
      .header .navbar {
        padding: 1.25rem 0; } }
    .header .navbar--top {
      width: 100%; }
    .header .navbar--middle {
      width: 100%; }
    .header .navbar--bottom {
      width: 100%; }
    .header .navbar__wrapper {
      display: flex;
      align-items: center; }
      @media (min-width: 992px) {
        .header .navbar__wrapper {
          order: 1; } }
    .header .navbar__outer {
      margin: 0 -15px; }
      @media (min-width: 992px) {
        .header .navbar__outer {
          margin: 0; } }
  .header .btn {
    margin: 0 0.625rem; }
    .header .btn:last-of-type {
      margin-left: 0;
      margin-right: 0; }
      @media (min-width: 992px) {
        .header .btn:last-of-type {
          margin-left: 0.625rem; } }

.footer {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #fff;
  background: #17A6B0; }
  .footer .text {
    font-size: 0.9375rem;
    line-height: 1.2;
    margin-bottom: 0; }
    @media (min-width: 576px) {
      .footer .text {
        font-size: 1rem;
        line-height: 1.1875; } }
  .footer .link {
    font-size: 1rem;
    line-height: 1.1875;
    color: #fff;
    background: rgba(0, 0, 0, 0); }
    .footer .link:active, .footer .link:hover {
      color: #215673;
      background: rgba(0, 0, 0, 0); }
      .footer .link:active:focus, .footer .link:hover:focus {
        color: #215673;
        background: rgba(0, 0, 0, 0); }
    .footer .link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .footer .link:active:hover {
        box-shadow: none; }
    .footer .link:focus {
      color: #215673;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .footer .link:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
    .footer .link:hover {
      text-decoration: none; }
  .footer .col--left {
    text-align: center; }
    @media (min-width: 768px) {
      .footer .col--left {
        text-align: left; } }
  .footer .col--right {
    text-align: center; }
    @media (min-width: 768px) {
      .footer .col--right {
        text-align: right; } }

.menu {
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style-type: none; }
  @media (min-width: 992px) {
    .menu {
      width: auto;
      flex-direction: row; } }
  @media (min-width: 992px) {
    .menu__item.dropdown .dropdown-menu {
      position: absolute; } }
  .menu__link {
    width: 100%;
    font-size: 1.125rem;
    line-height: 1.33333;
    color: #fff;
    background: #17A6B0;
    text-align: center;
    padding: 0.9375rem 0.625rem;
    transition: 0.3s ease-out;
    display: inline-block;
    text-decoration: none; }
    .menu__link:active, .menu__link:hover {
      color: #fff;
      background: #000; }
      .menu__link:active:focus, .menu__link:hover:focus {
        color: #fff;
        background: #000; }
    .menu__link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .menu__link:active:hover {
        box-shadow: none; }
    .menu__link:focus {
      color: #fff;
      background: #000;
      text-decoration: none; }
      .menu__link:focus:hover {
        background: #000;
        text-decoration: none; }
    @media (min-width: 992px) {
      .menu__link {
        color: #000;
        background: rgba(0, 0, 0, 0); }
        .menu__link:active, .menu__link:hover {
          color: #17A6B0;
          background: rgba(0, 0, 0, 0); }
          .menu__link:active:focus, .menu__link:hover:focus {
            color: #17A6B0;
            background: rgba(0, 0, 0, 0); }
        .menu__link:active {
          box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
          .menu__link:active:hover {
            box-shadow: none; }
        .menu__link:focus {
          color: #17A6B0;
          background: rgba(0, 0, 0, 0);
          text-decoration: none; }
          .menu__link:focus:hover {
            background: rgba(0, 0, 0, 0);
            text-decoration: none; } }
  .menu__dropdown {
    border-radius: 0;
    margin: 0;
    border: 0; }
    @media (min-width: 992px) {
      .menu__dropdown {
        position: absolute; } }
  .menu--aside {
    list-style-type: none;
    padding: 0;
    font-size: 1rem;
    line-height: 1.375;
    margin: 0 0 1.875rem 0; }
    @media (min-width: 768px) {
      .menu--aside.collapse {
        display: inline-block; } }
    .menu--aside__item {
      border-bottom: 1px solid #fff; }
      .menu--aside__item:hover .menu--aside__link:after, .menu--aside__item:active .menu--aside__link:after, .menu--aside__item:focus .menu--aside__link:after, .menu--aside__item:visited .menu--aside__link:after {
        color: #17A6B0; }
      .menu--aside__item.open .menu--aside__link:after {
        transform: rotate(90deg);
        transform-origin: 50% 20%; }
      .menu--aside__item.open .submenu {
        padding: 0.3125rem 0;
        height: auto; }
    .menu--aside__link {
      width: 100%;
      padding: 0.75rem 1.9375rem 0.75rem 0.9375rem;
      color: #fff;
      background: #17A6B0;
      transition: 0.3s ease-out;
      display: inline-block;
      position: relative; }
      .menu--aside__link:active, .menu--aside__link:hover {
        color: #fff;
        background: #17A6B0; }
        .menu--aside__link:active:focus, .menu--aside__link:hover:focus {
          color: #fff;
          background: #17A6B0; }
      .menu--aside__link:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .menu--aside__link:active:hover {
          box-shadow: none; }
      .menu--aside__link:focus {
        color: #fff;
        background: #17A6B0;
        text-decoration: none; }
        .menu--aside__link:focus:hover {
          background: #17A6B0;
          text-decoration: none; }
      .menu--aside__link:after {
        content: '\f105';
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0.9375rem;
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        color: #17A6B0;
        width: 1rem;
        height: 1rem;
        font-size: 1.75rem;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: 0.3s ease-out; }
      .menu--aside__link:hover {
        text-decoration: none; }
    .menu--aside .submenu {
      list-style-type: none;
      padding: 0;
      background: #215673;
      height: 0;
      transition: 0.3s ease-out;
      overflow: hidden; }
      .menu--aside .submenu .menu--aside__item {
        position: relative; }
        .menu--aside .submenu .menu--aside__item:before {
          content: '-';
          position: absolute;
          top: 0.25rem;
          left: 0.9375rem; }
        .menu--aside .submenu .menu--aside__item.open .submenu {
          padding: 0.3125rem 0;
          height: auto; }
      .menu--aside .submenu .menu--aside__link {
        width: 100%;
        color: #215673;
        background: rgba(0, 0, 0, 0);
        font-size: 1rem;
        line-height: 1.375;
        display: inline-block;
        transition: 0.3s ease-out;
        padding: 0.3125rem 0.9375rem 0.3125rem 1.375rem; }
        .menu--aside .submenu .menu--aside__link:active, .menu--aside .submenu .menu--aside__link:hover {
          color: #fff;
          background: #17A6B0; }
          .menu--aside .submenu .menu--aside__link:active:focus, .menu--aside .submenu .menu--aside__link:hover:focus {
            color: #fff;
            background: #17A6B0; }
        .menu--aside .submenu .menu--aside__link:active {
          box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
          .menu--aside .submenu .menu--aside__link:active:hover {
            box-shadow: none; }
        .menu--aside .submenu .menu--aside__link:focus {
          color: #fff;
          background: #17A6B0;
          text-decoration: none; }
          .menu--aside .submenu .menu--aside__link:focus:hover {
            background: #17A6B0;
            text-decoration: none; }
        .menu--aside .submenu .menu--aside__link:after {
          display: none; }
        .menu--aside .submenu .menu--aside__link:hover {
          text-decoration: none; }
      .menu--aside .submenu .submenu {
        height: 0; }
        .menu--aside .submenu .submenu .menu--aside__item {
          border: 0; }
          .menu--aside .submenu .submenu .menu--aside__item:before {
            top: 0.0625rem;
            left: 1.875rem; }
        .menu--aside .submenu .submenu .menu--aside__link {
          font-size: 0.875rem;
          line-height: 1.28571;
          padding: 0.3125rem 0.9375rem 0.3125rem 2.3125rem; }

.browser__block {
  color: #D6D6D6;
  display: none;
  text-align: center;
  background: #a94442;
  padding: 0.9375rem 0.9375rem 0 0.9375rem;
  width: 100%;
  order: -1; }
  @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .browser__block {
      display: inline-block; } }
  @media (min-width: 576px) {
    .browser__block {
      padding: 0.9375rem 15%; } }
  @media (min-width: 992px) {
    .browser__block {
      padding: 0.9375rem 25%; } }
  .browser__block__inner {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap; }

.browser__link {
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column;
  color: #D6D6D6;
  background: rgba(0, 0, 0, 0);
  font-weight: bold;
  font-size: 1.3125rem;
  line-height: 1.14286;
  transition: 0.3s ease-out;
  width: calc(100% / 2 - 2px);
  margin-bottom: 0.9375rem; }
  .browser__link:active, .browser__link:hover {
    color: #A1A1A1;
    background: rgba(0, 0, 0, 0); }
    .browser__link:active:focus, .browser__link:hover:focus {
      color: #A1A1A1;
      background: rgba(0, 0, 0, 0); }
  .browser__link:active {
    box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
    .browser__link:active:hover {
      box-shadow: none; }
  .browser__link:focus {
    color: #A1A1A1;
    background: rgba(0, 0, 0, 0);
    text-decoration: none; }
    .browser__link:focus:hover {
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
  @media screen and (min-width: 400px) {
    .browser__link {
      width: calc(100% / 4 - 2px); } }
  .browser__link:before {
    color: #D6D6D6;
    width: 100%;
    height: 3.75rem;
    font-size: 3.75rem;
    font-family: "Font Awesome Brand", Helvetica, Arial, sans-serif;
    display: block;
    margin-bottom: 0.625rem;
    transition: 0.3s ease-out; }
  .browser__link:hover {
    text-decoration: none; }
    .browser__link:hover:before {
      color: #A1A1A1; }
  .browser__link span {
    font-size: 1rem;
    line-height: 1.125;
    margin-top: 0.3125rem;
    font-weight: normal; }
  .browser__link--chrome:before {
    content: '\f268'; }
  .browser__link--firefox:before {
    content: '\f269'; }
  .browser__link--edge:before {
    content: '\f282'; }
  .browser__link--opera:before {
    content: '\f26a'; }

.browser__title {
  color: #D6D6D6;
  font-weight: bold;
  margin-bottom: 0.3125rem;
  font-size: 1.5rem;
  line-height: 1.16667; }

.browser__text {
  color: #D6D6D6;
  margin-bottom: 0.9375rem; }

.gallery {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px; }
  @media (max-width: 575.98px) {
    .gallery {
      text-align: center;
      justify-content: center; } }
  .gallery .gallery__item {
    position: relative;
    display: inline-block;
    width: 15rem;
    height: 15rem;
    margin: 0 0.9375rem 1.875rem 0.9375rem; }
    @media (min-width: 576px) {
      .gallery .gallery__item {
        width: calc(100% / 3 - 30px);
        height: 9.375rem; } }
    @media (min-width: 768px) {
      .gallery .gallery__item {
        height: 13.125rem; } }
    @media (min-width: 992px) {
      .gallery .gallery__item {
        width: calc(100% / 3 - 30px);
        height: 18.125rem;
        margin: 0 auto 1.875rem auto; } }
    .gallery .gallery__item p, .gallery .gallery__item .h4 {
      color: #fff;
      margin-bottom: 0;
      line-height: 1; }
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
      .gallery .gallery__item .js-box {
        width: 100%;
        height: 100%; } }
    .gallery .gallery__item img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .gallery .gallery__item:before {
      transition: 0.3s ease-out;
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #000;
      opacity: .4; }
    .gallery .gallery__item:hover:before {
      opacity: 0; }
    .gallery .gallery__item .text__box {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      padding: 1.875rem;
      z-index: 1; }
  .gallery--about {
    position: relative;
    display: inline-block;
    margin-bottom: 1.875rem; }
    @media (min-width: 768px) {
      .gallery--about {
        margin-bottom: 0; } }
    .gallery--about:before {
      content: '\f002';
      position: absolute;
      bottom: 1.25rem;
      right: 1.25rem;
      width: 3.125rem;
      height: 3.125rem;
      background: rgba(20, 20, 20, 0.2);
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 1;
      color: #fff;
      font-size: 1.5rem; }

.lb-cancel {
  background: url("../images/icons/loading.gif") no-repeat; }

.lb-nav a.lb-prev {
  background: url("../images/icons/prev.png") left 48% no-repeat;
  opacity: 1; }

.lb-nav a.lb-next {
  background: url("../images/icons/next.png") right 48% no-repeat;
  opacity: 1; }

.lb-data .lb-close {
  background: url("../images/icons/close.png") top right no-repeat; }

.lb-dataContainer {
  top: -40px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%); }

.lightboxOverlay {
  z-index: 100000; }

.lightbox {
  z-index: 100000; }

.product__list {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  justify-content: center;
  margin: 0 -15px; }
  @media (min-width: 576px) {
    .product__list {
      justify-content: flex-start; } }
  .product__list .box {
    width: 100%;
    min-height: 100%;
    margin: 0 15px 1.875rem 15px;
    overflow: hidden;
    box-shadow: 0 2px 8px 0 rgba(51, 51, 51, 0.25);
    display: flex;
    flex-direction: column;
    position: relative; }
    @media (min-width: 576px) {
      .product__list .box {
        width: calc(100% / 2 - 30px);
        max-width: 100%; } }
    @media (min-width: 992px) {
      .product__list .box {
        width: calc(100% / 3 - 30px); } }
    @media (min-width: 1200px) {
      .product__list .box {
        width: calc((100% / 4) - 30px); } }
    .product__list .box .labels {
      position: absolute;
      top: 0.625rem;
      left: 0;
      list-style-type: none;
      padding: 0; }
      .product__list .box .labels li {
        display: none;
        color: #fff;
        background: #00b3ee;
        margin: 0 0 0.3125rem 0;
        padding: 0.3125rem 0.625rem; }
        .product__list .box .labels li.discount {
          background: #00cf86; }
        .product__list .box .labels li.free-delivery {
          background: #ffc129; }
        .product__list .box .labels li.sale {
          background: #1c8efc; }
    .product__list .box.discount .discount {
      display: inherit; }
    .product__list .box.free-delivery .free-delivery {
      display: inherit; }
    .product__list .box.sale .sale {
      display: inherit; }
  .product__list .wrapper__img {
    width: 100%;
    height: 13.75rem; }
    .product__list .wrapper__img img {
      width: 100%;
      height: 13.75rem;
      object-fit: cover; }
  .product__list .wrapper__content {
    height: 100%;
    background: #fff;
    padding: 1.875rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center; }
    @media (min-width: 768px) {
      .product__list .wrapper__content {
        align-items: flex-start; } }
    .product__list .wrapper__content .btn {
      width: 100%;
      min-width: auto;
      max-width: 6.25rem; }
    .product__list .wrapper__content .price {
      font-size: 1rem;
      line-height: 1;
      color: #000;
      margin-bottom: 0;
      font-weight: bold; }
  .product__list .wrapper__content--top {
    width: 100%; }
    .product__list .wrapper__content--top .text-secondary {
      margin-bottom: 0.625rem; }
      .product__list .wrapper__content--top .text-secondary:last-of-type {
        margin-bottom: 1.25rem; }
  .product__list .wrapper__content--bottom {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .product__list .table {
    margin-bottom: 1.25rem; }
    .product__list .table td {
      padding: 0.3125rem 0;
      border-top: 0;
      border-bottom: 1px solid #141414;
      width: 50%; }
      .product__list .table td:nth-of-type(2) {
        text-align: right; }

.header {
  position: relative;
  z-index: 100000;
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16); }
  @media (min-width: 992px) {
    .header .navbar-nav .dropdown-menu {
      position: absolute;
      left: auto; }
      .header .navbar-nav .dropdown-menu .dropdown-menu {
        position: static; } }
  @media (min-width: 992px) {
    .header .navbar {
      padding-top: 0;
      padding-bottom: 0; } }
  .header .navbar--top {
    width: 100%;
    background: #17A6B0;
    z-index: 10001; }
    .header .navbar--top:before {
      content: '';
      position: absolute;
      top: 0;
      left: -500%;
      width: 1000%;
      height: 100%;
      background: #17A6B0;
      z-index: -1; }
    @media (min-width: 992px) {
      .header .navbar--top {
        display: flex;
        justify-content: space-between; } }
  .header .navbar__line {
    background: #f6f6f6;
    width: 0.0625rem;
    height: 4.75rem;
    margin-left: 0.9375rem;
    margin-right: 0.9375rem; }
    @media (min-width: 768px) {
      .header .navbar__line {
        margin-left: 1.875rem;
        margin-right: 1.875rem; } }
  .header .navbar--middle {
    background: #fff;
    padding: 0.9375rem 15px 0.9375rem 15px;
    margin-bottom: 2.625rem;
    position: relative;
    z-index: 10000; }
    @media (min-width: 992px) {
      .header .navbar--middle {
        padding: 0.9375rem 0;
        margin-bottom: 0; } }
    .header .navbar--middle:before {
      content: '';
      position: absolute;
      top: 0;
      left: -500%;
      width: 1000%;
      height: 100%;
      background: #fff;
      z-index: -1; }
  .header .navbar__wrapper--search {
    margin-left: auto; }
    @media (min-width: 992px) {
      .header .navbar__wrapper--search {
        margin-left: 0; }
        .header .navbar__wrapper--search .menu__link {
          display: none; } }
    .header .navbar__wrapper--search .menu__dropdown {
      position: absolute;
      left: 0;
      padding: 0.625rem 0.9375rem;
      background: #457B9D;
      z-index: 10000; }
      @media (min-width: 992px) {
        .header .navbar__wrapper--search .menu__dropdown {
          width: 28.125rem;
          display: block;
          position: relative;
          top: 50%;
          transform: translateY(-50%);
          left: initial;
          background: rgba(0, 0, 0, 0); } }
      @media screen and (min-width: 992px) and (max-width: 1150px) {
        .header .navbar__wrapper--search .menu__dropdown {
          width: 18.75rem; } }
      .header .navbar__wrapper--search .menu__dropdown .input-wrapper {
        border-radius: 0;
        background: #457B9D; }
        .header .navbar__wrapper--search .menu__dropdown .input-wrapper:before {
          display: none; }
        @media (min-width: 992px) {
          .header .navbar__wrapper--search .menu__dropdown .input-wrapper {
            background: rgba(0, 0, 0, 0); } }
        .header .navbar__wrapper--search .menu__dropdown .input-wrapper .btn-find {
          background: rgba(0, 0, 0, 0);
          z-index: 10; }
          .header .navbar__wrapper--search .menu__dropdown .input-wrapper .btn-find:before {
            content: '\f002';
            font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
            color: #fff;
            z-index: 10;
            font-size: 1.5rem;
            line-height: 1;
            background: #17A6B0; }
            @media (min-width: 992px) {
              .header .navbar__wrapper--search .menu__dropdown .input-wrapper .btn-find:before {
                color: #17A6B0;
                background: rgba(0, 0, 0, 0); } }
      .header .navbar__wrapper--search .menu__dropdown .form-control {
        color: #fff;
        height: 3.75rem;
        background: #17A6B0;
        padding: 0.6875rem 1.25rem;
        border-top: 1px solid #17A6B0;
        border-left: 1px solid #17A6B0;
        border-right: 1px solid #17A6B0;
        border-bottom: 1px solid #17A6B0;
        -webkit-appearance: none; }
        @media (min-width: 992px) {
          .header .navbar__wrapper--search .menu__dropdown .form-control {
            border-top: 1px solid #fff;
            border-left: 1px solid #fff;
            border-right: 1px solid #fff;
            border-bottom: 1px solid #17A6B0;
            background: rgba(0, 0, 0, 0);
            height: 3rem;
            color: #141414; } }
        .header .navbar__wrapper--search .menu__dropdown .form-control::placeholder {
          color: #fff; }
          @media (min-width: 992px) {
            .header .navbar__wrapper--search .menu__dropdown .form-control::placeholder {
              color: #141414; } }
      .header .navbar__wrapper--search .menu__dropdown .form-group.search {
        z-index: 1000; }
        .header .navbar__wrapper--search .menu__dropdown .form-group.search .input-wrapper {
          position: relative; }
          .header .navbar__wrapper--search .menu__dropdown .form-group.search .input-wrapper .btn-find {
            width: 3rem;
            height: 100%;
            border-radius: 0 4px 4px 0;
            right: 0;
            position: absolute;
            border: 0; }
      .header .navbar__wrapper--search .menu__dropdown .help-block {
        display: none; }
    .header .navbar__wrapper--search .menu__item {
      position: initial; }
    .header .navbar__wrapper--search .menu__link {
      position: relative;
      color: #fff;
      background: rgba(0, 0, 0, 0);
      padding: 0;
      border: 0;
      font-weight: normal; }
      .header .navbar__wrapper--search .menu__link:active, .header .navbar__wrapper--search .menu__link:hover {
        color: #B0D9DC;
        background: rgba(0, 0, 0, 0); }
        .header .navbar__wrapper--search .menu__link:active:focus, .header .navbar__wrapper--search .menu__link:hover:focus {
          color: #B0D9DC;
          background: rgba(0, 0, 0, 0); }
      .header .navbar__wrapper--search .menu__link:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .header .navbar__wrapper--search .menu__link:active:hover {
          box-shadow: none; }
      .header .navbar__wrapper--search .menu__link:focus {
        color: #B0D9DC;
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
        .header .navbar__wrapper--search .menu__link:focus:hover {
          background: rgba(0, 0, 0, 0);
          text-decoration: none; }
      @media (min-width: 992px) {
        .header .navbar__wrapper--search .menu__link {
          padding: 0.625rem; } }
      .header .navbar__wrapper--search .menu__link:before {
        font-size: 1.625rem;
        content: '\f002';
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        display: none; }
        @media (min-width: 992px) {
          .header .navbar__wrapper--search .menu__link:before {
            display: inline-block; } }
      .header .navbar__wrapper--search .menu__link:after {
        display: none; }
  .header .navbar-collapse {
    z-index: 1000; }
    @media (min-width: 992px) {
      .header .navbar-collapse {
        width: calc(100% + 30px);
        display: flex;
        justify-content: space-between;
        margin: 0 -15px; } }
    .header .navbar-collapse > .menu:after {
      content: '';
      position: absolute;
      top: 0;
      left: -500%;
      width: 1000%;
      height: 100%;
      z-index: -1;
      background: #B0D9DC;
      -webkit-transform: translate3d(0, 0, 0);
      box-shadow: 0 4px 20px rgba(102, 102, 102, 0.2); }

.btn:not(.def) {
  padding: 0.875rem;
  font-size: 1rem;
  line-height: 1;
  border: 0;
  border-radius: 0;
  transition: 0.3s ease-out; }

.btn--cart {
  display: flex;
  color: #141414;
  background: rgba(0, 0, 0, 0);
  position: relative; }
  .btn--cart:active, .btn--cart:hover {
    color: #17A6B0;
    background: rgba(0, 0, 0, 0); }
    .btn--cart:active:focus, .btn--cart:hover:focus {
      color: #17A6B0;
      background: rgba(0, 0, 0, 0); }
  .btn--cart:active {
    box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
    .btn--cart:active:hover {
      box-shadow: none; }
  .btn--cart:focus {
    color: #17A6B0;
    background: rgba(0, 0, 0, 0);
    text-decoration: none; }
    .btn--cart:focus:hover {
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
  .btn--cart:after {
    content: attr(data-count);
    position: absolute;
    top: 0.1875rem;
    left: 1.6875rem;
    width: 1.25rem;
    height: 1.25rem;
    color: #fff;
    background: #215673;
    border-radius: 50%;
    font-size: 0.5rem;
    line-height: 1.125;
    display: flex;
    align-items: center;
    justify-content: center; }
  .btn--cart .btn--cart__inner {
    display: none;
    font-weight: normal;
    text-transform: uppercase;
    margin-left: 0.625rem;
    text-align: left;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .btn--cart .btn--cart__inner {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    .btn--cart .btn--cart__inner:hover div {
      text-decoration: none; }
    .btn--cart .btn--cart__inner div {
      color: #17A6B0;
      text-decoration: underline;
      text-transform: none;
      margin-top: 0.3125rem;
      font-size: 0.9375rem;
      line-height: 1.2; }
      @media (min-width: 576px) {
        .btn--cart .btn--cart__inner div {
          font-size: 0.875rem;
          line-height: 1.14286; } }
      .btn--cart .btn--cart__inner div:hover {
        text-decoration: none; }
  @media (min-width: 992px) {
    .btn--cart {
      display: flex; }
      .btn--cart .btn--cart__inner {
        display: inline-block; } }
  .btn--cart--1 {
    position: relative; }
    .btn--cart--1:before {
      content: '\f07a';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      margin-right: 0.5rem;
      font-weight: normal;
      font-size: 0.875rem; }

.btn--favourite {
  display: none; }
  @media (min-width: 992px) {
    .btn--favourite {
      display: flex; } }

.btn--like {
  position: absolute;
  top: 0.625rem;
  right: 1.875rem; }
  .btn--like:before {
    content: '\f004';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
    color: #17A6B0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.875rem;
    font-weight: normal;
    transition: 0.3s ease-out; }
  .btn--like.active:before {
    font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif; }
  .btn--like:hover:before {
    font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif; }

.btn--add:not(.def) {
  color: #fff;
  background: #39B94B;
  font-size: 1.125rem;
  line-height: 1.16667;
  position: relative;
  padding: 0.75rem 1.875rem;
  margin-bottom: 1.25rem; }
  .btn--add:not(.def):active, .btn--add:not(.def):hover {
    color: #fff;
    background: #56C365; }
    .btn--add:not(.def):active:focus, .btn--add:not(.def):hover:focus {
      color: #fff;
      background: #56C365; }
  .btn--add:not(.def):active {
    box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
    .btn--add:not(.def):active:hover {
      box-shadow: none; }
  .btn--add:not(.def):focus {
    color: #fff;
    background: #56C365;
    text-decoration: none; }
    .btn--add:not(.def):focus:hover {
      background: #56C365;
      text-decoration: none; }
  .btn--add:not(.def):before {
    content: '\f07a';
    font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
    margin-right: 0.5rem;
    font-weight: normal;
    font-size: 0.875rem; }

.btn--success:not(.def) {
  color: #fff;
  background: #1FD47E;
  font-size: 1.125rem;
  line-height: 1.16667;
  position: relative;
  padding: 0.75rem 1.875rem;
  margin-bottom: 1.25rem; }
  .btn--success:not(.def):active, .btn--success:not(.def):hover {
    color: #fff;
    background: #FF5966; }
    .btn--success:not(.def):active:focus, .btn--success:not(.def):hover:focus {
      color: #fff;
      background: #FF5966; }
  .btn--success:not(.def):active {
    box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
    .btn--success:not(.def):active:hover {
      box-shadow: none; }
  .btn--success:not(.def):focus {
    color: #fff;
    background: #FF5966;
    text-decoration: none; }
    .btn--success:not(.def):focus:hover {
      background: #FF5966;
      text-decoration: none; }
  .btn--success:not(.def):before {
    content: '\f09d';
    font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif;
    margin-right: 0.5rem;
    font-weight: normal;
    font-size: 0.875rem; }

.btn--login:not(.def) {
  color: #fff;
  background: #215673;
  font-size: 1.125rem;
  line-height: 1.16667;
  padding: 0.75rem 1.875rem;
  position: relative; }
  .btn--login:not(.def):active, .btn--login:not(.def):hover {
    color: #fff;
    background: #17A6B0; }
    .btn--login:not(.def):active:focus, .btn--login:not(.def):hover:focus {
      color: #fff;
      background: #17A6B0; }
  .btn--login:not(.def):active {
    box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
    .btn--login:not(.def):active:hover {
      box-shadow: none; }
  .btn--login:not(.def):focus {
    color: #fff;
    background: #17A6B0;
    text-decoration: none; }
    .btn--login:not(.def):focus:hover {
      background: #17A6B0;
      text-decoration: none; }
  .btn--login:not(.def):before {
    content: '\f007';
    font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
    margin-right: 0.5rem;
    font-weight: normal;
    font-size: 0.875rem; }

.btn--order:not(.def) {
  color: #fff;
  background: #39B94B;
  font-size: 1.125rem;
  line-height: 1.16667;
  padding: 0.75rem 1.875rem; }
  .btn--order:not(.def):active, .btn--order:not(.def):hover {
    color: #fff;
    background: #27A338; }
    .btn--order:not(.def):active:focus, .btn--order:not(.def):hover:focus {
      color: #fff;
      background: #27A338; }
  .btn--order:not(.def):active {
    box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
    .btn--order:not(.def):active:hover {
      box-shadow: none; }
  .btn--order:not(.def):focus {
    color: #fff;
    background: #27A338;
    text-decoration: none; }
    .btn--order:not(.def):focus:hover {
      background: #27A338;
      text-decoration: none; }

.btn.ico {
  width: 3.125rem;
  height: 3.125rem;
  align-items: center;
  justify-content: center;
  padding: 0.625rem; }
  .btn.ico:before {
    font-size: 1.625rem;
    font-weight: normal;
    color: #17A6B0;
    transition: 0.3s ease-out; }
  .btn.ico.active:before {
    font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif; }
  .btn.ico:hover:before {
    color: #17A6B0; }
  .btn.ico:hover div {
    text-decoration: none; }
  .btn.ico--cart {
    width: auto;
    padding: 0.625rem; }
    @media (min-width: 992px) {
      .btn.ico--cart {
        padding: 0.625rem 0 0.625rem 0.625rem; } }
    .btn.ico--cart:before {
      content: '\f07a';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif; }
    .btn.ico--cart--1 {
      position: relative; }
      .btn.ico--cart--1:before {
        content: '\f07a';
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        margin-right: 0.5rem;
        font-size: 0.875rem; }
  .btn.ico--favourite:before {
    content: '\f004';
    font-family: "Font Awesome Light", Helvetica, Arial, sans-serif; }
  .btn.ico--like {
    position: relative;
    width: auto;
    height: auto;
    align-items: center;
    justify-content: center;
    padding: 0.875rem;
    display: inline-flex; }
    .btn.ico--like:before {
      content: '\f004';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      margin-right: 0.5rem;
      font-size: 0.875rem;
      transition: 0.3s ease-out; }
    .btn.ico--like:hover:before {
      color: #fff; }
  .btn.ico--home {
    position: relative; }
    .btn.ico--home:before {
      content: '\f80a';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      margin-right: 0.5rem;
      font-size: 0.875rem; }
  .btn.ico--user {
    position: relative; }
    .btn.ico--user:before {
      content: '\f4fe';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      margin-right: 0.5rem;
      font-size: 0.875rem; }
  .btn.ico--logout {
    position: relative; }
    .btn.ico--logout:before {
      content: '\f2f5';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      margin-right: 0.5rem;
      font-size: 0.875rem; }
  .btn.ico--save {
    position: relative; }
    .btn.ico--save:before {
      content: '\f01e';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      margin-right: 0.5rem;
      font-size: 0.875rem; }

.btn--1:not(.def) {
  color: #fff;
  background: #17A6B0;
  font-size: 1.125rem;
  line-height: 1.16667;
  padding: 0.75rem 1.875rem; }
  .btn--1:not(.def):active, .btn--1:not(.def):hover {
    color: #fff;
    background: #457B9D; }
    .btn--1:not(.def):active:focus, .btn--1:not(.def):hover:focus {
      color: #fff;
      background: #457B9D; }
  .btn--1:not(.def):active {
    box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
    .btn--1:not(.def):active:hover {
      box-shadow: none; }
  .btn--1:not(.def):focus {
    color: #fff;
    background: #457B9D;
    text-decoration: none; }
    .btn--1:not(.def):focus:hover {
      background: #457B9D;
      text-decoration: none; }

.btn--2:not(.def) {
  color: #fff;
  background: #215673;
  font-size: 1.125rem;
  line-height: 1.16667;
  padding: 0.75rem 1.875rem; }
  .btn--2:not(.def):active, .btn--2:not(.def):hover {
    color: #fff;
    background: #17A6B0; }
    .btn--2:not(.def):active:focus, .btn--2:not(.def):hover:focus {
      color: #fff;
      background: #17A6B0; }
  .btn--2:not(.def):active {
    box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
    .btn--2:not(.def):active:hover {
      box-shadow: none; }
  .btn--2:not(.def):focus {
    color: #fff;
    background: #17A6B0;
    text-decoration: none; }
    .btn--2:not(.def):focus:hover {
      background: #17A6B0;
      text-decoration: none; }

.btn--3:not(.def) {
  color: #fff;
  background: #39B94B;
  font-size: 1.125rem;
  line-height: 1.16667;
  padding: 0.75rem 1.875rem; }
  .btn--3:not(.def):active, .btn--3:not(.def):hover {
    color: #fff;
    background: #56C365; }
    .btn--3:not(.def):active:focus, .btn--3:not(.def):hover:focus {
      color: #fff;
      background: #56C365; }
  .btn--3:not(.def):active {
    box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
    .btn--3:not(.def):active:hover {
      box-shadow: none; }
  .btn--3:not(.def):focus {
    color: #fff;
    background: #56C365;
    text-decoration: none; }
    .btn--3:not(.def):focus:hover {
      background: #56C365;
      text-decoration: none; }

.btn--4:not(.def) {
  color: #fff;
  background: #39B94B;
  font-size: 1.125rem;
  line-height: 1.16667;
  padding: 1.25rem 1.875rem;
  font-weight: bold;
  position: relative; }
  .btn--4:not(.def):active, .btn--4:not(.def):hover {
    color: #fff;
    background: #56C365; }
    .btn--4:not(.def):active:focus, .btn--4:not(.def):hover:focus {
      color: #fff;
      background: #56C365; }
  .btn--4:not(.def):active {
    box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
    .btn--4:not(.def):active:hover {
      box-shadow: none; }
  .btn--4:not(.def):focus {
    color: #fff;
    background: #56C365;
    text-decoration: none; }
    .btn--4:not(.def):focus:hover {
      background: #56C365;
      text-decoration: none; }
  .btn--4:not(.def):after {
    content: '\f178';
    font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
    font-weight: normal;
    margin-left: 0.625rem; }
  .btn--4:not(.def).ico--check:after {
    content: '\f058';
    font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif;
    font-weight: normal;
    margin-left: 0.625rem; }

.menu .menu__add {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  color: #fff;
  background: #457B9D;
  display: none;
  padding: 2.5rem; }
  .menu .menu__add .btn {
    margin: 0; }
  .menu .menu__add__link {
    color: #fff;
    background: rgba(0, 0, 0, 0); }
    .menu .menu__add__link:active, .menu .menu__add__link:hover {
      color: #fff;
      background: rgba(0, 0, 0, 0); }
      .menu .menu__add__link:active:focus, .menu .menu__add__link:hover:focus {
        color: #fff;
        background: rgba(0, 0, 0, 0); }
    .menu .menu__add__link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .menu .menu__add__link:active:hover {
        box-shadow: none; }
    .menu .menu__add__link:focus {
      color: #fff;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .menu .menu__add__link:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
    .menu .menu__add__link:hover {
      text-decoration: none; }
  @media (min-width: 992px) {
    .menu .menu__add {
      display: inline-block; } }

.menu .menu__item--divider {
  display: flex;
  align-items: center; }
  @media (min-width: 992px) {
    .menu .menu__item--divider {
      display: none; } }
  .menu .menu__item--divider--1 {
    color: #B0D9DC;
    margin: 0 0.625rem;
    font-size: 0.75rem;
    display: none; }
    @media (min-width: 576px) {
      .menu .menu__item--divider--1 {
        display: inline-block; } }
  .menu .menu__item--divider .menu__link {
    text-align: center;
    color: #fff;
    background: #457B9D;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-weight: normal;
    padding: 1rem 15px;
    border: 0;
    font-size: 0.9375rem;
    line-height: 1.2; }
    .menu .menu__item--divider .menu__link:active, .menu .menu__item--divider .menu__link:hover {
      color: #fff;
      background: #B0D9DC; }
      .menu .menu__item--divider .menu__link:active:focus, .menu .menu__item--divider .menu__link:hover:focus {
        color: #fff;
        background: #B0D9DC; }
    .menu .menu__item--divider .menu__link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .menu .menu__item--divider .menu__link:active:hover {
        box-shadow: none; }
    .menu .menu__item--divider .menu__link:focus {
      color: #fff;
      background: #B0D9DC;
      text-decoration: none; }
      .menu .menu__item--divider .menu__link:focus:hover {
        background: #B0D9DC;
        text-decoration: none; }
    @media (min-width: 576px) {
      .menu .menu__item--divider .menu__link {
        font-size: 0.875rem;
        line-height: 1.14286; } }
    .menu .menu__item--divider .menu__link:before {
      font-size: 1.4375rem;
      content: '';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      margin-right: 0.5rem; }
    .menu .menu__item--divider .menu__link.active:before {
      font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif; }
    .menu .menu__item--divider .menu__link:after {
      display: none; }
    .menu .menu__item--divider .menu__link:hover {
      text-decoration: none; }
    .menu .menu__item--divider .menu__link--user:before {
      content: '\f007'; }
    .menu .menu__item--divider .menu__link--favourite:before {
      content: '\f004'; }

.menu .menu__item--dropdown {
  display: flex;
  justify-content: space-between; }
  @media (min-width: 992px) {
    .menu .menu__item--dropdown > .menu__link {
      position: relative; }
      .menu .menu__item--dropdown > .menu__link:after {
        font-size: 1.25rem;
        height: 1.25rem;
        content: '\f107';
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        font-weight: normal;
        margin-left: 0.875rem;
        transition: 0.3s ease-out;
        display: flex;
        align-items: flex-end; }
      .menu .menu__item--dropdown > .menu__link:hover:after {
        transform: rotate(180deg); } }

@media (min-width: 992px) {
  .menu .menu__item.dropdown-submenu:before {
    content: '';
    position: fixed;
    background: rgba(20, 20, 20, 0.6);
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
    pointer-events: none; }
  .menu .menu__item.dropdown-submenu:hover > .dropdown-menu {
    display: flex;
    flex-wrap: wrap;
    left: 0;
    width: 100%; }
    .menu .menu__item.dropdown-submenu:hover > .dropdown-menu .dropdown-menu {
      display: inline-block; }
    .menu .menu__item.dropdown-submenu:hover > .dropdown-menu .dropdown-submenu {
      width: calc(100% / 3 - 2.5rem);
      margin: 0 1.25rem; } }
    @media screen and (min-width: 992px) and (min-width: 1200px) {
      .menu .menu__item.dropdown-submenu:hover > .dropdown-menu .dropdown-submenu {
        width: calc(100% / 4 - 2.5rem); } }
    @media (min-width: 992px) and (min-width: 992px) {
      .menu .menu__item.dropdown-submenu:hover > .dropdown-menu .dropdown-submenu {
        margin: 1.25rem; }
        .menu .menu__item.dropdown-submenu:hover > .dropdown-menu .dropdown-submenu .menu__link:after {
          display: none; } }

@media (min-width: 992px) {
    .menu .menu__item.dropdown-submenu:hover > .dropdown-menu .menu__dropdown__toggler {
      display: none; }
    .menu .menu__item.dropdown-submenu:hover > .dropdown-menu.menu--default {
      width: auto;
      left: auto; }
      .menu .menu__item.dropdown-submenu:hover > .dropdown-menu.menu--default .menu__item--dropdown {
        flex-direction: column; }
      .menu .menu__item.dropdown-submenu:hover > .dropdown-menu.menu--default .dropdown-submenu {
        min-width: 18.75rem; }
  .menu .menu__item.dropdown-submenu:hover:before {
    opacity: 1; } }

.menu .menu__link {
  text-align: left;
  padding: 0.625rem 15px;
  color: #17A6B0;
  background: #B0D9DC;
  text-transform: uppercase;
  font-weight: bold;
  display: flex;
  align-items: center;
  font-size: 1rem;
  line-height: 1.1875;
  border-bottom: 1px solid #fff;
  min-height: 3.4375rem; }
  .menu .menu__link:active, .menu .menu__link:hover {
    color: #fff;
    background: #457B9D; }
    .menu .menu__link:active:focus, .menu .menu__link:hover:focus {
      color: #fff;
      background: #457B9D; }
  .menu .menu__link:active {
    box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
    .menu .menu__link:active:hover {
      box-shadow: none; }
  .menu .menu__link:focus {
    color: #fff;
    background: #457B9D;
    text-decoration: none; }
    .menu .menu__link:focus:hover {
      background: #457B9D;
      text-decoration: none; }
  @media (min-width: 992px) {
    .menu .menu__link {
      padding: 1.0625rem 15px;
      min-height: auto;
      border-bottom: 0;
      color: #17A6B0; }
      .menu .menu__link:active, .menu .menu__link:hover {
        color: #fff;
        background: #B0D9DC; }
        .menu .menu__link:active:focus, .menu .menu__link:hover:focus {
          color: #fff;
          background: #B0D9DC; }
      .menu .menu__link:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .menu .menu__link:active:hover {
          box-shadow: none; }
      .menu .menu__link:focus {
        color: #fff;
        background: #B0D9DC;
        text-decoration: none; }
        .menu .menu__link:focus:hover {
          background: #B0D9DC;
          text-decoration: none; } }
  .menu .menu__link:hover {
    text-decoration: none; }

.menu .menu__dropdown {
  width: 100%; }
  @media (min-width: 992px) {
    .menu .menu__dropdown {
      position: absolute; } }
  .menu .menu__dropdown__item {
    width: calc(100% / 2); }
  .menu .menu__dropdown__inner {
    width: 100%; }
  .menu .menu__dropdown__toggler {
    position: relative;
    width: 3.6875rem;
    min-width: 3.6875rem;
    min-height: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media (min-width: 992px) {
      .menu .menu__dropdown__toggler {
        display: none; }
        .menu .menu__dropdown__toggler.menu__link {
          padding: 0.3125rem; } }
    .menu .menu__dropdown__toggler:after {
      font-size: 1.625rem;
      content: '\f107';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      font-weight: normal; }
    .menu .menu__dropdown__toggler.open:after {
      content: '\f106'; }
  .menu .menu__dropdown--lang {
    min-width: 7.5rem;
    position: absolute;
    background: #457B9D; }
    .menu .menu__dropdown--lang .dropdown-item {
      text-align: left;
      padding: 0.75rem 0.625rem;
      color: #B0D9DC;
      background: rgba(0, 0, 0, 0);
      transition: 0.3s ease-out;
      font-size: 0.9375rem;
      line-height: 1.2; }
      .menu .menu__dropdown--lang .dropdown-item:active, .menu .menu__dropdown--lang .dropdown-item:hover {
        color: #fff;
        background: rgba(0, 0, 0, 0); }
        .menu .menu__dropdown--lang .dropdown-item:active:focus, .menu .menu__dropdown--lang .dropdown-item:hover:focus {
          color: #fff;
          background: rgba(0, 0, 0, 0); }
      .menu .menu__dropdown--lang .dropdown-item:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .menu .menu__dropdown--lang .dropdown-item:active:hover {
          box-shadow: none; }
      .menu .menu__dropdown--lang .dropdown-item:focus {
        color: #fff;
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
        .menu .menu__dropdown--lang .dropdown-item:focus:hover {
          background: rgba(0, 0, 0, 0);
          text-decoration: none; }
      @media (min-width: 576px) {
        .menu .menu__dropdown--lang .dropdown-item {
          padding: 0.5rem 0.625rem;
          font-size: 0.75rem;
          line-height: 1.16667; } }
  .menu .menu__dropdown--currency {
    min-width: auto;
    position: absolute;
    background: #457B9D; }
    .menu .menu__dropdown--currency .dropdown-item {
      text-align: left;
      padding: 0.3125rem 0.625rem;
      color: #B0D9DC;
      background: rgba(0, 0, 0, 0);
      transition: 0.3s ease-out;
      font-size: 0.9375rem;
      line-height: 1.2; }
      .menu .menu__dropdown--currency .dropdown-item:active, .menu .menu__dropdown--currency .dropdown-item:hover {
        color: #fff;
        background: rgba(0, 0, 0, 0); }
        .menu .menu__dropdown--currency .dropdown-item:active:focus, .menu .menu__dropdown--currency .dropdown-item:hover:focus {
          color: #fff;
          background: rgba(0, 0, 0, 0); }
      .menu .menu__dropdown--currency .dropdown-item:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .menu .menu__dropdown--currency .dropdown-item:active:hover {
          box-shadow: none; }
      .menu .menu__dropdown--currency .dropdown-item:focus {
        color: #fff;
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
        .menu .menu__dropdown--currency .dropdown-item:focus:hover {
          background: rgba(0, 0, 0, 0);
          text-decoration: none; }
      @media (min-width: 576px) {
        .menu .menu__dropdown--currency .dropdown-item {
          font-size: 0.75rem;
          line-height: 1.16667; } }

.menu .menu.dropdown-menu {
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
  z-index: 1; }
  @media (min-width: 992px) {
    .menu .menu.dropdown-menu.lvl--first {
      padding: 1.25rem; } }
  .menu .menu.dropdown-menu.open {
    display: block; }
  .menu .menu.dropdown-menu .menu__link {
    font-weight: normal;
    color: #17A6B0;
    background: #fff;
    font-size: 1rem;
    line-height: 1.1875;
    padding: 0.3125rem 15px 0.3125rem 1.5625rem;
    min-height: 3.4375rem;
    border-bottom: 1px solid #B0D9DC; }
    .menu .menu.dropdown-menu .menu__link:active, .menu .menu.dropdown-menu .menu__link:hover {
      color: #fff;
      background: #457B9D; }
      .menu .menu.dropdown-menu .menu__link:active:focus, .menu .menu.dropdown-menu .menu__link:hover:focus {
        color: #fff;
        background: #457B9D; }
    .menu .menu.dropdown-menu .menu__link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .menu .menu.dropdown-menu .menu__link:active:hover {
        box-shadow: none; }
    .menu .menu.dropdown-menu .menu__link:focus {
      color: #fff;
      background: #457B9D;
      text-decoration: none; }
      .menu .menu.dropdown-menu .menu__link:focus:hover {
        background: #457B9D;
        text-decoration: none; }
    @media (min-width: 992px) {
      .menu .menu.dropdown-menu .menu__link {
        border-bottom: 0;
        min-height: auto;
        color: #17A6B0;
        background: rgba(0, 0, 0, 0);
        padding: 0.3125rem 1.25rem; }
        .menu .menu.dropdown-menu .menu__link:active, .menu .menu.dropdown-menu .menu__link:hover {
          color: #B0D9DC;
          background: rgba(0, 0, 0, 0); }
          .menu .menu.dropdown-menu .menu__link:active:focus, .menu .menu.dropdown-menu .menu__link:hover:focus {
            color: #B0D9DC;
            background: rgba(0, 0, 0, 0); }
        .menu .menu.dropdown-menu .menu__link:active {
          box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
          .menu .menu.dropdown-menu .menu__link:active:hover {
            box-shadow: none; }
        .menu .menu.dropdown-menu .menu__link:focus {
          color: #B0D9DC;
          background: rgba(0, 0, 0, 0);
          text-decoration: none; }
          .menu .menu.dropdown-menu .menu__link:focus:hover {
            background: rgba(0, 0, 0, 0);
            text-decoration: none; } }
    .menu .menu.dropdown-menu .menu__link .img-fluid {
      margin-right: 0.9375rem;
      max-width: 2.3125rem; }
      @media (min-width: 992px) {
        .menu .menu.dropdown-menu .menu__link .img-fluid {
          max-width: 2.9375rem; } }
    .menu .menu.dropdown-menu .menu__link.menu__dropdown__toggler {
      padding: 0; }
  @media (min-width: 992px) {
    .menu .menu.dropdown-menu .dropdown-menu > li {
      margin-left: 5.625rem; } }
  .menu .menu.dropdown-menu .dropdown-menu .menu__link {
    color: #17A6B0;
    background: #DAFDFF;
    text-transform: none;
    position: relative;
    padding: 0.3125rem 15px 0.3125rem 2.8125rem;
    font-size: 0.9375rem;
    line-height: 1.2; }
    .menu .menu.dropdown-menu .dropdown-menu .menu__link:active, .menu .menu.dropdown-menu .dropdown-menu .menu__link:hover {
      color: #fff;
      background: #457B9D; }
      .menu .menu.dropdown-menu .dropdown-menu .menu__link:active:focus, .menu .menu.dropdown-menu .dropdown-menu .menu__link:hover:focus {
        color: #fff;
        background: #457B9D; }
    .menu .menu.dropdown-menu .dropdown-menu .menu__link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .menu .menu.dropdown-menu .dropdown-menu .menu__link:active:hover {
        box-shadow: none; }
    .menu .menu.dropdown-menu .dropdown-menu .menu__link:focus {
      color: #fff;
      background: #457B9D;
      text-decoration: none; }
      .menu .menu.dropdown-menu .dropdown-menu .menu__link:focus:hover {
        background: #457B9D;
        text-decoration: none; }
    @media (min-width: 576px) {
      .menu .menu.dropdown-menu .dropdown-menu .menu__link {
        font-size: 0.875rem;
        line-height: 1.14286; } }
    @media (min-width: 992px) {
      .menu .menu.dropdown-menu .dropdown-menu .menu__link {
        padding: 0.3125rem 0.9375rem 0.3125rem 0.9375rem;
        color: #17A6B0;
        background: rgba(0, 0, 0, 0); }
        .menu .menu.dropdown-menu .dropdown-menu .menu__link:active, .menu .menu.dropdown-menu .dropdown-menu .menu__link:hover {
          color: #B0D9DC;
          background: rgba(0, 0, 0, 0); }
          .menu .menu.dropdown-menu .dropdown-menu .menu__link:active:focus, .menu .menu.dropdown-menu .dropdown-menu .menu__link:hover:focus {
            color: #B0D9DC;
            background: rgba(0, 0, 0, 0); }
        .menu .menu.dropdown-menu .dropdown-menu .menu__link:active {
          box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
          .menu .menu.dropdown-menu .dropdown-menu .menu__link:active:hover {
            box-shadow: none; }
        .menu .menu.dropdown-menu .dropdown-menu .menu__link:focus {
          color: #B0D9DC;
          background: rgba(0, 0, 0, 0);
          text-decoration: none; }
          .menu .menu.dropdown-menu .dropdown-menu .menu__link:focus:hover {
            background: rgba(0, 0, 0, 0);
            text-decoration: none; } }
    .menu .menu.dropdown-menu .dropdown-menu .menu__link:before {
      content: '-';
      margin-right: 0.375rem; }
      @media (min-width: 992px) {
        .menu .menu.dropdown-menu .dropdown-menu .menu__link:before {
          margin-right: 0;
          position: absolute;
          top: 0.3125rem;
          left: 0; } }
    .menu .menu.dropdown-menu .dropdown-menu .menu__link.more:before {
      content: '+'; }

.menu--top {
  display: flex;
  align-items: center;
  margin: 0 0;
  flex-direction: row; }
  .menu--top .menu__item:first-of-type .menu__link {
    padding-left: 0; }
  .menu--top .menu__item:last-of-type .menu__link {
    padding-right: 0; }
  .menu--top .menu__link {
    color: #fff;
    background: rgba(0, 0, 0, 0);
    text-transform: none;
    text-decoration: none;
    font-weight: normal;
    padding: 0.4375rem 0.625rem;
    font-size: 0.9375rem;
    line-height: 1.2;
    border-bottom: 0; }
    .menu--top .menu__link:active, .menu--top .menu__link:hover {
      color: #fff;
      background: rgba(0, 0, 0, 0); }
      .menu--top .menu__link:active:focus, .menu--top .menu__link:hover:focus {
        color: #fff;
        background: rgba(0, 0, 0, 0); }
    .menu--top .menu__link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .menu--top .menu__link:active:hover {
        box-shadow: none; }
    .menu--top .menu__link:focus {
      color: #fff;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .menu--top .menu__link:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
    .menu--top .menu__link:hover {
      text-decoration: underline; }
    @media (min-width: 576px) {
      .menu--top .menu__link {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    .menu--top .menu__link--divider {
      position: relative; }
      .menu--top .menu__link--divider:after {
        content: '│';
        position: absolute;
        right: -0.3125rem; }
    .menu--top .menu__link--lang {
      position: relative;
      padding: 0.9375rem 1.25rem 0.9375rem 1.375rem;
      min-height: auto; }
      @media (min-width: 576px) {
        .menu--top .menu__link--lang {
          padding: 0.4375rem 0.625rem 0.4375rem 1.75rem; } }
      .menu--top .menu__link--lang:before {
        content: '\f57d';
        position: absolute;
        left: 0;
        font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif; }
        @media (min-width: 576px) {
          .menu--top .menu__link--lang:before {
            left: 0.625rem; } }
    .menu--top .menu__link--currency {
      position: relative;
      padding: 0.9375rem 0.625rem 0.9375rem 1.375rem;
      min-height: auto; }
      @media (min-width: 576px) {
        .menu--top .menu__link--currency {
          padding: 0.4375rem 0.625rem 0.4375rem 1.75rem; } }
      .menu--top .menu__link--currency:before {
        content: '\f51e';
        position: absolute;
        left: 0;
        font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif; }
        @media (min-width: 576px) {
          .menu--top .menu__link--currency:before {
            left: 0.625rem; } }

.menu--category.menu {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.3125rem 1.25rem -0.3125rem;
  flex-direction: row; }
  .menu--category.menu .menu__item {
    margin: 0 0.3125rem 0.625rem 0.3125rem;
    width: calc(100% / 2 - 0.625rem); }
    @media (min-width: 576px) {
      .menu--category.menu .menu__item {
        width: calc(100% / 3 - 0.625rem); } }
    @media (min-width: 768px) {
      .menu--category.menu .menu__item {
        width: calc(100% / 4 - 0.625rem); } }
  .menu--category.menu .menu__link {
    padding: 0.625rem 0.9375rem 0.625rem 0.9375rem;
    border: 1px solid #D6D6D6;
    text-transform: none;
    color: #17A6B0;
    background: rgba(0, 0, 0, 0);
    position: relative;
    min-height: 100%;
    font-weight: normal;
    display: inline-block;
    font-size: 0.9375rem;
    line-height: 1.2; }
    .menu--category.menu .menu__link:active, .menu--category.menu .menu__link:hover {
      color: #457B9D;
      background: #f6f6f6; }
      .menu--category.menu .menu__link:active:focus, .menu--category.menu .menu__link:hover:focus {
        color: #457B9D;
        background: #f6f6f6; }
    .menu--category.menu .menu__link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .menu--category.menu .menu__link:active:hover {
        box-shadow: none; }
    .menu--category.menu .menu__link:focus {
      color: #457B9D;
      background: #f6f6f6;
      text-decoration: none; }
      .menu--category.menu .menu__link:focus:hover {
        background: #f6f6f6;
        text-decoration: none; }
    @media (min-width: 576px) {
      .menu--category.menu .menu__link {
        font-size: 0.875rem;
        line-height: 1.14286; } }
    .menu--category.menu .menu__link:hover {
      border: 1px solid #17A6B0; }
      .menu--category.menu .menu__link:hover:after {
        color: #B0D9DC; }
      .menu--category.menu .menu__link:hover .menu__text {
        color: #17A6B0; }
  .menu--category.menu .menu__text {
    font-size: 0.875rem;
    text-align: center;
    margin-top: 0.625rem;
    color: #666666;
    position: relative;
    display: inline-block; }
    .menu--category.menu .menu__text:hover {
      color: #17A6B0; }

.menu--category--noimg.menu .menu__link {
  padding: 0.9375rem 1.875rem 0.9375rem 0.9375rem; }

.menu--category-hp.menu {
  display: grid;
  flex-wrap: wrap;
  flex-direction: row;
  width: 100%;
  gap: 0.9375rem;
  grid-template-columns: 1fr; }
  @media (min-width: 576px) {
    .menu--category-hp.menu {
      grid-template-columns: 1fr 1fr; } }
  @media (min-width: 992px) {
    .menu--category-hp.menu {
      gap: 1.875rem; } }
  .menu--category-hp.menu .menu__item {
    width: 100%; }
  .menu--category-hp.menu .menu__link {
    display: inline-block;
    padding: 0;
    cursor: pointer;
    color: #fff;
    background: #17A6B0; }
    .menu--category-hp.menu .menu__link:active, .menu--category-hp.menu .menu__link:hover {
      color: #fff;
      background: #215673; }
      .menu--category-hp.menu .menu__link:active:focus, .menu--category-hp.menu .menu__link:hover:focus {
        color: #fff;
        background: #215673; }
    .menu--category-hp.menu .menu__link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .menu--category-hp.menu .menu__link:active:hover {
        box-shadow: none; }
    .menu--category-hp.menu .menu__link:focus {
      color: #fff;
      background: #215673;
      text-decoration: none; }
      .menu--category-hp.menu .menu__link:focus:hover {
        background: #215673;
        text-decoration: none; }
    .menu--category-hp.menu .menu__link:hover .menu__text::before {
      right: 0.5rem; }
  .menu--category-hp.menu .menu__text {
    padding: 0.9375rem 1.25rem;
    position: relative;
    transition: 0.3s ease-out; }
    .menu--category-hp.menu .menu__text:before {
      content: '\f061';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      font-size: 1rem;
      color: #fff;
      position: absolute;
      top: 50%;
      right: 0.9375rem;
      width: 1.875rem;
      height: 1.875rem;
      display: flex;
      align-items: center;
      justify-content: center;
      transform: translateY(-50%);
      transition: 0.3s ease-out; }

.menu--default .menu__item--dropdown {
  flex-direction: column; }

.menu--default .dropdown-submenu {
  margin: 0.9375rem 0 !important; }

.menu--aside {
  border: 1px solid #B0D9DC;
  background: #B0D9DC; }
  @media (min-width: 992px) {
    .menu--aside {
      width: 100%;
      flex-direction: column; } }
  @media (min-width: 992px) {
    .menu--aside__wrapper .collapse:not(.show) {
      display: inline-block; } }
  .menu--aside__wrapper .navbar-collapse {
    width: 100%;
    position: absolute;
    top: -10px;
    left: 0;
    z-index: 10000; }
    @media (min-width: 992px) {
      .menu--aside__wrapper .navbar-collapse {
        position: initial; } }
  .menu--aside .menu__item--divider {
    display: flex;
    align-items: center; }
    @media (min-width: 992px) {
      .menu--aside .menu__item--divider {
        display: none; } }
    .menu--aside .menu__item--divider .menu__link {
      text-align: center;
      color: #fff;
      background: #17A6B0;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      text-transform: uppercase;
      font-weight: normal;
      padding: 0.975rem 15px;
      font-size: 0.9375rem;
      line-height: 1.2;
      border-top: 1px solid #fff; }
      .menu--aside .menu__item--divider .menu__link:active, .menu--aside .menu__item--divider .menu__link:hover {
        color: #fff;
        background: #215673; }
        .menu--aside .menu__item--divider .menu__link:active:focus, .menu--aside .menu__item--divider .menu__link:hover:focus {
          color: #fff;
          background: #215673; }
      .menu--aside .menu__item--divider .menu__link:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .menu--aside .menu__item--divider .menu__link:active:hover {
          box-shadow: none; }
      .menu--aside .menu__item--divider .menu__link:focus {
        color: #fff;
        background: #215673;
        text-decoration: none; }
        .menu--aside .menu__item--divider .menu__link:focus:hover {
          background: #215673;
          text-decoration: none; }
      @media (min-width: 576px) {
        .menu--aside .menu__item--divider .menu__link {
          font-size: 0.875rem;
          line-height: 1.14286; } }
      .menu--aside .menu__item--divider .menu__link:before {
        font-size: 1.4375rem;
        content: '';
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        margin-right: 0.5rem; }
      .menu--aside .menu__item--divider .menu__link:after {
        display: none; }
      .menu--aside .menu__item--divider .menu__link:hover {
        text-decoration: none; }
      .menu--aside .menu__item--divider .menu__link--user {
        cursor: pointer; }
        .menu--aside .menu__item--divider .menu__link--user:before {
          content: '\f007'; }
      .menu--aside .menu__item--divider .menu__link--favourite:before {
        content: '\f004'; }
  .menu--aside .menu__item--dropdown {
    display: flex;
    justify-content: space-between; }
  .menu--aside .menu__item.dropdown-submenu .menu__link {
    border-bottom: 1px solid #fff; }
  .menu--aside .menu__item.dropdown-submenu .dropdown-menu .menu__link {
    border-bottom: 1px solid #B0D9DC; }
  .menu--aside .menu__item:last-of-type .menu__link {
    border-bottom: 0; }
  .menu--aside .menu__link {
    text-align: left;
    padding: 0.3125rem 15px;
    color: #fff;
    background: #17A6B0;
    text-transform: uppercase;
    font-weight: bold;
    display: flex;
    align-items: center;
    font-size: 1rem;
    line-height: 1.1875;
    border-bottom: 1px solid #fff;
    min-height: 3.4375rem; }
    .menu--aside .menu__link:active, .menu--aside .menu__link:hover {
      color: #fff;
      background: #215673; }
      .menu--aside .menu__link:active:focus, .menu--aside .menu__link:hover:focus {
        color: #fff;
        background: #215673; }
    .menu--aside .menu__link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .menu--aside .menu__link:active:hover {
        box-shadow: none; }
    .menu--aside .menu__link:focus {
      color: #fff;
      background: #215673;
      text-decoration: none; }
      .menu--aside .menu__link:focus:hover {
        background: #215673;
        text-decoration: none; }
    @media (min-width: 992px) {
      .menu--aside .menu__link {
        min-height: 2.9375rem; } }
    .menu--aside .menu__link:hover {
      text-decoration: none; }
    .menu--aside .menu__link.active {
      color: #fff;
      background: #215673; }
  .menu--aside .menu__dropdown {
    width: 100%; }
    .menu--aside .menu__dropdown__item {
      width: calc(100% / 2); }
    .menu--aside .menu__dropdown__inner {
      width: 100%; }
    .menu--aside .menu__dropdown__toggler {
      position: relative;
      width: 3.6875rem;
      min-width: 3.6875rem;
      min-height: 100%;
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: center; }
      .menu--aside .menu__dropdown__toggler:after {
        font-size: 1.625rem;
        content: '\f107';
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        font-weight: normal; }
      .menu--aside .menu__dropdown__toggler.open:after {
        content: '\f106'; }
  .menu--aside .dropdown-menu {
    border: 0;
    padding: 0;
    margin: 0;
    border-radius: 0; }
    .menu--aside .dropdown-menu.open {
      display: block; }
    .menu--aside .dropdown-menu.lvl--1 {
      border-left: 1px solid #B0D9DC;
      border-right: 1px solid #B0D9DC; }
    .menu--aside .dropdown-menu .menu__link {
      font-weight: normal;
      color: #141414;
      background: #fff;
      font-size: 1rem;
      line-height: 1.1875;
      padding: 0.3125rem 15px 0.3125rem 1.5625rem;
      min-height: 3.4375rem; }
      .menu--aside .dropdown-menu .menu__link:active, .menu--aside .dropdown-menu .menu__link:hover {
        color: #17A6B0;
        background: #fff; }
        .menu--aside .dropdown-menu .menu__link:active:focus, .menu--aside .dropdown-menu .menu__link:hover:focus {
          color: #17A6B0;
          background: #fff; }
      .menu--aside .dropdown-menu .menu__link:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .menu--aside .dropdown-menu .menu__link:active:hover {
          box-shadow: none; }
      .menu--aside .dropdown-menu .menu__link:focus {
        color: #17A6B0;
        background: #fff;
        text-decoration: none; }
        .menu--aside .dropdown-menu .menu__link:focus:hover {
          background: #fff;
          text-decoration: none; }
      @media (min-width: 992px) {
        .menu--aside .dropdown-menu .menu__link {
          padding: 0.25rem 15px 0.25rem 1.5625rem;
          min-height: 2.9375rem; } }
      .menu--aside .dropdown-menu .menu__link .img-fluid {
        margin-right: 0.9375rem;
        max-width: 2.3125rem; }
      .menu--aside .dropdown-menu .menu__link.menu__dropdown__toggler {
        padding: 0; }
      .menu--aside .dropdown-menu .menu__link.active {
        color: #fff;
        background: #457B9D; }
    .menu--aside .dropdown-menu .dropdown-menu .menu__link {
      color: #141414;
      background: #f6f6f6;
      text-transform: none;
      position: relative;
      padding: 1rem 15px 1rem 2.8125rem;
      font-size: 0.9375rem;
      line-height: 1.2; }
      .menu--aside .dropdown-menu .dropdown-menu .menu__link:active, .menu--aside .dropdown-menu .dropdown-menu .menu__link:hover {
        color: #17A6B0;
        background: #f6f6f6; }
        .menu--aside .dropdown-menu .dropdown-menu .menu__link:active:focus, .menu--aside .dropdown-menu .dropdown-menu .menu__link:hover:focus {
          color: #17A6B0;
          background: #f6f6f6; }
      .menu--aside .dropdown-menu .dropdown-menu .menu__link:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .menu--aside .dropdown-menu .dropdown-menu .menu__link:active:hover {
          box-shadow: none; }
      .menu--aside .dropdown-menu .dropdown-menu .menu__link:focus {
        color: #17A6B0;
        background: #f6f6f6;
        text-decoration: none; }
        .menu--aside .dropdown-menu .dropdown-menu .menu__link:focus:hover {
          background: #f6f6f6;
          text-decoration: none; }
      @media (min-width: 576px) {
        .menu--aside .dropdown-menu .dropdown-menu .menu__link {
          font-size: 0.875rem;
          line-height: 1.14286; } }
      @media (min-width: 992px) {
        .menu--aside .dropdown-menu .dropdown-menu .menu__link {
          padding: 0.3125rem 15px 0.3125rem 2.8125rem; } }
      .menu--aside .dropdown-menu .dropdown-menu .menu__link:before {
        content: '-';
        margin-right: 0.375rem; }
      .menu--aside .dropdown-menu .dropdown-menu .menu__link.more:before {
        content: '+'; }
      .menu--aside .dropdown-menu .dropdown-menu .menu__link.active {
        color: #17A6B0;
        background: #f6f6f6; }

@media (min-width: 576px) {
  .product .product__box {
    padding-bottom: 0; } }

.product > div {
  margin-bottom: 2.5rem; }

.product__title {
  font-size: 1.125rem;
  line-height: 1.38889;
  color: #141414;
  margin-bottom: 1.25rem; }

.product__box {
  width: 100%;
  margin: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 100%;
  padding: 0;
  text-align: center; }
  .product__box__inner {
    display: flex;
    flex-direction: column;
    height: 100%; }
    .product__box__inner:hover {
      text-decoration: none; }
      .product__box__inner:hover .img-fluid {
        transform: scale(1.1); }
  .product__box .labels {
    position: absolute;
    top: 0.625rem;
    left: 0.625rem;
    list-style-type: none;
    padding: 0;
    z-index: 1; }
    .product__box .labels li {
      display: none;
      color: #fff;
      background: #00b3ee;
      margin: 0 0 0.1875rem 0;
      padding: 0.4375rem 0.625rem;
      border-radius: 2px;
      text-transform: uppercase;
      font-size: 0.9375rem;
      line-height: 1.2; }
      @media (min-width: 576px) {
        .product__box .labels li {
          font-size: 0.75rem;
          line-height: 1.16667; } }
      .product__box .labels li.action {
        background: #318EFF; }
      .product__box .labels li.discount {
        background: #FB003D; }
      .product__box .labels li.new {
        background: #39B94B; }
      .product__box .labels li.recommended {
        background: #FBBF00; }
  .product__box.action .action {
    display: inherit; }
  .product__box.discount .discount {
    display: inherit; }
  .product__box.new .new {
    display: inherit; }
  .product__box.recommended .recommended {
    display: inherit; }

.product .wrapper__img {
  width: 100%;
  margin-bottom: 1.875rem;
  padding: 1.875rem 1.875rem 0 1.875rem; }
  @media (min-width: 576px) {
    .product .wrapper__img {
      padding: 0; } }
  .product .wrapper__img img {
    width: 100%;
    max-width: 16.875rem;
    transition: 0.3s ease-out; }

.product .wrapper__content {
  height: 100%;
  background: #fff;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center; }
  @media (min-width: 768px) {
    .product .wrapper__content {
      align-items: flex-start; } }
  .product .wrapper__content .btn {
    width: 100%;
    min-width: auto;
    max-width: 6.25rem; }
  .product .wrapper__content .price {
    font-size: 1.25rem;
    line-height: 1.2;
    color: #17A6B0;
    margin-bottom: 0.625rem;
    font-weight: bold; }
    .product .wrapper__content .price--before {
      color: #D6D6D6;
      margin-bottom: 0;
      text-decoration: line-through;
      font-weight: normal;
      font-size: 0.9375rem;
      line-height: 1.2; }
      @media (min-width: 576px) {
        .product .wrapper__content .price--before {
          font-size: 0.875rem;
          line-height: 1.14286; } }
  .product .wrapper__content .state {
    color: #A1A1A1;
    font-weight: bold;
    margin-bottom: 0;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .product .wrapper__content .state {
        font-size: 0.875rem;
        line-height: 1; } }
    .product .wrapper__content .state.in-stock {
      color: #1FD47E; }

.product .wrapper__content--top {
  width: 100%; }
  .product .wrapper__content--top .text-secondary {
    margin-bottom: 0.625rem; }
    .product .wrapper__content--top .text-secondary:last-of-type {
      margin-bottom: 1.25rem; }

.product .wrapper__content--bottom {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column; }

.product .table {
  margin-bottom: 1.25rem; }
  .product .table td {
    padding: 0.3125rem 0;
    border-top: 0;
    border-bottom: 1px solid #141414;
    width: 50%; }
    .product .table td:nth-of-type(2) {
      text-align: right; }

.product--row {
  width: 100%;
  border: 1px solid #D6D6D6;
  padding: 1rem 0.625rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  text-align: center; }
  @media (min-width: 576px) {
    .product--row {
      padding: 1rem 1.875rem; } }
  @media (min-width: 992px) {
    .product--row {
      grid-template-columns: 3.75rem 6.25rem minmax(min-content, 1fr) minmax(min-content, 1fr) fit-content(7.125rem) fit-content(7.5rem) 5.3125rem 7.5rem 1.875rem;
      align-items: center;
      text-align: left;
      border-bottom: 0; }
      .product--row:last-of-type {
        border-bottom: 1px solid #D6D6D6; } }
  @media screen and (min-width: 1400px) {
    .product--row {
      grid-template-columns: 3.75rem 6.25rem minmax(min-content, 1fr) minmax(min-content, 12.5rem) 7.125rem 7.5rem 5.3125rem 10rem 1.875rem; } }
  .product--row__wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 1.875rem;
    gap: 0.625rem; }
    @media (min-width: 768px) {
      .product--row__wrapper {
        grid-template-columns: repeat(4, 1fr); } }
    @media (min-width: 992px) {
      .product--row__wrapper {
        grid-template-columns: 1fr;
        gap: 0; } }
  .product--row__img {
    margin: 0 auto;
    display: inline-block;
    position: relative; }
    .product--row__img:before {
      content: '\f06e';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 1.5625rem;
      height: 1.5625rem;
      background: rgba(20, 20, 20, 0.5);
      font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem; }
  .product--row__code {
    color: #666666;
    font-size: 1rem;
    line-height: 1.1875;
    margin-bottom: 0; }
  .product--row__title {
    font-size: 1rem;
    line-height: 1.1875;
    font-weight: bold;
    margin-bottom: 0;
    color: #17A6B0;
    transition: 0.3s ease-out; }
    .product--row__title:hover {
      color: #457B9D; }
  .product--row__parameter {
    color: #666666;
    font-size: 1rem;
    line-height: 1.1875;
    margin-bottom: 0; }
  .product--row__state {
    color: #666666;
    font-size: 0.75rem;
    line-height: 1.16667;
    margin-bottom: 0;
    font-weight: bold; }
    .product--row__state.in-stock {
      color: #1FD47E; }
  .product--row__price {
    color: #215673;
    font-weight: bold;
    font-size: 1.25rem;
    line-height: 1.2;
    margin-bottom: 0; }
    @media (min-width: 992px) {
      .product--row__price {
        text-align: right; } }
    .product--row__price--before {
      color: #D6D6D6;
      margin-bottom: 0;
      font-size: 0.875rem;
      line-height: 1.14286;
      text-decoration: line-through; }
  .product--row__btn {
    color: #fff;
    background: #39B94B;
    font-size: 1.125rem;
    line-height: 1.16667;
    position: relative;
    padding: 0.75rem 0.625rem;
    border: 0;
    text-align: center; }
    .product--row__btn:active, .product--row__btn:hover {
      color: #fff;
      background: #56C365; }
      .product--row__btn:active:focus, .product--row__btn:hover:focus {
        color: #fff;
        background: #56C365; }
    .product--row__btn:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .product--row__btn:active:hover {
        box-shadow: none; }
    .product--row__btn:focus {
      color: #fff;
      background: #56C365;
      text-decoration: none; }
      .product--row__btn:focus:hover {
        background: #56C365;
        text-decoration: none; }
    @media screen and (min-width: 1400px) {
      .product--row__btn:before {
        content: '\f07a';
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        margin-right: 0.5rem;
        font-weight: normal;
        font-size: 0.875rem; } }
  .product--row__search {
    position: relative;
    display: block;
    width: 1.875rem;
    height: 1.875rem;
    margin: 0 auto; }
    .product--row__search:before {
      content: '\f002';
      position: absolute;
      width: 100%;
      height: 100%;
      bottom: 0;
      left: 0;
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      color: #A1A1A1;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.875rem;
      transition: 0.3s ease-out; }
    .product--row__search:hover:before {
      color: #666666; }
  .product--row .form label, .product--row .form .form-group.file .label-file {
    color: #17A6B0;
    font-size: 1.125rem;
    line-height: 1.16667;
    font-weight: bold;
    margin-right: 1.25rem; }
  .product--row .form-control {
    font-size: 1rem;
    line-height: 1.1875;
    height: 2.875rem;
    color: #A1A1A1;
    border: 1px solid #D6D6D6;
    padding: 0.8125rem 0;
    background: transparent;
    position: relative;
    z-index: 1;
    border-radius: 0; }
    .product--row .form-control::placeholder {
      color: #A1A1A1; }
  .product--row .form-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap; }
    .product--row .form-group.amount {
      margin-bottom: 0; }
      .product--row .form-group.amount.has-error .input-wrapper:before, .product--row .form-group.amount.success .input-wrapper:before {
        display: none; }
      .product--row .form-group.amount.has-error .form-control, .product--row .form-group.amount.success .form-control {
        border: 1px solid #D6D6D6; }
      .product--row .form-group.amount .input-wrapper {
        display: flex;
        border: 1px solid #D6D6D6;
        border-radius: 0;
        margin: 0 auto; }
        .product--row .form-group.amount .input-wrapper .form-control {
          width: 2.6875rem;
          height: 2.875rem;
          border: 0;
          padding: 0.8125rem 0;
          text-align: center; }
      .product--row .form-group.amount .btn {
        padding: 0;
        position: relative;
        width: 1.25rem;
        height: 2.875rem; }
        .product--row .form-group.amount .btn:before {
          content: '';
          font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
          color: #B0D9DC;
          font-size: 0.75rem;
          padding: 0.8125rem;
          position: absolute;
          width: 100%;
          height: 100%;
          display: flex;
          align-items: center;
          justify-content: center; }
        .product--row .form-group.amount .btn--minus:before {
          content: '\f068';
          top: 0;
          left: 0; }
        .product--row .form-group.amount .btn--plus:before {
          content: '\f067';
          top: 0;
          right: 0; }

.productDetail {
  padding: 1.875rem 0 1.875rem 0; }
  .productDetail__gallery {
    border: 1px solid #D6D6D6;
    transition: 0.3s ease-out; }
    .productDetail__gallery:hover {
      border: 1px solid #fff; }
    .productDetail__gallery--last {
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.875rem;
      line-height: 1.14286;
      color: #666666;
      position: relative;
      flex-direction: column; }
      .productDetail__gallery--last:before {
        content: '\f105';
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        font-size: 1.875rem;
        height: 1.875rem;
        color: #D6D6D6; }
      .productDetail__gallery--last:hover {
        text-decoration: none; }
  .productDetail__block {
    background: #f6f6f6;
    margin-bottom: 1.875rem; }
    .productDetail__block--aside {
      background: rgba(0, 0, 0, 0); }
    .productDetail__block .labels {
      list-style-type: none;
      padding: 0;
      z-index: 1;
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 1.25rem; }
      .productDetail__block .labels li {
        display: none;
        color: #fff;
        background: #00b3ee;
        margin: 0 0.1875rem 0.1875rem 0;
        padding: 0.4375rem 0.625rem;
        border-radius: 2px;
        text-transform: uppercase;
        font-size: 0.9375rem;
        line-height: 1.2; }
        @media (min-width: 576px) {
          .productDetail__block .labels li {
            font-size: 0.75rem;
            line-height: 1.16667; } }
        .productDetail__block .labels li.action {
          background: #318EFF; }
        .productDetail__block .labels li.discount {
          background: #FB003D; }
        .productDetail__block .labels li.new {
          background: #39B94B; }
        .productDetail__block .labels li.recommended {
          background: #FBBF00; }
    .productDetail__block.action .action {
      display: inherit; }
    .productDetail__block.discount .discount {
      display: inherit; }
    .productDetail__block.new .new {
      display: inherit; }
    .productDetail__block.recommended .recommended {
      display: inherit; }
    .productDetail__block .text {
      color: #666666; }
    .productDetail__block .form label, .productDetail__block .form .form-group.file .label-file {
      color: #17A6B0;
      font-size: 1.125rem;
      line-height: 1.16667;
      font-weight: bold;
      margin-right: 1.25rem; }
    .productDetail__block .form-control {
      font-size: 1rem;
      line-height: 1.1875;
      height: 2.875rem;
      color: #666666;
      border: 1px solid #D6D6D6;
      padding: 0.8125rem 0.9375rem;
      background: transparent;
      position: relative;
      z-index: 1;
      border-radius: 0; }
      .productDetail__block .form-control::placeholder {
        color: #666666; }
    .productDetail__block .form-group {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      margin-bottom: 1.25rem; }
      .productDetail__block .form-group.select {
        margin-bottom: 0; }
        .productDetail__block .form-group.select .input-wrapper {
          width: 100%;
          max-width: 18.75rem;
          margin-bottom: 1.25rem; }
          .productDetail__block .form-group.select .input-wrapper:before {
            content: '\f107';
            background: none;
            font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #666666; }
        .productDetail__block .form-group.select label, .productDetail__block .form-group.select .form .form-group.file .label-file, .form .form-group.file .productDetail__block .form-group.select .label-file {
          margin-bottom: 1.25rem; }
      .productDetail__block .form-group.amount {
        margin-bottom: 0; }
        .productDetail__block .form-group.amount.has-error .input-wrapper:before, .productDetail__block .form-group.amount.success .input-wrapper:before {
          display: none; }
        .productDetail__block .form-group.amount.has-error .form-control, .productDetail__block .form-group.amount.success .form-control {
          border: 1px solid #D6D6D6; }
        .productDetail__block .form-group.amount .input-wrapper {
          display: flex;
          border: 1px solid #D6D6D6;
          border-radius: 0; }
          .productDetail__block .form-group.amount .input-wrapper .form-control {
            width: 5rem;
            height: 2.6875rem;
            border: 0; }
        .productDetail__block .form-group.amount .btn {
          padding: 0;
          position: relative;
          width: 2.875rem;
          height: 2.6875rem; }
          .productDetail__block .form-group.amount .btn:before {
            content: '';
            font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
            color: #B0D9DC;
            font-size: 0.75rem;
            padding: 0.8125rem;
            position: absolute;
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center; }
          .productDetail__block .form-group.amount .btn--minus:before {
            content: '\f068';
            top: 0;
            left: 0; }
          .productDetail__block .form-group.amount .btn--plus:before {
            content: '\f067';
            top: 0;
            right: 0; }
  .productDetail__availability {
    color: #666666;
    margin-bottom: 1.25rem;
    margin-right: 1.875rem;
    font-size: 1.125rem;
    line-height: 1.16667; }
    .productDetail__availability span {
      font-weight: bold; }
    .productDetail__availability.in-stock span {
      color: #1FD47E; }
  .productDetail__code {
    color: #666666;
    margin-right: 1.875rem;
    margin-bottom: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.16667; }
  .productDetail__mark {
    color: #666666;
    margin-bottom: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.16667; }
  .productDetail__price {
    color: #215673;
    font-size: 2rem;
    line-height: 1.1875;
    font-weight: bold;
    margin-right: 0.3125rem;
    margin-bottom: 1.875rem; }
    .productDetail__price--before {
      display: block;
      color: #D6D6D6;
      font-size: 1.125rem;
      line-height: 1.16667;
      font-weight: normal; }
      .productDetail__price--before span {
        text-decoration: line-through; }
  .productDetail__bottom {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 0.625rem;
    margin-bottom: 1.875rem; }
  .productDetail--small {
    padding: 1.25rem 0; }

.form label, .form .form-group.file .label-file {
  color: #666666;
  font-weight: bold;
  font-size: 0.9375rem;
  line-height: 1.2; }
  @media (min-width: 576px) {
    .form label, .form .form-group.file .label-file {
      font-size: 0.875rem;
      line-height: 1.14286; } }

.form .form-group {
  margin-bottom: 1.25rem; }
  .form .form-group textarea {
    height: 9.1875rem;
    border-radius: 0; }
  .form .form-group.textarea {
    margin-bottom: 0.9375rem; }
    .form .form-group.textarea .form-control {
      border-radius: 0; }
      .form .form-group.textarea .form-control::placeholder {
        color: #D6D6D6; }

.form .form-control {
  border: 1px solid #D6D6D6;
  height: 2.8125rem;
  font-size: 1rem;
  line-height: 1.1875;
  border-radius: 0;
  padding: 0.75rem 0.9375rem;
  -webkit-appearance: none; }

.form--parameters {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.9375rem;
  justify-content: space-between;
  padding: 1.25rem;
  background: #ECECEC;
  margin-bottom: 0.1875rem; }
  @media (min-width: 768px) {
    .form--parameters {
      grid-template-columns: repeat(3, 1fr); } }
  @media (min-width: 1200px) {
    .form--parameters {
      display: flex; } }
  .form--parameters .form-group {
    width: 100%; }
    .form--parameters .form-group label, .form--parameters .form .form-group.file .label-file, .form .form--parameters .form-group.file .label-file {
      font-weight: normal; }

.form--variants {
  position: relative; }
  .form--variants__row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.9375rem;
    justify-content: space-between;
    padding: 0.75rem 1.25rem;
    background: #ECECEC;
    margin-bottom: 0.1875rem;
    cursor: pointer;
    transition: 0.3s ease-out; }
    @media (min-width: 576px) {
      .form--variants__row {
        grid-template-columns: repeat(3, 1fr); } }
    @media (min-width: 768px) {
      .form--variants__row {
        display: flex; } }
    .form--variants__row:hover, .form--variants__row.active {
      background: #17A6B0; }
      .form--variants__row:hover .form--variants__title, .form--variants__row.active .form--variants__title {
        color: #fff; }
      .form--variants__row:hover .form--variants__value, .form--variants__row.active .form--variants__value {
        color: #fff; }
    .form--variants__row.active .form--variants__ico:before {
      background: #17A6B0;
      content: '\f010';
      color: #fff;
      border: 1px solid #fff; }
  .form--variants__ico {
    position: absolute;
    top: 50%;
    right: -12px;
    transform: translateY(-50%);
    display: flex;
    align-items: center; }
    .form--variants__ico:before {
      content: '\f00e';
      color: #666666;
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      font-size: 1rem;
      width: 1.875rem;
      height: 1.875rem;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #D6D6D6;
      border-radius: 50%; }
  .form--variants__column {
    width: 100%; }
  .form--variants__title {
    font-size: 0.75rem;
    color: #666666;
    margin-bottom: 0; }
  .form--variants__value {
    font-weight: 700;
    color: #141414;
    font-size: 0.875rem;
    margin-bottom: 0; }
  .form--variants__detail {
    margin-bottom: 0.1875rem;
    margin-top: -0.1875rem;
    background: #f6f6f6;
    padding: 1.25rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem; }
    @media (min-width: 992px) {
      .form--variants__detail {
        grid-template-columns: 1.2fr 2fr; } }
    .form--variants__detail--prices p {
      margin-bottom: 0.3125rem;
      font-size: 0.875rem;
      color: #666666; }
      .form--variants__detail--prices p:last-child {
        margin-bottom: 0; }
    .form--variants__detail--buttons .productDetail__block {
      justify-content: end;
      gap: 0.3125rem;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(2, 1fr); }
      @media screen and (min-width: 1380px) {
        .form--variants__detail--buttons .productDetail__block {
          display: flex; } }
      .form--variants__detail--buttons .productDetail__block .form {
        grid-column: span 2 / span 2; }
        .form--variants__detail--buttons .productDetail__block .form .form-group {
          justify-content: start; }
          @media (min-width: 992px) {
            .form--variants__detail--buttons .productDetail__block .form .form-group {
              justify-content: end; } }
    .form--variants__detail--buttons p {
      margin-bottom: 0.3125rem;
      font-size: 0.875rem;
      color: #666666; }
      .form--variants__detail--buttons p:last-child {
        margin-bottom: 0; }

.help-block {
  color: #17A6B0;
  margin-top: 0.3125rem;
  font-weight: bold;
  font-size: 0.9375rem;
  line-height: 1.2; }
  @media (min-width: 576px) {
    .help-block {
      font-size: 0.75rem;
      line-height: 1.16667; } }

.account {
  flex-direction: column;
  display: none;
  margin: 0 0.625rem 0 2.8125rem; }
  @media (min-width: 992px) {
    .account {
      display: flex; } }
  .account--login {
    align-items: center;
    justify-content: center;
    font-size: 0.9375rem;
    line-height: 1.2;
    font-weight: normal;
    text-transform: uppercase;
    text-align: left;
    color: #141414;
    transition: 0.3s ease-out;
    position: relative;
    border: 0;
    background: rgba(0, 0, 0, 0);
    padding: 0; }
    @media (min-width: 576px) {
      .account--login {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    .account--login:before {
      position: absolute;
      width: 3.125rem;
      height: 3.125rem;
      top: -0.5rem;
      left: -3.125rem;
      padding: 0.625rem;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.625rem;
      font-weight: normal;
      color: #17A6B0;
      transition: 0.3s ease-out;
      content: '\f007';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif; }
    .account--login.active:before {
      font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif; }
  .account--logout {
    color: #17A6B0;
    text-decoration: underline;
    text-transform: none;
    font-size: 0.9375rem;
    line-height: 1.2;
    margin-top: 0.3125rem;
    background: none;
    box-shadow: none;
    border: 0;
    padding: 0; }
    @media (min-width: 576px) {
      .account--logout {
        font-size: 0.875rem;
        line-height: 1.14286; } }
    .account--logout:hover {
      color: #17A6B0;
      text-decoration: none; }
  .account:hover .account--login {
    color: #17A6B0;
    text-decoration: none; }
    .account:hover .account--login:before {
      color: #17A6B0; }
  .account:hover .account--logout {
    color: #17A6B0;
    text-decoration: none; }

.carousel:not(.def) .carousel-control-prev {
  width: 3.125rem;
  height: 3.125rem;
  position: absolute;
  background: rgba(0, 0, 0, 0.15);
  top: 50%;
  transform: translateY(-50%);
  bottom: auto;
  transition: 0.3s ease-out; }
  .carousel:not(.def) .carousel-control-prev:before {
    content: '\f104';
    font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
    font-size: 2rem;
    color: #fff;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center; }
  .carousel:not(.def) .carousel-control-prev .carousel-control-prev-icon {
    background-image: none; }

.carousel:not(.def) .carousel-control-next {
  width: 3.125rem;
  height: 3.125rem;
  position: absolute;
  background: rgba(0, 0, 0, 0.15);
  top: 50%;
  transform: translateY(-50%);
  bottom: auto;
  transition: 0.3s ease-out; }
  .carousel:not(.def) .carousel-control-next:before {
    content: '\f105';
    font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
    font-size: 2rem;
    color: #fff;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center; }
  .carousel:not(.def) .carousel-control-next .carousel-control-next-icon {
    background-image: none; }

.carousel:not(.def) .img-fluid {
  width: 100%; }

.carousel__category:not(.def) {
  padding: 1px;
  margin-bottom: 1.875rem; }
  .carousel__category:not(.def) .carousel__category__box {
    width: 100%;
    height: 100%;
    padding: 1.5625rem;
    background: #fff;
    border: 1px solid #A1A1A1;
    display: inline-block;
    text-align: center;
    transition: 0.3s ease-out; }
    .carousel__category:not(.def) .carousel__category__box:hover {
      text-decoration: none;
      color: #457B9D;
      border: 1px solid #fff; }
      .carousel__category:not(.def) .carousel__category__box:hover .carousel__category__image {
        transform: scale(1.1); }
  .carousel__category:not(.def) .carousel__category__title {
    color: #17A6B0;
    font-size: 1rem;
    line-height: 1.1875;
    margin-bottom: 0; }
  .carousel__category:not(.def) .carousel__category__image {
    width: 100%;
    max-width: 5rem;
    height: 5rem;
    margin-bottom: 0.9375rem;
    transition: 0.3s ease-out; }
  .carousel__category:not(.def) .carousel-control-prev {
    width: 2.5rem;
    height: 2.5rem;
    left: 0.9375rem; }
  .carousel__category:not(.def) .carousel-control-next {
    width: 2.5rem;
    height: 2.5rem;
    right: 0.9375rem; }

.splide__arrow {
  width: 3.125rem;
  height: 3.125rem;
  position: absolute;
  background: rgba(20, 20, 20, 0.15);
  top: 50%;
  transform: translateY(-50%);
  bottom: auto;
  transition: 0.3s ease-out;
  border-radius: 0; }
  .splide__arrow svg {
    fill: #fff;
    width: 1.4em;
    height: 1.4em; }

.splide__slide {
  padding: 1px; }

.splide--category .splide__arrow--next {
  right: 0; }

.splide--category .splide__arrow--prev {
  left: 0; }

@media screen and (max-width: 767px) {
  .carousel-multiple .carousel-item.active,
  .carousel-multiple .carousel-item-next,
  .carousel-multiple .carousel-item-prev {
    display: flex; }
  .carousel-multiple .carousel-inner {
    overflow: visible; }
    .carousel-multiple .carousel-inner .carousel-item {
      margin-right: inherit; }
      .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item {
        display: flex; }
      .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) {
        transition: none; }
        .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item {
          transition: none; }
      .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item {
        position: absolute;
        top: 0;
        right: -50%;
        z-index: -1;
        display: flex;
        visibility: visible;
        height: 100%; }
      .carousel-multiple .carousel-inner .carousel-item-next, .carousel-multiple .carousel-inner .carousel-item-prev {
        position: relative;
        transform: translate3d(0, 0, 0); }
    .carousel-multiple .carousel-inner .carousel-item-prev.carousel-item-right {
      position: absolute;
      top: 0;
      right: 100%;
      z-index: -1;
      display: flex;
      visibility: visible;
      height: 100%;
      transform: translate3d(100%, 0, 0); }
  .carousel-multiple .active.carousel-item-left + .carousel-item-next.carousel-item-left {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  .carousel-multiple .active.carousel-item-right + .carousel-item-prev.carousel-item-right {
    position: relative;
    transform: translate3d(100%, 0, 0);
    display: flex;
    visibility: visible; }
  .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item {
    position: relative;
    transform: translate3d(100%, 0, 0);
    display: flex;
    visibility: visible; } }

.carousel-multiple::before {
  display: none;
  margin-bottom: 20px;
  font-size: 30px;
  content: "xs - default breakpoint"; }

@media (min-width: 576px) and (max-width: 767px) {
  .carousel-multiple::before {
    content: "media-breakpoint-between(sm, sm)"; }
  .carousel-multiple .carousel-item.active,
  .carousel-multiple .carousel-item-next,
  .carousel-multiple .carousel-item-prev {
    display: flex; }
  .carousel-multiple .carousel-inner {
    overflow: visible; }
    .carousel-multiple .carousel-inner .carousel-item {
      margin-right: inherit; }
      .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item {
        display: flex; }
      .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) {
        transition: none; }
        .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item {
          transition: none; }
      .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item {
        position: absolute;
        top: 0;
        right: -50%;
        z-index: -1;
        display: flex;
        visibility: visible;
        height: 100%; }
      .carousel-multiple .carousel-inner .carousel-item-next, .carousel-multiple .carousel-inner .carousel-item-prev {
        position: relative;
        transform: translate3d(0, 0, 0); }
    .carousel-multiple .carousel-inner .carousel-item-prev.carousel-item-right {
      position: absolute;
      top: 0;
      right: 100%;
      z-index: -1;
      display: flex;
      visibility: visible;
      height: 100%;
      transform: translate3d(100%, 0, 0); }
  .carousel-multiple .active.carousel-item-left + .carousel-item-next.carousel-item-left {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  .carousel-multiple .active.carousel-item-right + .carousel-item-prev.carousel-item-right {
    position: relative;
    transform: translate3d(100%, 0, 0);
    display: flex;
    visibility: visible; }
  .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item {
    position: relative;
    transform: translate3d(100%, 0, 0);
    display: flex;
    visibility: visible; } }

@media (min-width: 768px) and (max-width: 991px) {
  .carousel-multiple::before {
    content: "media-breakpoint-between(md, md)"; }
  .carousel-multiple .carousel-item.active,
  .carousel-multiple .carousel-item-next,
  .carousel-multiple .carousel-item-prev {
    display: flex; }
  .carousel-multiple .carousel-inner {
    overflow: visible; }
    .carousel-multiple .carousel-inner .carousel-item {
      margin-right: inherit; }
      .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item {
        display: flex; }
      .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) {
        transition: none; }
        .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item {
          transition: none; }
      .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item + .carousel-item {
        position: absolute;
        top: 0;
        right: -33.33333%;
        z-index: -1;
        display: flex;
        visibility: visible;
        height: 100%; }
      .carousel-multiple .carousel-inner .carousel-item-next, .carousel-multiple .carousel-inner .carousel-item-prev {
        position: relative;
        transform: translate3d(0, 0, 0); }
    .carousel-multiple .carousel-inner .carousel-item-prev.carousel-item-right {
      position: absolute;
      top: 0;
      right: 100%;
      z-index: -1;
      display: flex;
      visibility: visible;
      height: 100%;
      transform: translate3d(100%, 0, 0); }
  .carousel-multiple .active.carousel-item-left + .carousel-item-next.carousel-item-left {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  .carousel-multiple .active.carousel-item-right + .carousel-item-prev.carousel-item-right {
    position: relative;
    transform: translate3d(100%, 0, 0);
    display: flex;
    visibility: visible; }
  .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item {
    position: relative;
    transform: translate3d(100%, 0, 0);
    display: flex;
    visibility: visible; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .carousel-multiple::before {
    content: "media-breakpoint-between(lg, lg)"; }
  .carousel-multiple .carousel-item.active,
  .carousel-multiple .carousel-item-next,
  .carousel-multiple .carousel-item-prev {
    display: flex; }
  .carousel-multiple .carousel-inner {
    overflow: visible; }
    .carousel-multiple .carousel-inner .carousel-item {
      margin-right: inherit; }
      .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item {
        display: flex; }
      .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) {
        transition: none; }
        .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item {
          transition: none; }
      .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
        position: absolute;
        top: 0;
        right: -25%;
        z-index: -1;
        display: flex;
        visibility: visible;
        height: 100%; }
      .carousel-multiple .carousel-inner .carousel-item-next, .carousel-multiple .carousel-inner .carousel-item-prev {
        position: relative;
        transform: translate3d(0, 0, 0); }
    .carousel-multiple .carousel-inner .carousel-item-prev.carousel-item-right {
      position: absolute;
      top: 0;
      right: 100%;
      z-index: -1;
      display: flex;
      visibility: visible;
      height: 100%;
      transform: translate3d(100%, 0, 0); }
  .carousel-multiple .active.carousel-item-left + .carousel-item-next.carousel-item-left {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  .carousel-multiple .active.carousel-item-right + .carousel-item-prev.carousel-item-right {
    position: relative;
    transform: translate3d(100%, 0, 0);
    display: flex;
    visibility: visible; }
  .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item {
    position: relative;
    transform: translate3d(100%, 0, 0);
    display: flex;
    visibility: visible; } }

@media (min-width: 1200px) {
  .carousel-multiple::before {
    content: "media-breakpoint-up(xl)"; }
  .carousel-multiple .carousel-item.active,
  .carousel-multiple .carousel-item-next,
  .carousel-multiple .carousel-item-prev {
    display: flex; }
  .carousel-multiple .carousel-inner {
    overflow: visible; }
    .carousel-multiple .carousel-inner .carousel-item {
      margin-right: inherit; }
      .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item {
        display: flex; }
      .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) {
        transition: none; }
        .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item, .carousel-multiple .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item {
          transition: none; }
      .carousel-multiple .carousel-inner .carousel-item.active + .carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
        position: absolute;
        top: 0;
        right: -16.66667%;
        z-index: -1;
        display: flex;
        visibility: visible;
        height: 100%; }
      .carousel-multiple .carousel-inner .carousel-item-next, .carousel-multiple .carousel-inner .carousel-item-prev {
        position: relative;
        transform: translate3d(0, 0, 0); }
    .carousel-multiple .carousel-inner .carousel-item-prev.carousel-item-right {
      position: absolute;
      top: 0;
      right: 100%;
      z-index: -1;
      display: flex;
      visibility: visible;
      height: 100%;
      transform: translate3d(100%, 0, 0); }
  .carousel-multiple .active.carousel-item-left + .carousel-item-next.carousel-item-left {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-next.carousel-item-left + .carousel-item {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  .carousel-multiple .active.carousel-item-right + .carousel-item-prev.carousel-item-right {
    position: relative;
    transform: translate3d(100%, 0, 0);
    display: flex;
    visibility: visible; }
  .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item, .carousel-multiple .carousel-item-prev.carousel-item-right + .carousel-item {
    position: relative;
    transform: translate3d(100%, 0, 0);
    display: flex;
    visibility: visible; } }

.modal:not(.def) {
  background: rgba(20, 20, 20, 0.6);
  z-index: 100000; }
  .modal:not(.def) .modal-dialog {
    background: rgba(0, 0, 0, 0);
    max-width: 73.125rem;
    margin-left: 15px;
    margin-right: 15px; }
    @media (min-width: 1200px) {
      .modal:not(.def) .modal-dialog {
        margin-left: auto;
        margin-right: auto; } }
  .modal:not(.def) .modal-content {
    background: rgba(0, 0, 0, 0);
    border-radius: 0;
    border: 0; }
  .modal:not(.def) .modal-header {
    border-bottom: 0;
    background: rgba(0, 0, 0, 0);
    padding: 0;
    height: 3.4375rem; }
  .modal:not(.def) .modal-body {
    background: #fff;
    padding: 3.125rem 2.5rem; }
  .modal:not(.def) .close {
    position: absolute;
    padding: 0;
    margin: 0;
    width: 3.125rem;
    height: 3.125rem;
    top: 0;
    right: 0;
    left: auto;
    opacity: 1;
    transition: 0.3s ease-out; }
    .modal:not(.def) .close:before {
      content: '\f00d';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      color: #fff;
      font-size: 3.125rem;
      font-weight: normal; }
  .modal:not(.def) .btn {
    margin: 0 1.25rem 0 0; }
  .modal:not(.def).modal .modal-body {
    padding: 0; }
    @media (min-width: 768px) {
      .modal:not(.def).modal .modal-body {
        display: flex; } }
  .modal:not(.def).modal__like .modal-body {
    padding: 1.5625rem 1.25rem;
    position: relative; }
    @media (min-width: 768px) {
      .modal:not(.def).modal__like .modal-body:before {
        content: '\f004';
        position: absolute;
        bottom: 0;
        right: 1.875rem;
        font-size: 10.625rem;
        height: 10.625rem;
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: .05; } }
    @media (min-width: 576px) {
      .modal:not(.def).modal__like .modal-body {
        padding: 3.125rem 2.5rem; } }
    @media (min-width: 768px) {
      .modal:not(.def).modal__like .modal-body {
        display: inline-block; } }
    .modal:not(.def).modal__like .modal-body .btn {
      display: block;
      max-width: 18.75rem;
      margin-bottom: 1.25rem; }
      @media (min-width: 576px) {
        .modal:not(.def).modal__like .modal-body .btn {
          display: inline-block;
          margin-bottom: 0;
          max-width: 100%; } }
  .modal:not(.def).modal .modal__login__inner {
    width: 100%;
    padding: 1.5625rem 1.25rem; }
    @media (min-width: 576px) {
      .modal:not(.def).modal .modal__login__inner {
        padding: 3.125rem 2.5rem; } }
    @media (min-width: 768px) {
      .modal:not(.def).modal .modal__login__inner {
        width: calc(100% / 2); } }
  .modal:not(.def).modal .modal__login--log {
    background: #DAFDFF; }
  .modal:not(.def).modal .modal__login--account {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    position: relative; }
    @media (min-width: 768px) {
      .modal:not(.def).modal .modal__login--account:before {
        content: '\f007';
        position: absolute;
        bottom: 0;
        right: 1.875rem;
        font-size: 10.625rem;
        height: 10.625rem;
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: .05; } }
  .modal:not(.def).modal .modal__cart__inner {
    width: 100%;
    padding: 1.5625rem 1.25rem;
    background: #fff; }
    @media (min-width: 576px) {
      .modal:not(.def).modal .modal__cart__inner {
        padding: 3.125rem 2.5rem; } }
    @media (min-width: 768px) {
      .modal:not(.def).modal .modal__cart__inner {
        width: calc(100% / 2); } }
    .modal:not(.def).modal .modal__cart__inner--cart {
      padding: 1.5625rem 1.25rem; }
      @media (min-width: 992px) {
        .modal:not(.def).modal .modal__cart__inner--cart {
          padding: 3.125rem 2.5rem; } }
      .modal:not(.def).modal .modal__cart__inner--cart .progress__inner:before {
        display: none; }
  .modal:not(.def).modal .modal__cart--recommended {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    background: #DAFDFF;
    padding: 1.5625rem 1.25rem; }
    @media (min-width: 992px) {
      .modal:not(.def).modal .modal__cart--recommended {
        padding: 3.125rem 2.5rem; } }
  .modal:not(.def).modal .modal__half {
    background: rgba(0, 0, 0, 0);
    justify-content: center; }
    .modal:not(.def).modal .modal__half > div:last-of-type {
      display: none; }

.modal-prepravka {
  padding: 0 !important; }
  .modal-prepravka .modal-dialog {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important; }
  .modal-prepravka .modal-header {
    background: white !important; }
    .modal-prepravka .modal-header .close:before {
      content: "\f00d";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      font-family: Font Awesome Light,Helvetica,Arial,sans-serif;
      color: #000;
      font-size: 3.125rem;
      font-weight: 400; }
  .modal-prepravka .modal-content {
    height: 100% !important;
    border: 0;
    border-radius: 0; }
    .modal-prepravka .modal-content iframe,
    .modal-prepravka .modal-content embed {
      border: 0;
      width: 100% !important;
      height: 99% !important; }
  .modal-prepravka .modal-body {
    overflow-y: auto; }

.link {
  transition: 0.3s ease-out;
  text-decoration: none; }
  .link:hover {
    text-decoration: none; }
  .link--1 {
    color: #17A6B0;
    background: rgba(0, 0, 0, 0); }
    .link--1:active, .link--1:hover {
      color: #215673;
      background: rgba(0, 0, 0, 0); }
      .link--1:active:focus, .link--1:hover:focus {
        color: #215673;
        background: rgba(0, 0, 0, 0); }
    .link--1:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .link--1:active:hover {
        box-shadow: none; }
    .link--1:focus {
      color: #215673;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .link--1:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
  .link--info {
    color: #A1A1A1;
    background: rgba(0, 0, 0, 0);
    display: block;
    margin: 1.25rem 0 0 0; }
    .link--info:active, .link--info:hover {
      color: #D6D6D6;
      background: rgba(0, 0, 0, 0); }
      .link--info:active:focus, .link--info:hover:focus {
        color: #D6D6D6;
        background: rgba(0, 0, 0, 0); }
    .link--info:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .link--info:active:hover {
        box-shadow: none; }
    .link--info:focus {
      color: #D6D6D6;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .link--info:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
    @media screen and (min-width: 480px) {
      .link--info {
        display: inline-block;
        margin: 0 0 0 1.25rem; } }
  .link--next {
    font-size: 1rem;
    line-height: 1.1875;
    color: #215673;
    background: rgba(0, 0, 0, 0);
    position: relative; }
    .link--next:active, .link--next:hover {
      color: #B0D9DC;
      background: rgba(0, 0, 0, 0); }
      .link--next:active:focus, .link--next:hover:focus {
        color: #B0D9DC;
        background: rgba(0, 0, 0, 0); }
    .link--next:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .link--next:active:hover {
        box-shadow: none; }
    .link--next:focus {
      color: #B0D9DC;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .link--next:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
    .link--next:after {
      content: '\f178';
      color: #215673;
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      margin-left: 0.625rem;
      transition: 0.3s ease-out; }
    .link--next:hover:after {
      color: #B0D9DC; }
  .link--scale .img-fluid {
    transition: 0.3s ease-out; }
  .link--scale:hover .img-fluid {
    transform: scale(1.05); }
  .link--scale--full {
    display: flex;
    height: 100%; }
    .link--scale--full .img-fluid {
      object-fit: cover;
      height: 100%; }
  .link--update {
    font-size: 1rem;
    line-height: 1.1875;
    color: #666666;
    background: rgba(0, 0, 0, 0);
    position: relative;
    border: 0;
    padding: 0;
    margin: 0;
    font-weight: 500; }
    .link--update:active, .link--update:hover {
      color: #A1A1A1;
      background: rgba(0, 0, 0, 0); }
      .link--update:active:focus, .link--update:hover:focus {
        color: #A1A1A1;
        background: rgba(0, 0, 0, 0); }
    .link--update:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .link--update:active:hover {
        box-shadow: none; }
    .link--update:focus {
      color: #A1A1A1;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .link--update:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
    .link--update:focus, .link--update:active {
      box-shadow: none;
      outline: 0; }
    .link--update:before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: calc(100% - 1.625rem);
      height: 1px;
      background: #666666;
      transition: 0.3s ease-out; }
    .link--update:after {
      content: '\f040';
      font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif;
      margin-left: 0.625rem;
      color: #A1A1A1; }
    .link--update:hover:before {
      opacity: 0; }
  .link--form {
    color: #318EFF;
    background: rgba(0, 0, 0, 0); }
    .link--form:active, .link--form:hover {
      color: #141414;
      background: rgba(0, 0, 0, 0); }
      .link--form:active:focus, .link--form:hover:focus {
        color: #141414;
        background: rgba(0, 0, 0, 0); }
    .link--form:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .link--form:active:hover {
        box-shadow: none; }
    .link--form:focus {
      color: #141414;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .link--form:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
    .link--form--1 {
      font-size: 0.875rem;
      line-height: 1.57143; }

.usp {
  color: #fff;
  background: #215673;
  padding: 2.5rem 0.9375rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: -1.25rem; }
  @media screen and (min-width: 1100px) {
    .usp {
      margin-bottom: 0; } }
  .usp__column {
    width: calc(100% / 2);
    margin: 0 0 1.25rem 0;
    position: relative;
    align-items: center;
    padding: 0.625rem 1.875rem;
    text-align: center; }
    @media (min-width: 576px) {
      .usp__column {
        text-align: left;
        display: flex;
        justify-content: center; } }
    @media screen and (min-width: 450px) {
      .usp__column {
        width: calc(100% / 2 - 1.875rem);
        margin: 0 0.9375rem 1.25rem 0.9375rem; } }
    @media screen and (min-width: 1100px) {
      .usp__column {
        width: calc(100% / 4 - 1.875rem);
        margin-bottom: 0; } }
    .usp__column:before {
      content: '\f0d1';
      margin: 0 0 0.9375rem 0;
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      font-size: 3.4375rem;
      font-weight: normal;
      height: 3.125rem;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media (min-width: 576px) {
        .usp__column:before {
          width: 3.125rem;
          margin: 0 1.875rem 0 0; } }
    .usp__column--1:before {
      content: '\f0d1'; }
    .usp__column--2:before {
      content: '\f51e'; }
    .usp__column--3:before {
      content: '\f1ad'; }
    .usp__column--4:before {
      content: '\f49a'; }
  .usp__text {
    font-size: 1rem;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 0;
    display: flex;
    flex-direction: column; }
    .usp__text span {
      font-size: 1.5rem;
      line-height: 1;
      font-weight: bold;
      text-transform: uppercase; }

.list {
  margin: 0 0 1.875rem 0; }
  .list.list--download .list__link {
    position: relative; }
    .list.list--download .list__link:before {
      content: '\f019';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      margin-right: 0.625rem; }
  .list__item {
    position: relative;
    padding: 0;
    margin-bottom: 0.625rem; }
    .list__item:before {
      display: none; }
  .list__link {
    transition: 0.3s ease-out;
    color: #fff;
    background: rgba(0, 0, 0, 0);
    font-size: 0.9375rem;
    line-height: 1.2; }
    .list__link:active, .list__link:hover {
      color: #215673;
      background: rgba(0, 0, 0, 0); }
      .list__link:active:focus, .list__link:hover:focus {
        color: #215673;
        background: rgba(0, 0, 0, 0); }
    .list__link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .list__link:active:hover {
        box-shadow: none; }
    .list__link:focus {
      color: #215673;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .list__link:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
    @media (min-width: 576px) {
      .list__link {
        font-size: 0.875rem;
        line-height: 1.14286; } }
    .list__link:hover {
      text-decoration: none; }
    .list__link--facebook {
      position: relative;
      display: flex;
      align-items: center; }
      .list__link--facebook:before {
        content: '\f39e';
        color: #fff;
        font-family: "Font Awesome Brand", Helvetica, Arial, sans-serif;
        font-size: 1rem;
        width: 1.875rem;
        height: 1.875rem;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #215673;
        margin-right: 0.625rem;
        border-radius: 50%; }
    .list__link--instagram {
      position: relative;
      display: flex;
      align-items: center; }
      .list__link--instagram:before {
        content: '\f16d';
        color: #fff;
        font-family: "Font Awesome Brand", Helvetica, Arial, sans-serif;
        font-size: 1rem;
        width: 1.875rem;
        height: 1.875rem;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #215673;
        margin-right: 0.625rem;
        border-radius: 50%; }
    .list__link--youtube {
      position: relative;
      display: flex;
      align-items: center; }
      .list__link--youtube:before {
        content: '\f167';
        color: #fff;
        font-family: "Font Awesome Brand", Helvetica, Arial, sans-serif;
        font-size: 1rem;
        width: 1.875rem;
        height: 1.875rem;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #215673;
        margin-right: 0.625rem;
        border-radius: 50%; }
  .list--1 {
    color: #A1A1A1;
    font-size: 1rem;
    line-height: 1.1875;
    margin-bottom: 0; }
    .list--1 .list__item {
      color: #A1A1A1;
      display: flex;
      justify-content: space-between;
      margin-bottom: 0.9375rem; }
      .list--1 .list__item span {
        color: #457B9D;
        font-weight: bold; }
    .list--1 .list__link {
      color: #457B9D;
      background: rgba(0, 0, 0, 0);
      font-weight: bold;
      text-decoration: underline;
      font-size: 1rem;
      line-height: 1.1875; }
      .list--1 .list__link:active, .list--1 .list__link:hover {
        color: #B0D9DC;
        background: rgba(0, 0, 0, 0); }
        .list--1 .list__link:active:focus, .list--1 .list__link:hover:focus {
          color: #B0D9DC;
          background: rgba(0, 0, 0, 0); }
      .list--1 .list__link:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .list--1 .list__link:active:hover {
          box-shadow: none; }
      .list--1 .list__link:focus {
        color: #B0D9DC;
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
        .list--1 .list__link:focus:hover {
          background: rgba(0, 0, 0, 0);
          text-decoration: none; }
  .list--2 .list__link {
    color: #A1A1A1;
    background: rgba(0, 0, 0, 0); }
    .list--2 .list__link:active, .list--2 .list__link:hover {
      color: #B0D9DC;
      background: rgba(0, 0, 0, 0); }
      .list--2 .list__link:active:focus, .list--2 .list__link:hover:focus {
        color: #B0D9DC;
        background: rgba(0, 0, 0, 0); }
    .list--2 .list__link:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .list--2 .list__link:active:hover {
        box-shadow: none; }
    .list--2 .list__link:focus {
      color: #B0D9DC;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .list--2 .list__link:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
  .list--3 {
    color: #A1A1A1;
    margin-bottom: 0;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .list--3 {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    @media (min-width: 992px) {
      .list--3 {
        column-gap: 1.875rem; } }
    .list--3 .list__item {
      color: #A1A1A1;
      display: flex;
      justify-content: space-between;
      margin-bottom: 0.9375rem; }
      .list--3 .list__item:last-of-type {
        margin-bottom: 0; }
      .list--3 .list__item span {
        color: #666666;
        font-weight: bold;
        text-align: right; }
    .list--3 .list__link {
      color: #457B9D;
      background: rgba(0, 0, 0, 0);
      font-weight: bold;
      text-decoration: underline;
      font-size: 1rem;
      line-height: 1.1875; }
      .list--3 .list__link:active, .list--3 .list__link:hover {
        color: #B0D9DC;
        background: rgba(0, 0, 0, 0); }
        .list--3 .list__link:active:focus, .list--3 .list__link:hover:focus {
          color: #B0D9DC;
          background: rgba(0, 0, 0, 0); }
      .list--3 .list__link:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .list--3 .list__link:active:hover {
          box-shadow: none; }
      .list--3 .list__link:focus {
        color: #B0D9DC;
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
        .list--3 .list__link:focus:hover {
          background: rgba(0, 0, 0, 0);
          text-decoration: none; }

.breadcrumb:not(.def) {
  background: rgba(0, 0, 0, 0);
  list-style-type: none;
  display: flex;
  padding: 0;
  margin-bottom: 1.875rem; }
  .breadcrumb:not(.def) a {
    transition: 0.3s ease-out;
    color: #A1A1A1;
    background: rgba(0, 0, 0, 0);
    text-decoration: none;
    font-size: 0.9375rem;
    line-height: 1.2; }
    .breadcrumb:not(.def) a:active, .breadcrumb:not(.def) a:hover {
      color: #B0D9DC;
      background: rgba(0, 0, 0, 0); }
      .breadcrumb:not(.def) a:active:focus, .breadcrumb:not(.def) a:hover:focus {
        color: #B0D9DC;
        background: rgba(0, 0, 0, 0); }
    .breadcrumb:not(.def) a:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .breadcrumb:not(.def) a:active:hover {
        box-shadow: none; }
    .breadcrumb:not(.def) a:focus {
      color: #B0D9DC;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .breadcrumb:not(.def) a:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
    @media (min-width: 576px) {
      .breadcrumb:not(.def) a {
        font-size: 0.875rem;
        line-height: 1.14286; } }
  .breadcrumb:not(.def) .breadcrumb-item {
    position: relative;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #A1A1A1; }
    .breadcrumb:not(.def) .breadcrumb-item:before {
      content: '\f105';
      font-size: 0.625rem;
      width: 0.625rem;
      margin-right: 0.3125rem;
      margin-left: 0.3125rem;
      display: flex;
      justify-content: center;
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      padding: 0; }
    .breadcrumb:not(.def) .breadcrumb-item:first-of-type:before {
      font-size: 0.75rem;
      color: #A1A1A1;
      content: '\f80c';
      font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif;
      margin-left: 0; }
    .breadcrumb:not(.def) .breadcrumb-item:last-of-type {
      color: #17A6B0;
      font-weight: bold;
      pointer-events: none; }

.bestseller {
  margin: 0 0 1.875rem 0;
  padding: 0;
  list-style-type: none; }
  .bestseller__item:last-of-type .bestseller__link {
    border-bottom: 1px solid #D6D6D6; }
  .bestseller__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.625rem 0.9375rem;
    border: 1px solid #D6D6D6;
    border-bottom: 0;
    transition: 0.3s ease-out; }
    @media (min-width: 768px) {
      .bestseller__link {
        padding: 0.9375rem 1.875rem; } }
    .bestseller__link:hover {
      text-decoration: none;
      background: #f6f6f6; }
  .bestseller__count {
    min-width: 1.5625rem;
    width: 1.5625rem;
    height: 1.5625rem;
    color: #fff;
    font-weight: bold;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.625rem;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .bestseller__count {
        font-size: 0.75rem;
        line-height: 1.25; } }
    @media (min-width: 768px) {
      .bestseller__count {
        min-width: 2.5rem;
        width: 2.5rem;
        height: 2.5rem;
        font-size: 1.125rem;
        line-height: 1;
        margin-right: 1.875rem; } }
    .bestseller__count--1 {
      background: #FBBF00; }
    .bestseller__count--2 {
      background: #D6D6D6; }
    .bestseller__count--3 {
      background: #BC9B4E; }
  .bestseller__title {
    color: #17A6B0;
    font-size: 0.9375rem;
    line-height: 1.2;
    margin-bottom: 0; }
    @media (min-width: 768px) {
      .bestseller__title {
        font-size: 1rem;
        line-height: 1.1875;
        margin-bottom: 0.1875rem; } }
  .bestseller__code {
    color: #A1A1A1;
    margin-right: 1.25rem;
    margin-bottom: 0;
    display: none;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .bestseller__code {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    @media (min-width: 768px) {
      .bestseller__code {
        display: inline-block;
        margin-right: 0.625rem; } }
    @media (min-width: 992px) {
      .bestseller__code {
        margin-right: 1.25rem; } }
    .bestseller__code span {
      color: #457B9D;
      font-weight: bold; }
  .bestseller__availability {
    color: #A1A1A1;
    margin-right: 1.25rem;
    margin-bottom: 0;
    display: none;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .bestseller__availability {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    @media (min-width: 768px) {
      .bestseller__availability {
        display: inline-block;
        margin-right: 0.625rem; } }
    @media (min-width: 992px) {
      .bestseller__availability {
        margin-right: 1.25rem; } }
    .bestseller__availability span {
      color: #1FD47E;
      font-weight: bold; }
  .bestseller__mark {
    color: #A1A1A1;
    margin-right: 1.25rem;
    margin-bottom: 0;
    display: none;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .bestseller__mark {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    @media (min-width: 768px) {
      .bestseller__mark {
        display: inline-block;
        margin-right: 0.625rem; } }
    @media (min-width: 992px) {
      .bestseller__mark {
        margin-right: 1.25rem; } }
    .bestseller__mark span {
      color: #457B9D;
      font-weight: bold; }
  .bestseller__text {
    color: #A1A1A1;
    margin-bottom: 0;
    display: none;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .bestseller__text {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    @media (min-width: 768px) {
      .bestseller__text {
        display: inline-block; } }
    .bestseller__text span {
      color: #A1A1A1; }
  .bestseller__discount {
    color: #17A6B0;
    font-size: 1.125rem;
    line-height: 1.16667;
    font-weight: bold;
    margin-right: 1.25rem;
    display: none;
    white-space: nowrap; }
    @media (min-width: 768px) {
      .bestseller__discount {
        display: inline-block; } }
  .bestseller__price {
    color: #215673;
    font-size: 0.9375rem;
    line-height: 1.2;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    white-space: nowrap; }
    @media (min-width: 768px) {
      .bestseller__price {
        font-size: 1.25rem;
        line-height: 1.2; } }
    .bestseller__price--before {
      color: #D6D6D6;
      text-decoration: line-through;
      font-size: 0.9375rem;
      line-height: 1.2; }
      @media (min-width: 576px) {
        .bestseller__price--before {
          font-size: 0.75rem;
          line-height: 1.16667; } }
      @media (min-width: 768px) {
        .bestseller__price--before {
          font-size: 0.875rem;
          line-height: 1.14286; } }
  .bestseller__img {
    margin-right: 0.625rem;
    max-width: 3.375rem; }
    @media (min-width: 768px) {
      .bestseller__img {
        margin-right: 1.875rem;
        max-width: 3.75rem; } }
  .bestseller__col {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 31.25rem;
    margin-right: 0.625rem; }
    @media (min-width: 768px) {
      .bestseller__col {
        margin-right: 1.25rem; } }
    @media screen and (min-width: 850px) {
      .bestseller__col {
        max-width: 37.5rem; } }
    @media screen and (min-width: 1100px) {
      .bestseller__col {
        max-width: 50rem; } }
    @media screen and (min-width: 1300px) {
      .bestseller__col {
        max-width: 62.5rem; } }
    .bestseller__col--inner {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      text-align: left; }

.cta {
  width: 100%;
  text-align: center;
  color: #fff;
  background: #17A6B0;
  border-top: 1px solid #17A6B0;
  border-bottom: 1px solid #17A6B0;
  padding: 1.25rem;
  margin-bottom: 1.875rem;
  display: inline-block;
  transition: 0.3s ease-out; }
  .cta span {
    color: #215673;
    transition: 0.3s ease-out; }
  .cta:hover {
    color: #215673;
    text-decoration: none; }
    .cta:hover span {
      text-decoration: underline; }

.pagination {
  width: 100%;
  text-align: center;
  margin: 0 0 1.875rem 0;
  display: block; }
  .pagination li {
    display: inline-block; }
    .pagination li a {
      font-size: 1rem;
      line-height: 1;
      padding: 0;
      height: 2rem;
      width: 2rem;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      transition: 0.3s ease-out;
      background: transparent;
      text-decoration: none;
      border: 1px solid #D6D6D6;
      margin-left: 0.3125rem;
      color: #A1A1A1;
      background: rgba(0, 0, 0, 0); }
      .pagination li a:active, .pagination li a:hover {
        color: #17A6B0;
        background: #f6f6f6; }
        .pagination li a:active:focus, .pagination li a:hover:focus {
          color: #17A6B0;
          background: #f6f6f6; }
      .pagination li a:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .pagination li a:active:hover {
          box-shadow: none; }
      .pagination li a:focus {
        color: #17A6B0;
        background: #f6f6f6;
        text-decoration: none; }
        .pagination li a:focus:hover {
          background: #f6f6f6;
          text-decoration: none; }
      .pagination li a:hover {
        border: 1px solid #17A6B0; }
      @media (min-width: 576px) {
        .pagination li a {
          height: 3rem;
          width: 3rem; } }
    .pagination li.pagination__prev {
      float: left; }
    .pagination li.pagination__next {
      float: right; }
    @media (max-width: 767.98px) {
      .pagination li.pagination__prev, .pagination li.pagination__next {
        display: none; } }
    .pagination li.pagination__prev a, .pagination li.pagination__next a {
      color: #000;
      border: 1px solid #000; }
      @media (min-width: 768px) {
        .pagination li.pagination__prev a, .pagination li.pagination__next a {
          border-radius: 0;
          min-width: 10rem;
          padding: 0.75rem;
          font-size: 1.125rem;
          line-height: 1.16667;
          border: 0;
          transition: 0.3s ease-out;
          font-weight: normal;
          color: #fff;
          background: #17A6B0; }
          .pagination li.pagination__prev a:active, .pagination li.pagination__prev a:hover, .pagination li.pagination__next a:active, .pagination li.pagination__next a:hover {
            color: #fff;
            background: #B0D9DC; }
            .pagination li.pagination__prev a:active:focus, .pagination li.pagination__prev a:hover:focus, .pagination li.pagination__next a:active:focus, .pagination li.pagination__next a:hover:focus {
              color: #fff;
              background: #B0D9DC; }
          .pagination li.pagination__prev a:active, .pagination li.pagination__next a:active {
            box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
            .pagination li.pagination__prev a:active:hover, .pagination li.pagination__next a:active:hover {
              box-shadow: none; }
          .pagination li.pagination__prev a:focus, .pagination li.pagination__next a:focus {
            color: #fff;
            background: #B0D9DC;
            text-decoration: none; }
            .pagination li.pagination__prev a:focus:hover, .pagination li.pagination__next a:focus:hover {
              background: #B0D9DC;
              text-decoration: none; } }
    .pagination li.active a {
      border: 1px solid #17A6B0;
      font-weight: bold;
      color: #17A6B0;
      background: #F6F6F6; }
      .pagination li.active a:active, .pagination li.active a:hover {
        color: #17A6B0;
        background: #f6f6f6; }
        .pagination li.active a:active:focus, .pagination li.active a:hover:focus {
          color: #17A6B0;
          background: #f6f6f6; }
      .pagination li.active a:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .pagination li.active a:active:hover {
          box-shadow: none; }
      .pagination li.active a:focus {
        color: #17A6B0;
        background: #f6f6f6;
        text-decoration: none; }
        .pagination li.active a:focus:hover {
          background: #f6f6f6;
          text-decoration: none; }
    .pagination li.pagination__dots a {
      opacity: .9;
      color: #A1A1A1;
      background: #f6f6f6; }
      .pagination li.pagination__dots a:active, .pagination li.pagination__dots a:hover {
        color: #17A6B0;
        background: #f6f6f6; }
        .pagination li.pagination__dots a:active:focus, .pagination li.pagination__dots a:hover:focus {
          color: #17A6B0;
          background: #f6f6f6; }
      .pagination li.pagination__dots a:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .pagination li.pagination__dots a:active:hover {
          box-shadow: none; }
      .pagination li.pagination__dots a:focus {
        color: #17A6B0;
        background: #f6f6f6;
        text-decoration: none; }
        .pagination li.pagination__dots a:focus:hover {
          background: #f6f6f6;
          text-decoration: none; }
    .pagination li:first-of-type a {
      margin-left: 0; }
  .pagination .disabled {
    opacity: .5;
    pointer-events: none;
    cursor: default; }

.social {
  display: flex;
  align-items: center;
  margin-bottom: 1.25rem; }
  .social__item {
    margin-right: 0.1875rem; }
    .social__item:first-of-type {
      margin-right: 0.625rem; }
  .social__link {
    position: relative; }
    .social__link:before {
      content: '';
      font-family: "Font Awesome Brand", Helvetica, Arial, sans-serif;
      color: #A1A1A1;
      background: #D6D6D6;
      font-size: 1.125rem;
      width: 2.1875rem;
      height: 2.1875rem;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: 0.3s ease-out;
      border-radius: 2px; }
    .social__link:hover {
      text-decoration: none; }
      .social__link:hover:before {
        color: #fff;
        background: #B0D9DC; }
    .social__link--share {
      display: flex;
      align-items: center;
      color: #A1A1A1;
      transition: 0.3s ease-out;
      font-size: 0.9375rem;
      line-height: 1.2; }
      @media (min-width: 576px) {
        .social__link--share {
          font-size: 0.875rem;
          line-height: 1.14286; } }
      .social__link--share:before {
        content: '\f1e0';
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        margin-right: 0.375rem;
        background: rgba(0, 0, 0, 0); }
      .social__link--share:hover {
        color: #A1A1A1; }
        .social__link--share:hover:before {
          background: rgba(0, 0, 0, 0); }
    .social__link--facebook:before {
      content: '\f39e'; }
    .social__link--twitter:before {
      content: '\f099'; }
    .social__link--instagram:before {
      content: '\f16d'; }

.panel {
  padding: 1.875rem;
  background: #f6f6f6;
  margin-bottom: 1.875rem; }
  .panel--1 {
    padding: 4.0625rem 1.875rem 3.75rem 1.875rem;
    background: #f6f6f6;
    text-align: center;
    width: 100%;
    margin: 0 15px; }
  .panel--2 {
    padding: 0; }
    .panel--2 .panel__title {
      background: #f6f6f6;
      padding: 1.25rem 1.875rem;
      border-bottom: 1px solid #D6D6D6;
      margin-bottom: 0;
      text-transform: uppercase;
      color: #A1A1A1;
      font-weight: bold;
      font-size: 1rem;
      line-height: 1.1875; }
    .panel--2 .panel__content {
      background: #f6f6f6;
      padding: 1.25rem 1.875rem; }
  .panel--3 {
    padding: 1.875rem;
    background: #f6f6f6;
    text-align: center;
    width: 100%;
    margin: 0 15px; }
  .panel--4 {
    padding: 1.875rem 0.625rem;
    background: #ECECEC; }
    @media screen and (min-width: 1400px) {
      .panel--4 {
        padding: 1.875rem; } }
    .panel--4 .text--2 {
      line-height: 1.875rem; }
      .panel--4 .text--2.ico:before {
        color: #17A6B0; }
    .panel--4 .panel__title {
      color: #17A6B0;
      font-size: 0.875rem;
      line-height: 2.14286;
      font-weight: bold;
      margin-bottom: 0; }
    .panel--4 .panel__inner {
      display: flex;
      gap: 0.9375rem;
      flex-wrap: wrap; }
      @media screen and (min-width: 1400px) {
        .panel--4 .panel__inner {
          gap: 1.875rem; } }
      .panel--4 .panel__inner__column {
        width: calc(100% / 3 - 1.875rem);
        min-width: 12.5rem; }
    .panel--4 .ico {
      padding-left: 1.375rem; }
      .panel--4 .ico:before {
        font-size: 0.75rem; }
  .panel__data {
    padding: 1.25rem 1.875rem 1.875rem 1.875rem;
    background: #f6f6f6;
    height: 100%; }
  .panel--full {
    height: 100%;
    overflow: hidden; }
    .panel--full .panel__content {
      height: 100%; }
  .panel .ico--check {
    width: 5.625rem;
    height: 5.625rem;
    margin: 0 auto 3.75rem auto;
    display: inline-block;
    position: relative; }
    .panel .ico--check:before {
      content: '\f058';
      font-size: 5.625rem;
      width: 5.625rem;
      height: 5.625rem;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      color: #1FD47E; }
  .panel .ico--warning {
    width: 5.625rem;
    height: 5.625rem;
    margin: 0 auto 3.75rem auto;
    display: inline-block;
    position: relative; }
    .panel .ico--warning:before {
      content: '\f5b4';
      font-size: 5.625rem;
      width: 5.625rem;
      height: 5.625rem;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      color: #A1A1A1; }
  .panel.err {
    position: relative; }
    .panel.err:before {
      content: '';
      position: absolute;
      bottom: -2.375rem;
      right: 0;
      background: url("../images/others/404.svg") no-repeat center/contain;
      height: 17.5rem;
      width: 29.89313rem; }

.collapse__row {
  margin-bottom: 0.625rem; }
  .collapse__row:last-of-type {
    margin-bottom: 0rem; }
  .collapse__row--full {
    height: 100%;
    overflow: hidden; }
    .collapse__row--full .collapse__inner {
      height: 100%; }

.collapse__title {
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1.2;
  color: #A1A1A1;
  text-transform: uppercase;
  font-weight: bold;
  padding: 1.25rem 3.125rem 1.25rem 1.875rem;
  background: #f6f6f6;
  position: relative;
  transition: 0.3s ease-out; }
  .collapse__title:after {
    content: '\f107';
    position: absolute;
    top: 50%;
    right: 1.875rem;
    transform: translateY(-50%);
    font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
    font-weight: normal; }
  .collapse__title[aria-expanded="true"] {
    color: #141414; }
    .collapse__title[aria-expanded="true"]:after {
      content: '\f106';
      color: #141414; }
    .collapse__title[aria-expanded="true"] .form-checkbox label, .collapse__title[aria-expanded="true"] .form-checkbox .form .form-group.file .label-file, .form .form-group.file .collapse__title[aria-expanded="true"] .form-checkbox .label-file {
      color: #666666; }
  .collapse__title--notCollapsing {
    cursor: auto; }
    .collapse__title--notCollapsing:after {
      display: none; }
  .collapse__title--arrow {
    display: flex;
    align-items: center; }
    .collapse__title--arrow:before {
      color: #A1A1A1;
      content: '\f063';
      font-family: "Font Awesome Regular", Helvetica, Arial, sans-serif;
      margin-right: 0.625rem;
      font-size: 0.875rem; }
  .collapse__title--main {
    background: #ECECEC; }
    .collapse__title--main[aria-expanded="true"] {
      color: #141414; }
  .collapse__title label, .collapse__title .form .form-group.file .label-file, .form .form-group.file .collapse__title .label-file {
    cursor: pointer; }
  .collapse__title .form-checkbox {
    margin-bottom: 0;
    font-size: 1.25rem;
    line-height: 1.2; }
    .collapse__title .form-checkbox input[type="checkbox"] + label span, .collapse__title .form-checkbox .form .form-group.file input[type="checkbox"] + .label-file span, .form .form-group.file .collapse__title .form-checkbox input[type="checkbox"] + .label-file span {
      border: 1px solid #D6D6D6; }
    .collapse__title .form-checkbox label, .collapse__title .form-checkbox .form .form-group.file .label-file, .form .form-group.file .collapse__title .form-checkbox .label-file {
      color: #A1A1A1; }

.collapse__inner {
  background: #f6f6f6;
  padding: 0 1.875rem 1.25rem 1.875rem; }
  .collapse__inner--main {
    background: #ECECEC; }
  .collapse__inner--company {
    position: relative; }
    .collapse__inner--company:before {
      content: '\f1ad';
      font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif;
      position: absolute;
      width: 10.625rem;
      height: 10.625rem;
      font-size: 10.625rem;
      bottom: 4.0625rem;
      right: 1.875rem;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ECECEC; }
  .collapse__inner .text {
    color: #A1A1A1; }
    .collapse__inner .text:last-of-type {
      margin-bottom: 0.625rem; }
  .collapse__inner .form-checkbox {
    margin-bottom: 0;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .collapse__inner .form-checkbox {
        font-size: 0.875rem;
        line-height: 1.14286; } }
    .collapse__inner .form-checkbox input[type="checkbox"] + label span, .collapse__inner .form-checkbox .form .form-group.file input[type="checkbox"] + .label-file span, .form .form-group.file .collapse__inner .form-checkbox input[type="checkbox"] + .label-file span {
      border: 1px solid #D6D6D6; }
    .collapse__inner .form-checkbox label, .collapse__inner .form-checkbox .form .form-group.file .label-file, .form .form-group.file .collapse__inner .form-checkbox .label-file {
      color: #666666; }

.recommendedBox {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none; }
  .recommendedBox__item {
    margin-bottom: 0; }
  .recommendedBox__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.9375rem;
    border-bottom: 1px solid #B0D9DC;
    background: #fff; }
    @media (min-width: 768px) {
      .recommendedBox__link {
        padding: 0.9375rem; } }
    .recommendedBox__link:hover {
      text-decoration: none; }
  .recommendedBox__col {
    display: flex;
    align-items: center;
    width: 100%; }
  .recommendedBox__img {
    margin-right: 0.625rem;
    max-width: 3.375rem;
    max-height: 3.375rem; }
    @media (min-width: 768px) {
      .recommendedBox__img {
        margin-right: 0.9375rem;
        max-width: 3.75rem;
        max-height: 100%; } }
  .recommendedBox__title {
    color: #141414;
    margin-bottom: 0.1875rem;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .recommendedBox__title {
        font-size: 0.875rem;
        line-height: 1.14286; } }
    @media (min-width: 768px) {
      .recommendedBox__title {
        font-size: 1rem;
        line-height: 1.1875; } }
  .recommendedBox__price {
    color: #215673;
    display: flex;
    white-space: nowrap;
    font-weight: bold;
    align-items: baseline;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .recommendedBox__price {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    @media (min-width: 768px) {
      .recommendedBox__price {
        font-size: 0.875rem;
        line-height: 1.14286; } }
    .recommendedBox__price--before {
      color: #D6D6D6;
      text-decoration: line-through;
      font-weight: normal;
      margin-left: 0.3125rem;
      font-size: 0.9375rem;
      line-height: 1.2; }
      @media (min-width: 576px) {
        .recommendedBox__price--before {
          font-size: 0.75rem;
          line-height: 1.16667; } }
  .recommendedBox__discount {
    color: #17A6B0;
    font-weight: bold;
    margin-right: 1.25rem;
    display: none;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .recommendedBox__discount {
        font-size: 0.625rem;
        line-height: 1.2; } }
    @media (min-width: 768px) {
      .recommendedBox__discount {
        font-size: 0.75rem;
        line-height: 1.16667;
        display: inline-block; } }
  .recommendedBox__text {
    color: #A1A1A1;
    margin-right: 1.25rem;
    margin-bottom: 0;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .recommendedBox__text {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    @media (min-width: 768px) {
      .recommendedBox__text {
        display: inline-block;
        margin-right: 0.625rem; } }
    @media (min-width: 992px) {
      .recommendedBox__text {
        margin-right: 1.25rem; } }

.progress {
  width: 100%;
  border-radius: 0;
  background-color: #fff;
  border: 1px solid #17A6B0; }
  .progress__inner {
    position: relative;
    display: flex;
    align-items: center; }
    .progress__inner:before {
      content: attr(data-min) " Kč";
      color: #141414;
      margin-right: 0.9375rem;
      white-space: nowrap;
      font-size: 0.9375rem;
      line-height: 1.2; }
      @media (min-width: 576px) {
        .progress__inner:before {
          font-size: 0.75rem;
          line-height: 1.16667; } }
    .progress__inner:after {
      content: attr(data-max) " Kč";
      color: #141414;
      white-space: nowrap;
      margin-left: 0.9375rem;
      font-size: 0.9375rem;
      line-height: 1.2; }
      @media (min-width: 576px) {
        .progress__inner:after {
          font-size: 0.75rem;
          line-height: 1.16667; } }
  .progress__wrapper {
    padding: 0.625rem;
    background: #f6f6f6;
    margin-bottom: 1.875rem; }
    @media screen and (min-width: 500px) {
      .progress__wrapper {
        padding: 1.875rem; } }
  .progress__title {
    color: #666666;
    font-size: 1rem;
    line-height: 1.3125;
    position: relative;
    margin-bottom: 1.25rem; }
    .progress__title:before {
      content: '\f0d1';
      color: #666666;
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      margin-right: 0.9375rem;
      display: none;
      font-size: 1.5rem; }
      @media screen and (min-width: 500px) {
        .progress__title:before {
          display: inline-block; } }
  @media (min-width: 576px) {
    .progress__btn {
      display: flex;
      justify-content: space-between; } }
  .progress .progress-bar {
    background: #17A6B0;
    border: 2px solid #fff; }

.cart__nav {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 1.875rem;
  border-bottom: 1px solid #D6D6D6; }
  .cart__nav > li {
    width: calc(100% / 4); }
    .cart__nav > li a {
      width: 100%;
      padding: 0.625rem 0.3125rem;
      display: inline-block;
      height: 100%;
      font-size: 0.9375rem;
      line-height: 1.2; }
      @media (min-width: 576px) {
        .cart__nav > li a {
          font-size: 0.75rem;
          line-height: 1.33333; } }
      @media screen and (min-width: 600px) {
        .cart__nav > li a {
          padding: 0.9375rem 0;
          font-size: 1rem;
          line-height: 1.1875; } }
      @media screen and (min-width: 800px) {
        .cart__nav > li a {
          font-size: 1rem;
          line-height: 1.1875; } }
      @media (min-width: 992px) {
        .cart__nav > li a {
          padding: 1.0625rem; } }
  .cart__nav--client {
    justify-content: flex-start; }
    .cart__nav--client > li {
      width: calc(100% / 3); }
      @media (min-width: 992px) {
        .cart__nav--client > li {
          width: calc(100% / 4); } }
      .cart__nav--client > li a {
        display: flex;
        align-items: center;
        justify-content: center; }

.cart__title {
  text-transform: uppercase;
  color: #A1A1A1;
  font-weight: bold;
  border-bottom: 4px solid #fff;
  transition: 0.3s ease-out;
  font-size: 0.9375rem;
  line-height: 1.2; }
  @media (min-width: 576px) {
    .cart__title {
      font-size: 0.875rem;
      line-height: 1.28571; } }
  @media screen and (min-width: 850px) {
    .cart__title {
      font-size: 1rem;
      line-height: 1.1875; } }
  .cart__title.active {
    color: #17A6B0;
    border-bottom: 4px solid #17A6B0; }
  .cart__title.disable {
    pointer-events: none; }
  .cart__title:hover {
    text-decoration: none;
    color: #17A6B0; }
  .cart__title--1 {
    color: #141414;
    font-size: 1.125rem;
    line-height: 1.38889;
    margin-bottom: 1.25rem;
    font-weight: normal; }

.cart__product {
  margin: 0 0 1.875rem 0;
  padding: 0;
  list-style-type: none; }
  .cart__product__item {
    margin-bottom: 0; }
    .cart__product__item:last-of-type .cart__product__link {
      border-bottom: 1px solid #D6D6D6; }
  .cart__product__link {
    padding: 1.25rem 0.9375rem;
    border: 1px solid #D6D6D6;
    border-bottom: 0;
    text-align: center; }
    @media screen and (min-width: 800px) {
      .cart__product__link {
        padding: 0.9375rem 1.875rem;
        display: grid;
        grid-template-columns: 50% 1fr 1fr 1fr;
        align-items: center;
        grid-gap: 0.9375rem; } }
    .cart__product__link:hover {
      text-decoration: none; }
  .cart__product__count {
    min-width: 1.5625rem;
    width: 1.5625rem;
    height: 1.5625rem;
    color: #fff;
    font-weight: bold;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.625rem;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .cart__product__count {
        font-size: 0.75rem;
        line-height: 1.25; } }
    @media screen and (min-width: 800px) {
      .cart__product__count {
        min-width: 2.5rem;
        width: 2.5rem;
        height: 2.5rem;
        font-size: 1.125rem;
        line-height: 1;
        margin-right: 1.875rem; } }
    .cart__product__count--1 {
      background: #FBBF00; }
    .cart__product__count--2 {
      background: #D6D6D6; }
    .cart__product__count--3 {
      background: #BC9B4E; }
  .cart__product__title {
    color: #141414;
    font-size: 0.9375rem;
    line-height: 1.2;
    margin-bottom: 0; }
    @media screen and (min-width: 800px) {
      .cart__product__title {
        font-size: 1.125rem;
        line-height: 1.38889;
        margin-bottom: 0.1875rem; } }
  .cart__product__code {
    color: #A1A1A1;
    margin-right: 1.25rem;
    margin-bottom: 0;
    display: inline-block;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .cart__product__code {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    .cart__product__code span {
      color: #666666;
      font-weight: bold; }
  .cart__product__availability {
    color: #A1A1A1;
    margin-right: 1.25rem;
    margin-bottom: 0;
    display: inline-block;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .cart__product__availability {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    .cart__product__availability span {
      color: #1FD47E;
      font-weight: bold; }
  .cart__product__mark {
    color: #A1A1A1;
    margin-bottom: 0;
    display: inline-block;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .cart__product__mark {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    .cart__product__mark span {
      color: #666666;
      font-weight: bold; }
  .cart__product__variant {
    color: #A1A1A1;
    margin-bottom: 0.3125rem;
    display: inline-block;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .cart__product__variant {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    .cart__product__variant span {
      color: #666666;
      font-weight: bold; }
  .cart__product__text {
    color: #A1A1A1;
    display: inline-block;
    margin-bottom: 0.625rem;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .cart__product__text {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    .cart__product__text span {
      color: #457B9D; }
    .cart__product__text:last-of-type {
      margin-bottom: 0.9375rem; }
      @media screen and (min-width: 800px) {
        .cart__product__text:last-of-type {
          margin-bottom: 0; } }
  .cart__product__discount {
    color: #666666;
    font-size: 1.125rem;
    line-height: 1.16667;
    font-weight: bold;
    display: inline-block;
    margin: 0.625rem;
    white-space: nowrap; }
    @media screen and (min-width: 800px) {
      .cart__product__discount {
        margin: 0; } }
  .cart__product__price {
    color: #17A6B0;
    font-size: 0.9375rem;
    line-height: 1.2;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    white-space: nowrap; }
    @media screen and (min-width: 800px) {
      .cart__product__price {
        font-size: 1.25rem;
        line-height: 1.2; } }
    .cart__product__price--before {
      color: #A1A1A1;
      font-size: 0.75rem;
      line-height: 1.16667;
      font-weight: normal; }
      @media screen and (min-width: 800px) {
        .cart__product__price--before {
          font-size: 0.875rem;
          line-height: 1.14286; } }
  .cart__product__img {
    margin: 0 auto 1.25rem auto;
    max-width: 3.75rem; }
    @media screen and (min-width: 800px) {
      .cart__product__img {
        margin: 0 1.25rem 0 0; } }
  .cart__product__col {
    display: flex;
    flex-direction: column;
    justify-content: center; }
    @media screen and (min-width: 800px) {
      .cart__product__col {
        justify-content: flex-start;
        flex-direction: row;
        align-items: center;
        width: 100%;
        max-width: 23.75rem; } }
    @media screen and (min-width: 950px) {
      .cart__product__col {
        max-width: 31.25rem; } }
    @media screen and (min-width: 1100px) {
      .cart__product__col {
        max-width: 37.5rem; } }
    @media screen and (min-width: 1300px) {
      .cart__product__col {
        max-width: 43.125rem; } }
    .cart__product__col:hover {
      text-decoration: none; }
    .cart__product__col--inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center; }
      @media screen and (min-width: 800px) {
        .cart__product__col--inner {
          align-items: flex-start;
          text-align: left; } }
  .cart__product__remove {
    position: relative;
    border: 0;
    padding: 0;
    margin: 0 0 0 1.875rem;
    box-shadow: none;
    background: rgba(0, 0, 0, 0);
    width: 1.875rem;
    height: 1.875rem;
    display: flex;
    align-items: center;
    justify-content: center; }
    .cart__product__remove:before {
      content: '\f057';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      color: #FB003D;
      font-size: 1.875rem;
      width: 1.875rem;
      height: 1.875rem;
      display: flex;
      align-items: center;
      justify-content: center; }
  .cart__product__refresh {
    position: relative;
    border: 0;
    padding: 0;
    margin: 0.9375rem;
    box-shadow: none;
    background: rgba(0, 0, 0, 0);
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center; }
    .cart__product__refresh:before {
      content: '\f01e';
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      color: #17A6B0;
      font-size: 1.25rem; }
  .cart__product__amount .form-group {
    margin-bottom: 0; }
    .cart__product__amount .form-group .help-block {
      display: none; }
    .cart__product__amount .form-group.amount.has-error .input-wrapper:before, .cart__product__amount .form-group.amount.success .input-wrapper:before {
      display: none; }
    .cart__product__amount .form-group.amount .input-wrapper {
      display: flex; }
      .cart__product__amount .form-group.amount .input-wrapper .form-control {
        border-top: 1px solid #D6D6D6;
        border-bottom: 1px solid #D6D6D6;
        border-left: 0;
        border-right: 0;
        width: 3.125rem;
        height: 2.875rem; }
    .cart__product__amount .form-group.amount .btn {
      padding: 0;
      position: relative;
      width: 2.875rem;
      height: 2.875rem; }
      .cart__product__amount .form-group.amount .btn:before {
        content: '';
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        color: #B0D9DC;
        font-size: 0.75rem;
        padding: 0.8125rem;
        position: absolute;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center; }
      .cart__product__amount .form-group.amount .btn--minus:before {
        content: '\f068';
        border-top: 1px solid #D6D6D6;
        border-left: 1px solid #D6D6D6;
        border-bottom: 1px solid #D6D6D6;
        top: 0;
        left: 0; }
      .cart__product__amount .form-group.amount .btn--plus:before {
        content: '\f067';
        border-top: 1px solid #D6D6D6;
        border-right: 1px solid #D6D6D6;
        border-bottom: 1px solid #D6D6D6;
        top: 0;
        right: 0; }
  .cart__product__amount .form-control {
    border-radius: 0;
    width: 3.125rem;
    height: 2.5rem;
    font-size: 1rem;
    line-height: 1.1875;
    color: #A1A1A1;
    border: 1px solid #D6D6D6; }
    .cart__product__amount .form-control::placeholder {
      color: #A1A1A1; }
  @media screen and (min-width: 800px) {
    .cart__product--final .cart__product__link {
      grid-template-columns: 60% 1fr 1fr 1fr; } }

.cart__box__wrapper .progress__wrapper {
  height: 100%;
  margin-bottom: 0;
  padding: 1.875rem; }

.cart__box__wrapper .progress__inner:before {
  display: none; }

.cart__price {
  padding: 1.875rem;
  border: 1px solid #D6D6D6;
  margin-bottom: 1.875rem;
  color: #141414; }
  .cart__price--without {
    margin-bottom: 0.3125rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .cart__price--without {
        font-size: 0.875rem;
        line-height: 1.14286; } }
    .cart__price--without span {
      color: #A1A1A1; }
  .cart__price--vat {
    margin-bottom: 0.625rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .cart__price--vat {
        font-size: 0.875rem;
        line-height: 1.14286; } }
    .cart__price--vat span {
      color: #A1A1A1; }
  .cart__price--total {
    font-size: 1.125rem;
    line-height: 1.16667;
    font-weight: bold;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .cart__price--total span {
      color: #1FD47E;
      font-size: 1.625rem;
      line-height: 1.19231;
      white-space: nowrap; }
      @media screen and (min-width: 800px) {
        .cart__price--total span {
          font-size: 2rem;
          line-height: 1.1875; } }

.cart__link {
  color: #A1A1A1;
  background: rgba(0, 0, 0, 0);
  font-size: 1rem;
  line-height: 1.1875;
  position: relative;
  text-decoration: underline;
  padding-left: 1.5625rem;
  transition: 0.3s ease-out; }
  .cart__link:active, .cart__link:hover {
    color: #D6D6D6;
    background: rgba(0, 0, 0, 0); }
    .cart__link:active:focus, .cart__link:hover:focus {
      color: #D6D6D6;
      background: rgba(0, 0, 0, 0); }
  .cart__link:active {
    box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
    .cart__link:active:hover {
      box-shadow: none; }
  .cart__link:focus {
    color: #D6D6D6;
    background: rgba(0, 0, 0, 0);
    text-decoration: none; }
    .cart__link:focus:hover {
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
  .cart__link:before {
    content: '\f104';
    font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
    color: #B0D9DC;
    font-size: 1.125rem;
    width: 1rem;
    height: 1rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center; }
  .cart__link__wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column; }
    @media screen and (min-width: 500px) {
      .cart__link__wrapper {
        flex-direction: row; } }
    .cart__link__wrapper .btn {
      width: 100%;
      max-width: 100%;
      order: -1;
      margin-bottom: 1.25rem; }
      @media screen and (min-width: 500px) {
        .cart__link__wrapper .btn {
          max-width: 20.625rem;
          order: 1;
          margin-bottom: 0; } }
      @media screen and (min-width: 800px) {
        .cart__link__wrapper .btn {
          min-width: 12.5rem; } }

.cart__delivery {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.875rem;
  width: 100%; }
  @media screen and (min-width: 800px) {
    .cart__delivery {
      margin-bottom: 0; } }
  .cart__delivery__price {
    color: #FB003D;
    font-size: 1.25rem;
    line-height: 1.2;
    font-weight: bold;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0.9375rem; }
    @media screen and (min-width: 800px) {
      .cart__delivery__price {
        right: 1.875rem; } }
  .cart__delivery__row {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    position: relative;
    border: 1px solid #D6D6D6;
    border-bottom: 0; }
    .cart__delivery__row label, .cart__delivery__row .form .form-group.file .label-file, .form .form-group.file .cart__delivery__row .label-file {
      cursor: pointer;
      margin-bottom: 0;
      padding: 1.25rem 5.9375rem 1.25rem 0.9375rem;
      width: 100%;
      z-index: 1; }
      @media screen and (min-width: 800px) {
        .cart__delivery__row label, .cart__delivery__row .form .form-group.file .label-file, .form .form-group.file .cart__delivery__row .label-file {
          padding: 1.25rem 6.875rem 1.25rem 1.875rem; } }
    .cart__delivery__row:last-of-type {
      border-bottom: 1px solid #D6D6D6; }
    .cart__delivery__row.checked {
      background: #f6f6f6; }
  .cart__delivery__inner {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative; }
    .cart__delivery__inner input {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 1.875rem; }
  .cart__delivery__bottom {
    padding: 0 0.9375rem 1.25rem 0.9375rem; }
    @media screen and (min-width: 800px) {
      .cart__delivery__bottom {
        padding: 0 1.875rem 1.25rem 1.875rem; } }
    .cart__delivery__bottom .btn {
      font-weight: normal; }
  .cart__delivery__text {
    color: #A1A1A1;
    margin-bottom: 1.875rem;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .cart__delivery__text {
        font-size: 0.75rem;
        line-height: 1.33333; } }
  .cart__delivery__logo {
    width: 100%;
    max-width: 3.75rem;
    margin-right: 0.9375rem; }
  .cart__delivery.form-radio {
    display: inline-block; }
    .cart__delivery.form-radio label, .cart__delivery.form-radio .form .form-group.file .label-file, .form .form-group.file .cart__delivery.form-radio .label-file {
      cursor: pointer;
      display: flex;
      align-items: center;
      margin: 0;
      color: #666666; }
    .cart__delivery.form-radio input[type="radio"] + label span, .cart__delivery.form-radio .form .form-group.file input[type="radio"] + .label-file span, .form .form-group.file .cart__delivery.form-radio input[type="radio"] + .label-file span {
      display: inline-block;
      width: 16px;
      height: 16px;
      margin: 0 0.9375rem 0 0;
      vertical-align: middle;
      border: 1px solid #D6D6D6;
      background: #fff;
      cursor: pointer;
      position: relative;
      border-radius: 50%; }
    .cart__delivery.form-radio input[type="radio"] {
      display: none; }
      .cart__delivery.form-radio input[type="radio"]:checked + label span, .cart__delivery.form-radio .form .form-group.file input[type="radio"]:checked + .label-file span, .form .form-group.file .cart__delivery.form-radio input[type="radio"]:checked + .label-file span {
        border: 1px solid #17A6B0;
        background: #17A6B0 url("../images/icons/bullet--white.svg") no-repeat center/10px 10px; }
      .cart__delivery.form-radio input[type="radio"]:checked + label, .cart__delivery.form-radio .form .form-group.file input[type="radio"]:checked + .label-file, .form .form-group.file .cart__delivery.form-radio input[type="radio"]:checked + .label-file {
        color: #17A6B0; }
    .cart__delivery.form-radio.has-error label, .cart__delivery.form-radio.has-error .form .form-group.file .label-file, .form .form-group.file .cart__delivery.form-radio.has-error .label-file {
      color: #a94442; }
    .cart__delivery.form-radio.has-error input[type="radio"] + label span, .cart__delivery.form-radio.has-error .form .form-group.file input[type="radio"] + .label-file span, .form .form-group.file .cart__delivery.form-radio.has-error input[type="radio"] + .label-file span {
      border: 1px solid #a94442; }

.cart__cards {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; }
  @media (min-width: 768px) {
    .cart__cards {
      justify-content: space-between; } }
  .cart__cards .img-fluid {
    margin: 0 0.9375rem 0.625rem 0.9375rem; }
    @media (min-width: 768px) {
      .cart__cards .img-fluid {
        margin: 0 0.9375rem 0.625rem 0.9375rem; } }
    .cart__cards .img-fluid:first-of-type {
      margin-left: 0.9375rem; }
      @media (min-width: 768px) {
        .cart__cards .img-fluid:first-of-type {
          margin-left: 0; } }
    .cart__cards .img-fluid:last-of-type {
      margin-right: 0.9375rem; }
      @media (min-width: 768px) {
        .cart__cards .img-fluid:last-of-type {
          margin-right: 0; } }

.cart__ico--user {
  position: relative;
  display: flex;
  align-items: center; }
  .cart__ico--user:before {
    content: '\f007';
    font-family: "Font Awesome Solid", Helvetica, Arial, sans-serif;
    width: 3.3125rem;
    height: 3.3125rem;
    font-size: 3.3125rem;
    margin-right: 0.9375rem;
    color: #D6D6D6;
    display: flex;
    align-items: center;
    justify-content: center; }

#cart__tab--3 .cart__price {
  display: none; }

#cart__tab--4 .form-group.form-checkbox {
  margin-right: 1.875rem;
  margin-bottom: 0.625rem; }
  @media (min-width: 576px) {
    #cart__tab--4 .form-group.form-checkbox {
      margin-bottom: 0.625rem; } }
  #cart__tab--4 .form-group.form-checkbox .link {
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      #cart__tab--4 .form-group.form-checkbox .link {
        font-size: 0.875rem;
        line-height: 1.14286; } }

#cart__tab--4 .form-group:last-of-type.form-checkbox {
  margin-right: 0; }

#cart__tab--4 .form-checkbox {
  display: inline-block; }
  #cart__tab--4 .form-checkbox label, #cart__tab--4 .form-checkbox .form .form-group.file .label-file, .form .form-group.file #cart__tab--4 .form-checkbox .label-file {
    cursor: pointer;
    display: flex;
    align-items: center;
    margin: 0;
    color: #666666;
    font-weight: normal;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      #cart__tab--4 .form-checkbox label, #cart__tab--4 .form-checkbox .form .form-group.file .label-file, .form .form-group.file #cart__tab--4 .form-checkbox .label-file {
        font-size: 0.875rem;
        line-height: 1.14286; } }
  #cart__tab--4 .form-checkbox input[type="checkbox"] + label span, #cart__tab--4 .form-checkbox .form .form-group.file input[type="checkbox"] + .label-file span, .form .form-group.file #cart__tab--4 .form-checkbox input[type="checkbox"] + .label-file span {
    display: inline-block;
    width: 16px;
    min-width: 16px;
    height: 16px;
    margin: 0 0.4375rem 0 0;
    vertical-align: middle;
    border: 1px solid #D6D6D6;
    background: #fff;
    cursor: pointer;
    position: relative; }
  #cart__tab--4 .form-checkbox input[type="checkbox"] {
    display: none; }
    #cart__tab--4 .form-checkbox input[type="checkbox"]:checked + label span, #cart__tab--4 .form-checkbox .form .form-group.file input[type="checkbox"]:checked + .label-file span, .form .form-group.file #cart__tab--4 .form-checkbox input[type="checkbox"]:checked + .label-file span {
      border: 1px solid #17A6B0;
      background: #17A6B0 url("../images/icons/check-white.svg") no-repeat center/contain; }
  #cart__tab--4 .form-checkbox.has-error label, #cart__tab--4 .form-checkbox.has-error .form .form-group.file .label-file, .form .form-group.file #cart__tab--4 .form-checkbox.has-error .label-file {
    color: #a94442; }
  #cart__tab--4 .form-checkbox.has-error input[type="checkbox"] + label span, #cart__tab--4 .form-checkbox.has-error .form .form-group.file input[type="checkbox"] + .label-file span, .form .form-group.file #cart__tab--4 .form-checkbox.has-error input[type="checkbox"] + .label-file span {
    border: 1px solid #a94442; }

.section--links {
  padding: 1.875rem 0;
  background: #f6f6f6; }

.section--hp {
  padding-top: 2.1875rem; }

.filter {
  padding: 1.875rem 1.875rem 0.625rem 1.875rem;
  display: flex;
  flex-direction: column;
  text-align: left;
  background: #f6f6f6;
  border-bottom: 1px solid #D6D6D6; }
  .filter__wrapper {
    margin-bottom: 1.875rem; }
  .filter__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-bottom: 1px solid #D6D6D6; }
    @media screen and (min-width: 778px) {
      .filter__nav {
        flex-wrap: nowrap; } }
    .filter__nav .btn__filter {
      color: #fff;
      background: #215673;
      position: relative;
      padding: 0.875rem 1.875rem;
      margin-right: 1.25rem;
      white-space: nowrap;
      font-weight: normal; }
      .filter__nav .btn__filter:active, .filter__nav .btn__filter:hover {
        color: #fff;
        background: #17A6B0; }
        .filter__nav .btn__filter:active:focus, .filter__nav .btn__filter:hover:focus {
          color: #fff;
          background: #17A6B0; }
      .filter__nav .btn__filter:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .filter__nav .btn__filter:active:hover {
          box-shadow: none; }
      .filter__nav .btn__filter:focus {
        color: #fff;
        background: #17A6B0;
        text-decoration: none; }
        .filter__nav .btn__filter:focus:hover {
          background: #17A6B0;
          text-decoration: none; }
      .filter__nav .btn__filter:before {
        content: '\f1de';
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        margin-right: 0.5rem; }
      .filter__nav .btn__filter--1 {
        font-weight: normal;
        color: #141414;
        background: #f6f6f6;
        border-left: 1px solid #D6D6D6;
        border-right: 1px solid #D6D6D6;
        border-bottom: 1px solid #D6D6D6;
        width: 100%;
        text-align: left; }
        .filter__nav .btn__filter--1:active, .filter__nav .btn__filter--1:hover {
          color: #17A6B0;
          background: #D6D6D6; }
          .filter__nav .btn__filter--1:active:focus, .filter__nav .btn__filter--1:hover:focus {
            color: #17A6B0;
            background: #D6D6D6; }
        .filter__nav .btn__filter--1:active {
          box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
          .filter__nav .btn__filter--1:active:hover {
            box-shadow: none; }
        .filter__nav .btn__filter--1:focus {
          color: #17A6B0;
          background: #D6D6D6;
          text-decoration: none; }
          .filter__nav .btn__filter--1:focus:hover {
            background: #D6D6D6;
            text-decoration: none; }
        @media screen and (min-width: 778px) {
          .filter__nav .btn__filter--1 {
            padding: 0.875rem 1.875rem; } }
        @media (min-width: 576px) {
          .filter__nav .btn__filter--1 {
            width: auto;
            border-right: 0;
            border-bottom: 0;
            text-align: center; } }
        .filter__nav .btn__filter--1:last-of-type {
          border-bottom: 0; }
        .filter__nav .btn__filter--1.active {
          color: #17A6B0;
          background: #D6D6D6; }
    .filter__nav .btn__sort {
      color: #17A6B0;
      background: #f6f6f6;
      padding: 0.875rem 1.875rem;
      white-space: nowrap;
      font-weight: normal;
      position: relative; }
      .filter__nav .btn__sort:active, .filter__nav .btn__sort:hover {
        color: #17A6B0;
        background: #D6D6D6; }
        .filter__nav .btn__sort:active:focus, .filter__nav .btn__sort:hover:focus {
          color: #17A6B0;
          background: #D6D6D6; }
      .filter__nav .btn__sort:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .filter__nav .btn__sort:active:hover {
          box-shadow: none; }
      .filter__nav .btn__sort:focus {
        color: #17A6B0;
        background: #D6D6D6;
        text-decoration: none; }
        .filter__nav .btn__sort:focus:hover {
          background: #D6D6D6;
          text-decoration: none; }
      .filter__nav .btn__sort:before {
        content: 'Zobrazit řazení'; }
      .filter__nav .btn__sort[aria-expanded="true"]:before {
        content: 'Skrýt řazení'; }
      @media (min-width: 576px) {
        .filter__nav .btn__sort {
          display: none; } }
    .filter__nav__inner {
      width: 100%;
      background: #f6f6f6;
      display: flex;
      justify-content: flex-end;
      flex-wrap: wrap; }
      @media (min-width: 576px) {
        .filter__nav__inner.collapse {
          display: flex; } }
  .filter__title {
    color: #141414;
    font-size: 1rem;
    line-height: 1.1875;
    margin-bottom: 0.625rem;
    position: relative;
    display: inline-block;
    font-weight: bold; }
    .filter__title[data-toggle="collapse"] {
      cursor: pointer; }
      .filter__title[data-toggle="collapse"]:before {
        content: '\f107';
        position: absolute;
        right: -1.25rem;
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif; }
    .filter__title[aria-expanded="true"]:before {
      content: '\f106';
      transition: 0.3s ease-out; }
    .filter__title[aria-expanded="false"]:before {
      content: '\f107';
      transition: 0.3s ease-out; }
    .filter__title.picked:after {
      content: '(vybráno)';
      color: #318EFF;
      font-size: 1rem;
      line-height: 1.1875;
      font-weight: normal; }
  .filter__row {
    width: 100%;
    display: flex;
    flex-wrap: wrap; }
    @media (min-width: 576px) {
      .filter__row {
        margin: 0 -15px 1.25rem -15px; } }
  .filter__col {
    width: 100%; }
    @media (min-width: 576px) {
      .filter__col {
        width: calc(100% / 2 - 30px);
        margin: 0 15px; } }
    .filter__col--full {
      width: 100%; }
    .filter__col--marginer {
      margin-bottom: 2.5rem; }
      @media (min-width: 576px) {
        .filter__col--marginer {
          margin-bottom: 1.25rem; } }
  .filter__btn {
    padding: 0.75rem 2.1875rem;
    font-size: 1.125rem;
    line-height: 1.16667;
    color: #fff;
    background: #215673;
    border: 0;
    transition: 0.3s ease-out;
    margin: 0 0.9375rem; }
    .filter__btn:active, .filter__btn:hover {
      color: #fff;
      background: #17A6B0; }
      .filter__btn:active:focus, .filter__btn:hover:focus {
        color: #fff;
        background: #17A6B0; }
    .filter__btn:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .filter__btn:active:hover {
        box-shadow: none; }
    .filter__btn:focus {
      color: #fff;
      background: #17A6B0;
      text-decoration: none; }
      .filter__btn:focus:hover {
        background: #17A6B0;
        text-decoration: none; }
    .filter__btn--close {
      color: #A1A1A1;
      background: rgba(0, 0, 0, 0);
      position: relative;
      padding: 0.75rem 0; }
      .filter__btn--close:active, .filter__btn--close:hover {
        color: #17A6B0;
        background: rgba(0, 0, 0, 0); }
        .filter__btn--close:active:focus, .filter__btn--close:hover:focus {
          color: #17A6B0;
          background: rgba(0, 0, 0, 0); }
      .filter__btn--close:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .filter__btn--close:active:hover {
          box-shadow: none; }
      .filter__btn--close:focus {
        color: #17A6B0;
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
        .filter__btn--close:focus:hover {
          background: rgba(0, 0, 0, 0);
          text-decoration: none; }
      .filter__btn--close:after {
        content: '\f00d';
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        margin-left: 0.5rem; }
  .filter__bottom {
    padding: 1.875rem;
    background: #f6f6f6;
    display: flex;
    justify-content: center; }
  .filter .form-group.form-checkbox {
    margin-right: 1.875rem;
    margin-bottom: 0.8125rem; }
    @media (min-width: 576px) {
      .filter .form-group.form-checkbox {
        margin-bottom: 0.625rem; } }
  .filter .form-group:last-of-type.form-checkbox {
    margin-right: 0; }
  .filter .form-checkbox, .filter .form-radio {
    display: inline-block; }
    .filter .form-checkbox label, .filter .form-checkbox .form .form-group.file .label-file, .form .form-group.file .filter .form-checkbox .label-file, .filter .form-radio label, .filter .form-radio .form .form-group.file .label-file, .form .form-group.file .filter .form-radio .label-file {
      cursor: pointer;
      display: flex;
      align-items: center;
      margin: 0;
      color: #666666;
      font-size: 0.9375rem;
      line-height: 1.2; }
      @media (min-width: 576px) {
        .filter .form-checkbox label, .filter .form-checkbox .form .form-group.file .label-file, .form .form-group.file .filter .form-checkbox .label-file, .filter .form-radio label, .filter .form-radio .form .form-group.file .label-file, .form .form-group.file .filter .form-radio .label-file {
          font-size: 0.875rem;
          line-height: 1.14286; } }
    .filter .form-checkbox input[type="checkbox"] + label span, .filter .form-checkbox .form .form-group.file input[type="checkbox"] + .label-file span, .form .form-group.file .filter .form-checkbox input[type="checkbox"] + .label-file span, .filter .form-radio input[type="checkbox"] + label span, .filter .form-radio .form .form-group.file input[type="checkbox"] + .label-file span, .form .form-group.file .filter .form-radio input[type="checkbox"] + .label-file span {
      display: inline-block;
      width: 16px;
      height: 16px;
      margin: 0 0.4375rem 0 0;
      vertical-align: middle;
      border: 1px solid #D6D6D6;
      background: #fff;
      cursor: pointer;
      position: relative; }
    .filter .form-checkbox input[type="radio"] + label span, .filter .form-checkbox .form .form-group.file input[type="radio"] + .label-file span, .form .form-group.file .filter .form-checkbox input[type="radio"] + .label-file span, .filter .form-radio input[type="radio"] + label span, .filter .form-radio .form .form-group.file input[type="radio"] + .label-file span, .form .form-group.file .filter .form-radio input[type="radio"] + .label-file span {
      display: inline-block;
      width: 16px;
      height: 16px;
      margin: 0 0.625rem 0 0;
      vertical-align: middle;
      border: 1px solid #D6D6D6;
      background: #fff;
      cursor: pointer;
      position: relative;
      border-radius: 50%; }
    .filter .form-checkbox input[type="radio"], .filter .form-radio input[type="radio"] {
      display: none; }
      .filter .form-checkbox input[type="radio"]:checked + label span, .filter .form-checkbox .form .form-group.file input[type="radio"]:checked + .label-file span, .form .form-group.file .filter .form-checkbox input[type="radio"]:checked + .label-file span, .filter .form-radio input[type="radio"]:checked + label span, .filter .form-radio .form .form-group.file input[type="radio"]:checked + .label-file span, .form .form-group.file .filter .form-radio input[type="radio"]:checked + .label-file span {
        border: 1px solid #318EFF;
        background: #318EFF url("../images/icons/bullet-white.svg") no-repeat center/10px 10px; }
    .filter .form-checkbox input[type="checkbox"], .filter .form-radio input[type="checkbox"] {
      display: none; }
      .filter .form-checkbox input[type="checkbox"]:checked + label span, .filter .form-checkbox .form .form-group.file input[type="checkbox"]:checked + .label-file span, .form .form-group.file .filter .form-checkbox input[type="checkbox"]:checked + .label-file span, .filter .form-radio input[type="checkbox"]:checked + label span, .filter .form-radio .form .form-group.file input[type="checkbox"]:checked + .label-file span, .form .form-group.file .filter .form-radio input[type="checkbox"]:checked + .label-file span {
        border: 1px solid #17A6B0;
        background: #17A6B0 url("../images/icons/check-white.svg") no-repeat center/contain; }
      .filter .form-checkbox input[type="checkbox"]:checked + label, .filter .form-checkbox .form .form-group.file input[type="checkbox"]:checked + .label-file, .form .form-group.file .filter .form-checkbox input[type="checkbox"]:checked + .label-file, .filter .form-radio input[type="checkbox"]:checked + label, .filter .form-radio .form .form-group.file input[type="checkbox"]:checked + .label-file, .form .form-group.file .filter .form-radio input[type="checkbox"]:checked + .label-file {
        color: #17A6B0; }
    .filter .form-checkbox.has-error label, .filter .form-checkbox.has-error .form .form-group.file .label-file, .form .form-group.file .filter .form-checkbox.has-error .label-file, .filter .form-radio.has-error label, .filter .form-radio.has-error .form .form-group.file .label-file, .form .form-group.file .filter .form-radio.has-error .label-file {
      color: #a94442; }
    .filter .form-checkbox.has-error input[type="checkbox"] + label span, .filter .form-checkbox.has-error .form .form-group.file input[type="checkbox"] + .label-file span, .form .form-group.file .filter .form-checkbox.has-error input[type="checkbox"] + .label-file span, .filter .form-radio.has-error input[type="checkbox"] + label span, .filter .form-radio.has-error .form .form-group.file input[type="checkbox"] + .label-file span, .form .form-group.file .filter .form-radio.has-error input[type="checkbox"] + .label-file span {
      border: 1px solid #a94442; }
    .filter .form-checkbox.has-error input[type="radio"] + label span, .filter .form-checkbox.has-error .form .form-group.file input[type="radio"] + .label-file span, .form .form-group.file .filter .form-checkbox.has-error input[type="radio"] + .label-file span, .filter .form-radio.has-error input[type="radio"] + label span, .filter .form-radio.has-error .form .form-group.file input[type="radio"] + .label-file span, .form .form-group.file .filter .form-radio.has-error input[type="radio"] + .label-file span {
      border: 1px solid #a94442; }

.slider {
  position: relative;
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  .slider .tooltip.in {
    opacity: 1; }
  .slider .tooltip .tooltip-inner {
    background: rgba(0, 0, 0, 0);
    color: #141414;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .slider .tooltip .tooltip-inner {
        font-size: 0.625rem;
        line-height: 1.4; } }
    .slider .tooltip .tooltip-inner:after {
      content: ' Kč'; }
  .slider .tooltip-min .tooltip-inner {
    position: absolute;
    left: -1.0625rem;
    top: 3.4375rem; }
  .slider .tooltip-max .tooltip-inner {
    position: absolute;
    right: -1.4375rem;
    top: 3.4375rem; }

.slider-selection {
  background: #17A6B0; }

.slider.slider-horizontal .slider-track {
  height: 5px;
  width: 100%;
  margin-top: -2px;
  top: 50%;
  left: 0;
  border-radius: 5px;
  box-shadow: 0 2px 8px 0 rgba(51, 51, 51, 0.25);
  background-color: #F2F4F7; }

.slider.slider-horizontal {
  height: 1.0625rem;
  width: calc(100% - 15px);
  margin-bottom: 0; }
  @media (min-width: 768px) {
    .slider.slider-horizontal {
      max-width: 26.25rem; } }

.slider-handle.round {
  background: #fff;
  border-radius: 1px;
  border: 1px solid #D6D6D6;
  width: 1.625rem;
  height: 1.0625rem; }

.voucher {
  width: 100%;
  text-align: center;
  padding: 1.875rem;
  background: #f6f6f6; }
  .voucher__title {
    color: #666666;
    font-size: 1rem;
    line-height: 1.3125;
    position: relative;
    margin-bottom: 1.25rem; }
  .voucher__text {
    color: #A1A1A1;
    margin-bottom: 0.625rem;
    font-size: 0.9375rem;
    line-height: 1.2; }
    @media (min-width: 576px) {
      .voucher__text {
        font-size: 0.75rem;
        line-height: 1.16667; } }
    .voucher__text span {
      color: #FB003D;
      font-weight: bold; }
  .voucher__btn {
    outline: none;
    color: #FB003D;
    background: rgba(0, 0, 0, 0);
    border: 0;
    position: relative; }
    .voucher__btn:active, .voucher__btn:hover {
      color: #B0D9DC;
      background: rgba(0, 0, 0, 0); }
      .voucher__btn:active:focus, .voucher__btn:hover:focus {
        color: #B0D9DC;
        background: rgba(0, 0, 0, 0); }
    .voucher__btn:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .voucher__btn:active:hover {
        box-shadow: none; }
    .voucher__btn:focus {
      color: #B0D9DC;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .voucher__btn:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
    .voucher__btn:before {
      content: '\f00d';
      height: 0.625rem;
      width: 0.625rem;
      font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
      transition: 0.3s ease-out; }
  .voucher .input-wrapper {
    width: 100%;
    max-width: 25.625rem;
    display: flex;
    margin: 0 auto 0.625rem auto; }
    .voucher .input-wrapper .form-control {
      height: 2.8125rem;
      border: 1px solid #D6D6D6;
      font-size: 1rem;
      line-height: 1.1875;
      border-radius: 0;
      padding: 0.6875rem; }
      .voucher .input-wrapper .form-control::placeholder {
        color: #D6D6D6;
        font-size: 1rem;
        line-height: 1.1875; }

.whisperer {
  position: absolute;
  top: 102%;
  left: 0;
  width: 100%;
  display: none;
  border-radius: 0; }
  .whisperer:after {
    content: '';
    position: absolute;
    top: 2.1875rem;
    left: -500%;
    width: 10000%;
    height: 10000%;
    background: rgba(20, 20, 20, 0.6);
    z-index: 0; }
  .whisperer__inner {
    position: relative;
    z-index: 1;
    background: #fff; }
  .whisperer__bottom {
    padding: 1.875rem 0.9375rem;
    display: flex; }
  .whisperer__title {
    font-size: 1rem;
    line-height: 1.1875;
    color: #A1A1A1;
    text-transform: uppercase;
    font-weight: bold;
    padding: 0.9375rem;
    width: 100%;
    border-bottom: 1px solid #B0D9DC;
    margin-bottom: 0; }
  .whisperer__list {
    padding: 0;
    margin: 0;
    list-style-type: none; }
    .whisperer__list__item {
      border-bottom: 1px solid #B0D9DC; }
    .whisperer__list__link {
      padding: 0.75rem 1.125rem;
      display: flex;
      position: relative;
      color: #17A6B0;
      font-weight: bold;
      transition: 0.3s ease-out;
      text-decoration: none;
      font-size: 0.9375rem;
      line-height: 1.2; }
      .whisperer__list__link:active, .whisperer__list__link:hover {
        color: #17A6B0;
        background: #f6f6f6; }
        .whisperer__list__link:active:focus, .whisperer__list__link:hover:focus {
          color: #17A6B0;
          background: #f6f6f6; }
      .whisperer__list__link:active {
        box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
        .whisperer__list__link:active:hover {
          box-shadow: none; }
      .whisperer__list__link:focus {
        color: #17A6B0;
        background: #f6f6f6;
        text-decoration: none; }
        .whisperer__list__link:focus:hover {
          background: #f6f6f6;
          text-decoration: none; }
      @media (min-width: 576px) {
        .whisperer__list__link {
          font-size: 0.875rem;
          line-height: 1.14286; } }
      .whisperer__list__link:before {
        content: '\10f07b';
        font-family: "Font Awesome Duotone", Helvetica, Arial, sans-serif;
        color: #A1A1A1;
        font-size: 1rem;
        margin-right: 0.625rem; }
      .whisperer__list__link:hover {
        text-decoration: none; }
    .whisperer__list__title {
      font-size: 0.9375rem;
      line-height: 1.2;
      color: #141414;
      margin-bottom: 0; }
    .whisperer__list__price {
      font-weight: bold;
      color: #17A6B0;
      margin: 0;
      font-size: 0.9375rem;
      line-height: 1.2; }
      @media (min-width: 576px) {
        .whisperer__list__price {
          font-size: 0.875rem;
          line-height: 1.14286; } }
      .whisperer__list__price--before {
        color: #D6D6D6;
        text-decoration: line-through;
        font-weight: normal;
        margin: 0 0 0 0.625rem;
        font-size: 0.9375rem;
        line-height: 1.2; }
        @media (min-width: 576px) {
          .whisperer__list__price--before {
            font-size: 0.75rem;
            line-height: 1.16667; } }
    .whisperer__list__product {
      display: grid;
      grid-template-columns: 3.75rem 1fr;
      grid-gap: 0.9375rem;
      padding: 0.9375rem;
      transition: 0.3s ease-out; }
      .whisperer__list__product:hover {
        text-decoration: none;
        background: #f6f6f6; }
      .whisperer__list__product__inner {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%; }
  .whisperer__close {
    font-size: 1rem;
    line-height: 1.1875;
    color: #17A6B0;
    background: rgba(0, 0, 0, 0);
    padding: 0;
    margin: 0;
    border: 0;
    transition: 0.3s ease-out; }
    .whisperer__close:active, .whisperer__close:hover {
      color: #B0D9DC;
      background: rgba(0, 0, 0, 0); }
      .whisperer__close:active:focus, .whisperer__close:hover:focus {
        color: #B0D9DC;
        background: rgba(0, 0, 0, 0); }
    .whisperer__close:active {
      box-shadow: inset 3px 3px 5px rgba(0, 0, 0, 0.2); }
      .whisperer__close:active:hover {
        box-shadow: none; }
    .whisperer__close:focus {
      color: #B0D9DC;
      background: rgba(0, 0, 0, 0);
      text-decoration: none; }
      .whisperer__close:focus:hover {
        background: rgba(0, 0, 0, 0);
        text-decoration: none; }
    .whisperer__close:focus {
      outline: none; }
  .whisperer .btn:last-of-type {
    margin: 0 1.875rem 0 0; }

.table__client thead th {
  border-top: 0;
  border-right: 0;
  border-left: 0;
  border-bottom: 1px solid #D6D6D6;
  font-weight: bold;
  color: #A1A1A1;
  text-transform: uppercase;
  background: #f6f6f6;
  padding: 0.3125rem;
  font-size: 0.9375rem;
  line-height: 1.2; }
  @media (min-width: 576px) {
    .table__client thead th {
      font-size: 0.625rem;
      line-height: 1.2; } }
  @media (min-width: 576px) {
    .table__client thead th {
      padding: 1.25rem;
      font-size: 1rem;
      line-height: 1.1875; } }
  .table__client thead th:last-of-type {
    width: 3.75rem; }

.table__client tbody td {
  border: 0;
  color: #A1A1A1;
  background: #f6f6f6;
  padding: 0.3125rem;
  font-size: 0.9375rem;
  line-height: 1.2; }
  @media (min-width: 576px) {
    .table__client tbody td {
      font-size: 0.625rem;
      line-height: 1.2; } }
  @media (min-width: 576px) {
    .table__client tbody td {
      padding: 1.25rem;
      font-size: 1.125rem;
      line-height: 1.16667; } }
  .table__client tbody td.search {
    width: 3.75rem;
    text-align: center;
    padding: 0; }
    .table__client tbody td.search .link {
      position: relative;
      display: inline-block;
      padding: 0.3125rem; }
      @media (min-width: 576px) {
        .table__client tbody td.search .link {
          padding: 1.25rem; } }
      .table__client tbody td.search .link:before {
        content: '\f002';
        font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
        width: 0.65625rem;
        height: 0.65625rem;
        font-size: 0.65625rem;
        color: #457B9D;
        display: flex;
        align-items: center;
        justify-content: center; }
        @media (min-width: 576px) {
          .table__client tbody td.search .link:before {
            width: 1.3125rem;
            height: 1.3125rem;
            font-size: 1.3125rem; } }
  .table__client tbody td:nth-of-type(3) {
    color: #FB003D;
    white-space: nowrap; }
  .table__client tbody td:nth-of-type(4) {
    color: #1FD47E; }
  .table__client tbody td.claim {
    color: #FBBF00; }
  .table__client tbody td.done {
    color: #318EFF; }
  .table__client tbody td.cancelled {
    color: #FB003D; }

.table__client tbody tr:nth-of-type(odd) td {
  background: #ECECEC; }

.tooltip__btn {
  position: relative;
  margin-left: 0.625rem;
  border: 0;
  background: none;
  padding: 0; }
  .tooltip__btn:before {
    content: '\f05a';
    font-family: "Font Awesome Light", Helvetica, Arial, sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: #A1A1A1; }

.tooltip-inner {
  min-width: 350px;
  max-width: 350px; }

.slider .tooltip-inner {
  min-width: auto;
  max-width: auto; }

.variantsBox {
  width: 100%;
  margin: 0 0 1.875rem 0;
  padding: 0;
  list-style-type: none; }
  .variantsBox__item {
    margin-bottom: 0; }
  .variantsBox__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.9375rem;
    border: 1px solid #D6D6D6;
    background: #fff;
    margin: 0 !important; }
    .variantsBox__link:hover {
      text-decoration: none; }
    .variantsBox__link.checked {
      border: 1px solid #17A6B0; }
  .variantsBox__col {
    display: flex;
    align-items: center;
    width: 100%; }
  .variantsBox__radio {
    margin-right: 0.625rem;
    max-width: 3.375rem;
    max-height: 3.375rem; }
    @media (min-width: 768px) {
      .variantsBox__radio {
        margin-right: 0.9375rem;
        max-width: 3.75rem;
        max-height: 100%; } }
  .variantsBox__title {
    color: #141414;
    font-size: 0.875rem;
    line-height: 1.14286;
    margin-bottom: 0.1875rem;
    font-weight: bold; }
  .variantsBox__price {
    color: #17A6B0;
    margin-right: 1.25rem; }
  .variantsBox__state .in-stock {
    color: #00cf86; }
  .variantsBox__text {
    color: #A1A1A1;
    font-size: 0.75rem;
    line-height: 1.16667;
    margin-right: 1.25rem;
    margin-bottom: 0;
    display: flex;
    white-space: nowrap;
    align-items: baseline; }

.no-gutter > [class*='col-'] {
  padding-right: 0;
  padding-left: 0; }

.no-padding {
  padding: 0 !important;
  margin: 0 !important; }

.row-eq-height {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.abs-centered {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); }

.skew {
  position: relative;
  overflow: hidden; }
  .skew.section-no-skew .container {
    padding-bottom: 9%; }
  .skew.skew-down-left-to-right:after {
    content: "";
    position: relative;
    display: block;
    left: 0;
    z-index: 990;
    padding-bottom: 9%;
    width: 102%;
    transform-origin: 0 0;
    transform: rotate(-5deg) skewX(30deg); }
  .skew.skew-down-left-to-right.skew-down-white:after {
    background: #fff; }
  .skew.skew-down-left-to-right#marchindase .container {
    padding-bottom: 19%; }
  .skew.skew-down-left-to-right#marchindase:after {
    margin-bottom: -18%; }
  .skew.skew-down-left-to-right.skew-down-yellow .container {
    padding-bottom: 19%; }
  .skew.skew-down-left-to-right.skew-down-yellow:after {
    margin-bottom: -9%;
    background: #ECECEC; }
  .skew.skew-down-right-to-left:after {
    content: "";
    position: relative;
    display: block;
    left: 0;
    z-index: 995;
    margin-top: 9%;
    padding-bottom: 9%;
    width: 102%;
    transform-origin: 0 0;
    transform: rotate(5deg) skewX(-30deg); }
  .skew.skew-down-right-to-left.skew-down-yellow:after {
    background: #ECECEC; }
  .skew.skew-top-left-to-right .container {
    padding-top: 9%;
    padding-bottom: 9%; }
  .skew.skew-top-left-to-right:before {
    content: "";
    position: relative;
    display: block;
    left: 0;
    z-index: 990;
    margin-top: -9%;
    padding-bottom: 9%;
    width: 102%;
    transform-origin: 0 0;
    transform: rotate(-5deg) skewX(-5deg); }
  .skew.skew-top-left-to-right.skew-top-yellow:before {
    background: #ECECEC; }
  .skew.skew-top-right-to-left .container {
    padding-top: 9%; }
  .skew.skew-top-right-to-left:before {
    content: "";
    position: relative;
    display: block;
    left: 0;
    z-index: 990;
    margin-top: -9%;
    padding-bottom: 9%;
    width: 102%;
    transform-origin: 0 0;
    transform: rotate(5deg) skewX(-5deg); }
  .skew.skew-top-right-to-left.skew-top-white:before {
    background: #fff; }
  .skew.skew-top-right-to-left.skew-top-yellow .container {
    padding-top: 18%; }
  .skew.skew-top-right-to-left.skew-top-yellow:before {
    margin-top: -18%;
    background: #ECECEC; }

.no-wrap {
  white-space: nowrap;
  min-width: 0; }

.text-right {
  text-align: right; }
  @media (max-width: 767px) {
    .text-right-xs {
      text-align: right; } }
  @media (min-width: 768px) {
    .text-right-sm {
      text-align: right; } }
  @media (min-width: 992px) and (max-width: 1199px) {
    .text-right-md {
      text-align: right; } }
  @media (min-width: 1200px) {
    .text-right-lg {
      text-align: right; } }

.text-left {
  text-align: left; }
  @media (max-width: 767px) {
    .text-left-xs {
      text-align: left; } }
  @media (min-width: 768px) {
    .text-left-sm {
      text-align: left; } }
  @media (min-width: 992px) and (max-width: 1199px) {
    .text-left-md {
      text-align: left; } }
  @media (min-width: 1200px) {
    .text-left-lg {
      text-align: left; } }

.text-center {
  text-align: center; }
  @media (max-width: 767px) {
    .text-center-xs {
      text-align: center; } }
  @media (min-width: 768px) {
    .text-center-sm {
      text-align: center; } }
  @media (min-width: 992px) and (max-width: 1199px) {
    .text-center-md {
      text-align: center; } }
  @media (min-width: 1200px) {
    .text-center-lg {
      text-align: center; } }

.arrow-up {
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #fff; }

.arrow-down {
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #f00; }

.arrow-right {
  width: 0;
  height: 0;
  border-top: 60px solid transparent;
  border-bottom: 60px solid transparent;
  border-left: 60px solid green; }

.arrow-left {
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 10px solid blue; }

.hidden {
  display: none; }
  @media (max-width: 575.98px) {
    .hidden--xs {
      display: none; } }
  @media (min-width: 576px) and (max-width: 767.98px) {
    .hidden--sm {
      display: none; } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    .hidden--md {
      display: none; } }
  @media (min-width: 992px) and (max-width: 1199.98px) {
    .hidden--lg {
      display: none; } }
  @media (min-width: 1200px) {
    .hidden--xl {
      display: none; } }

.aligner {
  display: flex;
  align-items: center;
  justify-content: center; }

.aligner-item {
  max-width: 50%; }

.aligner-item--top {
  align-self: flex-start; }

.aligner-item--bottom {
  align-self: flex-end; }

.fit-images {
  width: 150px;
  height: 100px;
  object-fit: contain; }

.bold {
  font-weight: bold; }

.cc-revoke, .cc-window {
  font-size: 0.875rem; }

.cc-window.cc-floating {
  padding: 0.75rem;
  max-width: 12.5rem; }
  .cc-window.cc-floating .cookies {
    font-size: 0.875rem; }

.cc-compliance {
  width: 6.25rem; }

.marginer--30 {
  margin-bottom: 1.875rem; }

.img--full {
  width: 100%;
  height: 100%;
  object-fit: cover; }

.hide {
  display: none !important; }

.marginer--10 {
  margin-bottom: 0.625rem !important; }

.marginer--15 {
  margin-bottom: 0.9375rem !important; }

.marginer--20 {
  margin-bottom: 1.25rem !important; }

.marginer--30 {
  margin-bottom: 1.875rem !important; }

.marginer--40 {
  margin-bottom: 2.5rem !important; }

.line {
  background: #B0D9DC;
  height: 1px;
  border: 0;
  padding: 0;
  margin: 0;
  width: 100%;
  display: inline-block;
  opacity: .2; }
  .line--1 {
    background: #D6D6D6;
    opacity: 1;
    margin-bottom: 0.9375rem; }

@media screen and (min-width: 360px) and (max-width: 768px) {
  .col-xs-6 {
    flex: 0 0 50%;
    max-width: 50%; } }

.color__brand--1 {
  color: #17A6B0 !important; }

.color__brand--2 {
  color: #215673; }

.color__brand--3 {
  color: #457B9D; }

.color__grey--1 {
  color: #141414; }

.color__grey--2 {
  color: #666666; }

.color__grey--3 {
  color: #A1A1A1; }

.burger--hide {
  display: none; }
  @media (min-width: 992px) {
    .burger--hide {
      display: initial; } }

.text-transform--none {
  text-transform: none; }

.placeholder__img {
  position: relative; }
  .placeholder__img:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #d5d5d5 url("../images/icons/placeholder-img.svg") no-repeat center center/contain;
    z-index: 100; }

.placeholder__map {
  position: relative;
  background: #000;
  height: 18.75rem; }
  .placeholder__map:after {
    text-align: center;
    content: 'Google map';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 4.25rem;
    line-height: 1;
    font-weight: bold;
    color: #fff; }

.placeholder__content {
  background: #000;
  position: relative; }
  .placeholder__content:after {
    text-align: center;
    content: attr(data-content);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 4.25rem;
    line-height: 1;
    font-weight: bold;
    color: #fff; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsLmNzcyIsInNvdXJjZXMiOlsiYWxsLnNjc3MiLCIxLnNldHRpbmdzL192YXJpYWJsZXMuc2NzcyIsIjEuc2V0dGluZ3MvX3NldHRpbmdzLnNjc3MiLCIyLnRvb2xzL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZGVwcmVjYXRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtcm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JveC1zaGFkb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Zvcm1zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2VtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9faW50ZXJhY3Rpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19vdmVyZmxvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9saWdodGJveDIvZGlzdC9jc3MvbGlnaHRib3guY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zbGlkZXIvc3JjL3Nhc3MvYm9vdHN0cmFwLXNsaWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zbGlkZXIvc3JjL3Nhc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zbGlkZXIvc3JjL3Nhc3MvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zbGlkZXIvc3JjL3Nhc3MvX3J1bGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQHNwbGlkZWpzL3NwbGlkZS9kaXN0L2Nzcy9zcGxpZGUubWluLmNzcyIsIjQuZWxlbWVudHMvX2h0bWwuc2NzcyIsIjQuZWxlbWVudHMvX2hlYWRpbmcuc2NzcyIsIjUub2JqZWN0cy9fZm9udHMuc2NzcyIsIjUub2JqZWN0cy9fdHlwb2dyYXBoeS5zY3NzIiwiNS5vYmplY3RzL19zZWN0aW9ucy5zY3NzIiwiNS5vYmplY3RzL19zaXRlLnNjc3MiLCI1Lm9iamVjdHMvX2NvbnRhaW5lcnMuc2NzcyIsIjYuY29tcG9uZW50cy9fYWxlcnRzLnNjc3MiLCI2LmNvbXBvbmVudHMvX2xpc3RzLnNjc3MiLCI2LmNvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy9faGFtYnVyZ2Vycy5zY3NzIiwiNi5jb21wb25lbnRzL2hhbWJ1cmdlcnMvX2Jhc2Uuc2NzcyIsIjYuY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL18zZHguc2NzcyIsIjYuY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL18zZHgtci5zY3NzIiwiNi5jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeS5zY3NzIiwiNi5jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeS1yLnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fM2R4eS5zY3NzIiwiNi5jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeHktci5zY3NzIiwiNi5jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93LnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3ctci5zY3NzIiwiNi5jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93YWx0LnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3dhbHQtci5zY3NzIiwiNi5jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93dHVybi5zY3NzIiwiNi5jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93dHVybi1yLnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fYm9yaW5nLnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fY29sbGFwc2Uuc2NzcyIsIjYuY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL19jb2xsYXBzZS1yLnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fZWxhc3RpYy5zY3NzIiwiNi5jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2VsYXN0aWMtci5zY3NzIiwiNi5jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2VtcGhhdGljLnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fZW1waGF0aWMtci5zY3NzIiwiNi5jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX21pbnVzLnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fc2xpZGVyLnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fc2xpZGVyLXIuc2NzcyIsIjYuY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL19zcGluLnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fc3Bpbi1yLnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fc3ByaW5nLnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fc3ByaW5nLXIuc2NzcyIsIjYuY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL19zdGFuZC5zY3NzIiwiNi5jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX3N0YW5kLXIuc2NzcyIsIjYuY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL19zcXVlZXplLnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fdm9ydGV4LnNjc3MiLCI2LmNvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fdm9ydGV4LXIuc2NzcyIsIjYuY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCI2LmNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiNi5jb21wb25lbnRzL19tZW51LnNjc3MiLCI2LmNvbXBvbmVudHMvX2Jyb3dzZXJzLnNjc3MiLCI2LmNvbXBvbmVudHMvX2dhbGxlcnkuc2NzcyIsIjYuY29tcG9uZW50cy9fcHJvZHVjdC1saXN0LnNjc3MiLCI2LmNvbXBvbmVudHMvZXNob3AvX2hlYWRlci5zY3NzIiwiNi5jb21wb25lbnRzL2VzaG9wL19idXR0b25zLnNjc3MiLCI2LmNvbXBvbmVudHMvZXNob3AvX21lbnUuc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fbWVudS1hc2lkZS5zY3NzIiwiNi5jb21wb25lbnRzL2VzaG9wL19wcm9kdWN0cy5zY3NzIiwiNi5jb21wb25lbnRzL2VzaG9wL19wcm9kdWN0c1Jvdy5zY3NzIiwiNi5jb21wb25lbnRzL2VzaG9wL19wcm9kdWN0c0RldGFpbC5zY3NzIiwiNi5jb21wb25lbnRzL2VzaG9wL19mb3Jtcy5zY3NzIiwiNi5jb21wb25lbnRzL2VzaG9wL19hY2NvdW50cy5zY3NzIiwiNi5jb21wb25lbnRzL2VzaG9wL19jYXJvdXNlbHMuc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fY2Fyb3VzZWxzTXVsdGlwbGUuc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fbW9kYWwuc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fbGlua3Muc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fdXNwLnNjc3MiLCI2LmNvbXBvbmVudHMvZXNob3AvX2xpc3RzLnNjc3MiLCI2LmNvbXBvbmVudHMvZXNob3AvX2JyZWFkY3J1bWIuc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fYmVzdHNlbGxlcnMuc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fY3RhLnNjc3MiLCI2LmNvbXBvbmVudHMvZXNob3AvX3BhZ2luYXRpb25zLnNjc3MiLCI2LmNvbXBvbmVudHMvZXNob3AvX3NvY2lhbC5zY3NzIiwiNi5jb21wb25lbnRzL2VzaG9wL19wYW5lbHMuc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fY29sbGFwc2Uuc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fcmVjb21tZW5kZWRCb3guc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fcHJvZ3Jlc3Muc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fY2FydC5zY3NzIiwiNi5jb21wb25lbnRzL2VzaG9wL19zZWN0aW9ucy5zY3NzIiwiNi5jb21wb25lbnRzL2VzaG9wL19maWx0ZXIuc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fcmFuZ2Utc2xpZGVyLnNjc3MiLCI2LmNvbXBvbmVudHMvZXNob3AvX3ZvdWNoZXIuc2NzcyIsIjYuY29tcG9uZW50cy9lc2hvcC9fd2hpc3BlcmVyLnNjc3MiLCI2LmNvbXBvbmVudHMvZXNob3AvX3RhYmxlcy5zY3NzIiwiNi5jb21wb25lbnRzL2VzaG9wL190b29sdGlwLnNjc3MiLCI2LmNvbXBvbmVudHMvZXNob3AvX3ZhcmlhbnRzQm94LnNjc3MiLCI3LnV0aWxpdGllcy9faGVscGVycy5zY3NzIiwiNy51dGlsaXRpZXMvX3BsYWNlaG9sZGVycy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDEuIFNFVFRJTkdTXG4vLyBEZWZhdWx0IHNldHRpbmdzXG5AaW1wb3J0IFwiMS5zZXR0aW5ncy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIxLnNldHRpbmdzL3NldHRpbmdzXCI7XG5cbi8vIDIuIFRPT0xTXG4vLyBNaXhpbnMgYW5kIGZ1bmN0aW9uc1xuQGltcG9ydCBcIjIudG9vbHMvbWl4aW5zXCI7XG5cbi8vIDMuIEdFTkVSSUNcbi8vIEV4dGVybmFsIGxpYnNcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3NcIjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBib290c3RyYXBcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbGlnaHRib3gyL2Rpc3QvY3NzL2xpZ2h0Ym94XCI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsaWdodGJveCBnYWxsZXJ5XG4vL0BpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL293bC5jYXJvdXNlbC5zY3NzXCI7ICAgICAgICAgICAgICAgICAgLy8gb3dsLmNhcm91c2VsXG4vL0BpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZmxhdHBpY2tyL2Rpc3QvZmxhdHBpY2tyXCI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGF0ZXBpY2tlclxuLy9AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3RhYmxlc2F3L2Rpc3Qvc3RhY2tvbmx5L3RhYmxlc2F3LnN0YWNrb25seS5zY3NzXCI7ICAgICAgICAgIC8vIHRhYmxlc2F3XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zbGlkZXIvc3JjL3Nhc3MvYm9vdHN0cmFwLXNsaWRlci5zY3NzXCI7ICAgICAgICAgICAgLy8gQm9vdHN0cmFwIHJhbmdlIHNsaWRlclxuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9Ac3BsaWRlanMvc3BsaWRlL2Rpc3QvY3NzL3NwbGlkZS5taW5cIjsgICAgICAgICAgICAgICAgICAgICAgIC8vIFNwbGlkZSBzbGlkZXJcblxuLy8gNC4gRUxFTUVOVFNcbi8vIEJhc2ljIGVsZW1lbnRzXG5AaW1wb3J0IFwiNC5lbGVtZW50cy9odG1sXCI7XG5AaW1wb3J0IFwiNC5lbGVtZW50cy9oZWFkaW5nXCI7XG4vL0BpbXBvcnQgXCI0LmVsZW1lbnRzL2xpc3RzXCI7XG5cblxuLy8gNS4gT0JKRUNUU1xuLy8gTGF5b3V0cyAod2l0aG91dCBjb2xvcnMsIHNoYWRvd3MsIGV0Yy4pXG5AaW1wb3J0IFwiNS5vYmplY3RzL2ZvbnRzXCI7XG5AaW1wb3J0IFwiNS5vYmplY3RzL3R5cG9ncmFwaHlcIjtcbi8vQGltcG9ydCBcIjUub2JqZWN0cy9hbmltYXRpb25cIjtcbi8vQGltcG9ydCBcIjUub2JqZWN0cy9waWxsc1wiO1xuLy9AaW1wb3J0IFwiNS5vYmplY3RzL3N2Z1wiO1xuLy9AaW1wb3J0IFwiNS5vYmplY3RzL3RhYmxlc1wiO1xuQGltcG9ydCBcIjUub2JqZWN0cy9zZWN0aW9uc1wiO1xuQGltcG9ydCBcIjUub2JqZWN0cy9zaXRlXCI7XG5AaW1wb3J0IFwiNS5vYmplY3RzL2NvbnRhaW5lcnNcIjtcblxuLy8gNi4gQ09NUE9ORU5UU1xuLy8gUmV1c2FibGUgVUkgY29tcG9uZW50c1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9hbGVydHNcIjtcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvbGlzdHNcIjtcbi8vQGltcG9ydCBcIjYuY29tcG9uZW50cy9saW5rc1wiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9mb3Jtc1wiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9oYW1idXJnZXJzL2hhbWJ1cmdlcnNcIjtcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvaGVhZGVyXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2Zvb3RlclwiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9tZW51XCI7XG4vL0BpbXBvcnQgXCI2LmNvbXBvbmVudHMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9icm93c2Vyc1wiO1xuLy9AaW1wb3J0IFwiNi5jb21wb25lbnRzL3JhbmdlLXNsaWRlclwiO1xuLy9AaW1wb3J0IFwiNi5jb21wb25lbnRzL2ZpbHRlclwiO1xuLy9AaW1wb3J0IFwiNi5jb21wb25lbnRzL2JveGVzXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2dhbGxlcnlcIjtcbi8vQGltcG9ydCBcIjYuY29tcG9uZW50cy9wcm9kdWN0LWdhbGxlcnlcIjtcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvcHJvZHVjdC1saXN0XCI7XG4vL0BpbXBvcnQgXCI2LmNvbXBvbmVudHMvYnJlYWRjcnVtYlwiO1xuLy9AaW1wb3J0IFwiNi5jb21wb25lbnRzL3BhZ2luYXRpb25zXCI7XG4vL0BpbXBvcnQgXCI2LmNvbXBvbmVudHMvY2Fyb3VzZWxzXCI7XG4vL0BpbXBvcnQgXCI2LmNvbXBvbmVudHMvY29sbGFwc2VcIjtcbi8vQGltcG9ydCBcIjYuY29tcG9uZW50cy9tYXBzXCI7XG4vL0BpbXBvcnQgXCI2LmNvbXBvbmVudHMvbW9kYWxcIjtcbi8vQGltcG9ydCBcIjYuY29tcG9uZW50cy9zaG9wcGluZy1jYXJ0XCI7XG4vL0BpbXBvcnQgXCI2LmNvbXBvbmVudHMvZ29vZ2xlLXRyYW5zbGF0b3JcIjtcblxuLy8gUmV1c2FibGUgVUkgY29tcG9uZW50cyBmb3IgRVNIT1BcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvZXNob3AvaGVhZGVyXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2VzaG9wL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvZXNob3AvbWVudVwiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC9tZW51LWFzaWRlXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2VzaG9wL3Byb2R1Y3RzXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2VzaG9wL3Byb2R1Y3RzUm93XCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2VzaG9wL3Byb2R1Y3RzRGV0YWlsXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2VzaG9wL2Zvcm1zXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2VzaG9wL2FjY291bnRzXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2VzaG9wL2Nhcm91c2Vsc1wiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC9jYXJvdXNlbHNNdWx0aXBsZVwiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC9tb2RhbFwiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC9saW5rc1wiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC91c3BcIjtcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvZXNob3AvbGlzdHNcIjtcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvZXNob3AvYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC9iZXN0c2VsbGVyc1wiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC9jdGFcIjtcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvZXNob3AvcGFnaW5hdGlvbnNcIjtcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvZXNob3Avc29jaWFsXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2VzaG9wL3BhbmVsc1wiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC9jb2xsYXBzZVwiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC9yZWNvbW1lbmRlZEJveFwiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC9wcm9ncmVzc1wiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC9jYXJ0XCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2VzaG9wL3NlY3Rpb25zXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2VzaG9wL2ZpbHRlclwiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC9yYW5nZS1zbGlkZXJcIjtcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvZXNob3Avdm91Y2hlclwiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9lc2hvcC93aGlzcGVyZXJcIjtcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvZXNob3AvdGFibGVzXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2VzaG9wL3Rvb2x0aXBcIjtcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvZXNob3AvdmFyaWFudHNCb3hcIjtcblxuLy8vLyA3LiBVVElMSVRJRVNcbi8vLy8gSGVscGVycyBhbmQgb3ZlcnJpZGVzXG5AaW1wb3J0IFwiNy51dGlsaXRpZXMvaGVscGVyc1wiO1xuQGltcG9ydCBcIjcudXRpbGl0aWVzL3BsYWNlaG9sZGVyc1wiO1xuXG4iLCIvLyBDT0xPUlNcbiRjb2xvcl9fYnJhbmQ6IChcbiAgICAxOiAjMTdBNkIwLFxuICAgIDI6ICMyMTU2NzMsXG4gICAgMzogIzQ1N0I5RCxcbiAgICA0OiAjQjBEOURDLFxuICAgIDU6ICNEQUZERkYsXG4gICAgNjogIzJDQkVDOCxcbiAgICA3OiAjRkY1OTY2LFxuICAgIDg6ICMzMThFRkYsXG4gICAgOTogI0ZCMDAzRFxuKTtcblxuJGNvbG9yX19iYXNlOiAoXG4gICAgd2hpdGU6ICNmZmYsXG4gICAgYmxhY2s6ICMwMDAsXG4gICAgcmVkOiByZWQsXG4gICAgYmx1ZTogYmx1ZSxcbiAgICBncmVlbjogZ3JlZW5cbik7XG5cbiRjb2xvcl9fZ3JleTogKFxuICAgIDE6ICMxNDE0MTQsXG4gICAgMjogIzY2NjY2NixcbiAgICAzOiAjQTFBMUExLFxuICAgIDQ6ICNENkQ2RDYsXG4gICAgNTogI2Y2ZjZmNixcbiAgICA2OiAjRUNFQ0VDXG4pO1xuXG4kY29sb3JfX2dyZWVuOiAoXG4gICAgMTogIzFGRDQ3RSxcbiAgICAyOiAjMzlCOTRCLFxuICAgIDM6ICMyN0EzMzgsXG4gICAgNDogIzU2QzM2NVxuKTtcblxuJGNvbG9yX19jb3VudDogKFxuICAgIDE6ICNGQkJGMDAsXG4gICAgMjogI0Q2RDZENixcbiAgICAzOiAjQkM5QjRFXG4pO1xuXG4kY29sb3JfX2NvbnRleHQ6IChcbiAgICB3YXJuaW5nOiAjZmZjMTI5LFxuICAgIGRhbmdlcjogI2ZmMDA0NSxcbiAgICBzdWNjZXNzOiAjMDBjZjg2LFxuICAgIGluZm86ICMxYzhlZmMsXG4gICAgZXJyb3I6ICNhOTQ0NDIsXG4gICAgYWN0aW9uOiAjMzE4RUZGLFxuICAgIGRpc2NvdW50OiAjRkIwMDNELFxuICAgIG5ldzogIzM5Qjk0QixcbiAgICByZWNvbW1lbmRlZDogI0ZCQkYwMFxuKTtcblxuJGNvbG9yX19ib3JkZXI6IChcbiAgICAxOiAjZGRkXG4pO1xuXG4kY29sb3JfX3BsYWNlaG9sZGVyOiAoXG4gICAgMTogI2Q1ZDVkNVxuKTtcblxuJGNvbG9yX19icm93c2VyOiAoXG4gICAgMTogI0Q2RDZENixcbiAgICAyOiAjQTFBMUExXG4pO1xuXG4vLyBGT05UU1xuJGZvbnRfX2hlbHZldGljYTogJ0hlbHZldGljYSc7XG4kZm9udF9fYXdlc29tZS0tcmVndWxhcjogJ0ZvbnQgQXdlc29tZSBSZWd1bGFyJztcbiRmb250X19hd2Vzb21lLS1zb2xpZDogJ0ZvbnQgQXdlc29tZSBTb2xpZCc7XG4kZm9udF9fYXdlc29tZS0tbGlnaHQ6ICdGb250IEF3ZXNvbWUgTGlnaHQnO1xuJGZvbnRfX2F3ZXNvbWUtLWJyYW5kOiAnRm9udCBBd2Vzb21lIEJyYW5kJztcbiRmb250X19hd2Vzb21lLS1kdW90b25lOiAnRm9udCBBd2Vzb21lIER1b3RvbmUnO1xuJGZvbnRfX25hbWU6ICdGb250IG5hbWUnO1xuJGZvbnRfX3JvYm90bzogJ1JvYm90byc7XG5cblxuLy8gT1RIRVJTXG4kdHJhbnNpdGlvbjogKFxuICAgIGRlZjogLjNzIGVhc2Utb3V0LFxuICAgIGluOiAuM3MsXG4gICAgb3V0OiAuMnMsXG4pO1xuXG4kc2hhZG93OiAoXG4gICAgYm94OiAzcHggM3B4IDE1cHggcmdiYSgwLCAwLCAwLCAuNSksXG4gICAgdGV4dDogM3B4IDNweCAxNXB4IHJnYmEoMCwgMCwgMCwgLjUpXG4pO1xuXG4kdHJhbnNwYXJlbnQ6IChcbiAgICAxMDA6IHJnYmEoMCwgMCwgMCwgMCksXG4gICAgNTA6IHJnYmEoMCwgMCwgMCwgLjUpXG4pO1xuIiwiLy8gTUFJTlxuJGZvbnQtc2l6ZS0tYmFzZTogMTY7XG4kY29sb3I6ICMwMDA7XG4kYnVyZ2VyU2NyZWVuOiAnbGcnO1xuXG4vLyBGT0xERVJTXG4kcGF0aC0tZm9udDogJy4uL2ZvbnRzLyc7XG4kcGF0aC0taW1nOiAnLi4vaW1hZ2VzLyc7XG4kcGF0aC0tbnBtOiAnLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzLyc7XG5cbi8vIEdSSUQgU0VUVElOR1Ncbi8vIHNldHVwIGZvciBjb250YWluZXIgd2lkdGhcbiRncmlkLWNvbHVtbnM6IDEyO1xuXG4vLyRjb250YWluZXItc206IDA7XG4vLyRzY3JlZW4tc206ICRjb250YWluZXItc207XG4vLyRjb250YWluZXItbWQ6IDExMDBweDtcbi8vJHNjcmVlbi1tZDogJGNvbnRhaW5lci1tZDtcbi8vJGNvbnRhaW5lci1sZzogMTQxMHB4O1xuLy8kc2NyZWVuLWxnOiAkY29udGFpbmVyLWxnO1xuXG4vLyBzZXR0aW5nIGZvciBzcGFjaW5nXG4vLyRzcGFjZXI6IDFyZW07XG5cbi8vIEZPUk1TXG5cbiRmb3JtczogKFxuICAgIGhlaWdodDogNDgsXG4gICAgaGVpZ2h0LXRleHRhcmVhOiAxNTAsXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDUpLFxuICAgIGJvcmRlci1yYWRpdXM6IDNweCxcbiAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDEpLFxuICAgIHBsYWNlaG9sZGVyLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSksXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSxcbiAgICBwYWRkaW5nOiAxNSxcbiAgICBwYWRkaW5nLXg6IDEwLFxuICAgIHBhZGRpbmcteTogMTAsXG4gICAgbWFyZ2luLWJvdHRvbTogMzBcbik7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVzcG9uc2l2aXR5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gc2NyZWVuKCRtaW4td2lkdGgsICRtYXgtd2lkdGgpIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLXdpZHRoKSBhbmQgKG1heC13aWR0aDogJG1heC13aWR0aCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBzY3JlZW4tbWF4KCRtYXgtd2lkdGgpIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIHNjcmVlbi1taW4oJG1pbi13aWR0aCkge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4td2lkdGgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vKj09PT09PT09PT0gIEJvb3RzdHJhcCByZXNwb25zaXZlIGNsYXNzICA9PT09PT09PT09Ki9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNjcmVlbiBzaXplIHZhcmlhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJHNjcmVlbi14czogNDgwcHg7XG4kc2NyZWVuLXhzLW1pbjogJHNjcmVlbi14cztcbiRzY3JlZW4tc206IDc2OHB4O1xuJHNjcmVlbi1zbS1taW46ICRzY3JlZW4tc207XG4kc2NyZWVuLW1kOiA5OTJweDtcbiRzY3JlZW4tbWQtbWluOiAkc2NyZWVuLW1kO1xuJHNjcmVlbi1sZzogMTIwMHB4O1xuJHNjcmVlbi1sZy1taW46ICRzY3JlZW4tbGc7XG4kc2NyZWVuLXhsOiAxNjAwcHg7XG4kc2NyZWVuLXhsLW1pbjogJHNjcmVlbi14bDtcbiRzY3JlZW4teHMtbWF4OiAoJHNjcmVlbi1zbS1taW4gLSAxKTtcbiRzY3JlZW4tc20tbWF4OiAoJHNjcmVlbi1tZC1taW4gLSAxKTtcbiRzY3JlZW4tbWQtbWF4OiAoJHNjcmVlbi1sZy1taW4gLSAxKTtcbiRzY3JlZW4tbGctbWF4OiAoJHNjcmVlbi14bC1taW4gLSAxKTtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1lZGlhIHF1ZXJpZXMgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qPT09PT09PT09PSAgYmFzaWMgID09PT09PT09PT0qL1xuXG4vKj09PSAgeHMgID09PSovXG5cbi8vIHhzIG9ubHlcbkBtaXhpbiBzY3JlZW4teHMge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8qPT09ICBzbSAgPT09Ki9cbi8vIHNtIGFuZCBzbWFsbGVyXG5cbkBtaXhpbiBzY3JlZW4tc20tbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBzbSBvbmx5XG5AbWl4aW4gc2NyZWVuLXNtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIHNtIGFuZCBsYXJnZXJcbkBtaXhpbiBzY3JlZW4tc20tbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vKj09PSAgbWQgID09PSovXG4vLyBtZCBhbmQgc21hbGxlclxuQG1peGluIHNjcmVlbi1tZC1tYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIG1kIG9ubHlcbkBtaXhpbiBzY3JlZW4tbWQge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8gbWQgYW5kIGxhcmdlclxuQG1peGluIHNjcmVlbi1tZC1taW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8qPT09ICBsZyAgPT09Ki9cbi8vIGxnIGFuZCBzbWFsbGVyXG5AbWl4aW4gc2NyZWVuLWxnLW1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbGctbWF4KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8gbGcgb25seVxuQG1peGluIHNjcmVlbi1sZyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1sZy1tYXgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBsZyBhbmQgbGFyZ2VyXG5AbWl4aW4gc2NyZWVuLWxnLW1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLyo9PT0gIHhsICA9PT0qL1xuXG4vLyB4bCBhbmQgbGFyZ2VyXG5AbWl4aW4gc2NyZWVuLXhsLW1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teGwtbWluKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuXG4vKj09PT09PT09PT0gIFJldGluYSBpbWFnZXMgID09PT09PT09PT0qL1xuXG5AbWl4aW4gaW1hZ2UtMngoJGltYWdlLCAkd2lkdGgsICRoZWlnaHQpIHtcbiAgICBAbWVkaWEgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcbiAgICAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi42LzIpLFxuICAgICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXG4gICAgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXG4gICAgKG1pbi1yZXNvbHV0aW9uOiAxLjNkcHB4KSB7XG4gICAgICAgIC8qIG9uIHJldGluYSwgdXNlIGltYWdlIHRoYXQncyBzY2FsZWQgYnkgMiAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGggJGhlaWdodDtcbiAgICB9XG59XG5cbi8vIGFsbCBvcHRpb24gb24gbGlua3MgLSBob3ZlciwgZm9jdXMsIHZpc2l0ZWQsIGFjdGl2ZVxuQG1peGluIGhvdmVyLWVmZmVjdC1kZWZhdWx0KCRjb2xvciwgJGJnLWNvbG9yLCAkaG92ZXItY29sb3IsICRob3Zlci1iZy1jb2xvcikge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICAgIEBjb250ZW50O1xuXG4gICAgLy8gYWxsIG9wdGlvbnNcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkaG92ZXItYmctY29sb3IsIDEwJSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGhvdmVyLWJnLWNvbG9yLCAxMCUpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjphY3RpdmUsICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRob3Zlci1iZy1jb2xvciwgMTAlKTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRob3Zlci1iZy1jb2xvciwgMTAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBhbGwgb3B0aW9uIG9uIGxpbmtzIC0gaG92ZXIsIGZvY3VzLCB2aXNpdGVkLCBhY3RpdmVcbkBtaXhpbiBob3Zlci1lZmZlY3QoJGNvbG9yLCAkYmctY29sb3IsICRob3Zlci1jb2xvciwgJGhvdmVyLWJnLWNvbG9yKSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gICAgQGNvbnRlbnQ7XG5cbiAgICAvLyBhbGwgb3B0aW9uc1xuICAgICY6YWN0aXZlLCAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDogJGhvdmVyLWJnLWNvbG9yO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iZy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgM3B4IDNweCA1cHggcmdiYSgwLDAsMCwwLjIpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaG92ZXItYmctY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iZy1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gdGV4dCBvdmVyZmxvd1xuQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBmb250IHNldHRpbmcgZm9yIGxpbmUtaGVpZ2h0IGFuZCBmb250IHNpemVcbkBtaXhpbiBmb250LXNldHRpbmcgKCRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xuICAgIGZvbnQtc2l6ZTogcHgycmVtKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiBsaW5lSGVpZ2h0Q2FsKCRmb250LXNpemUsICRsaW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiBmb250LWZhbWlseSgkbmFtZSkge1xuICAgIEBpZiAkbmFtZSA9PSAkZm9udF9faGVsdmV0aWNhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiAgICB9IEBlbHNlIGlmICRuYW1lID09ICRmb250X19yb2JvdG8ge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnRfX3JvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuICAgIH0gQGVsc2UgaWYgJG5hbWUgPT0gJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X19hd2Vzb21lLS1saWdodCwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuICAgIH0gQGVsc2UgaWYgJG5hbWUgPT0gJGZvbnRfX2F3ZXNvbWUtLXNvbGlkIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X19hd2Vzb21lLS1zb2xpZCwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuICAgIH0gQGVsc2UgaWYgJG5hbWUgPT0gJGZvbnRfX2F3ZXNvbWUtLXJlZ3VsYXIge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnRfX2F3ZXNvbWUtLXJlZ3VsYXIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiAgICB9IEBlbHNlIGlmICRuYW1lID09ICRmb250X19hd2Vzb21lLS1icmFuZCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9fYXdlc29tZS0tYnJhbmQsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiAgICB9IEBlbHNlIGlmICRuYW1lID09ICRmb250X19hd2Vzb21lLS1kdW90b25lIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X19hd2Vzb21lLS1kdW90b25lLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIGluY29ycmVjdCBmb250IHdhcm5pbmdcbiAgICAgICAgY29sb3I6IHJlZCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRlVOQ1RJT05TXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AZnVuY3Rpb24gcHgycmVtKCRmb250LXNpemUsICRjb250ZXh0OiAkZm9udC1zaXplLS1iYXNlKSB7XG4gICAgQHJldHVybiAkZm9udC1zaXplIC8gJGNvbnRleHQgKyByZW1cbn1cblxuLy9AZnVuY3Rpb24gcHgyZW0oJGZvbnQtc2l6ZSwgJGNvbnRleHQ6ICRmb250LXNpemUtLWJhc2UpIHtcbi8vICAgIEByZXR1cm4gI3skZm9udC1zaXplLyRjb250ZXh0fWVtO1xuLy99XG5cbkBmdW5jdGlvbiBsaW5lSGVpZ2h0Q2FsKCRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xuICAgIEByZXR1cm4gKCRsaW5lLWhlaWdodCAqIDEwMCkgLyAkZm9udC1zaXplIC8gMTAwXG59XG4iLCIvKiFcbiAqIEJvb3RzdHJhcCB2NC41LjAgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIwIFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICogQ29weXJpZ2h0IDIwMTEtMjAyMCBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJyb290XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJ0b2FzdHNcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJzcGlubmVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcInByaW50XCI7XG4iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiBvciB1bml0KCRwcmV2LW51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgQGlmIGxlbmd0aCgkbWFwKSA+IDAge1xuICAgICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gICAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIFNlZSBodHRwczovL2NvZGVwZW4uaW8va2V2aW53ZWJlci9wZW4vZFhXb1J3XG5AZnVuY3Rpb24gZXNjYXBlLXN2Zygkc3RyaW5nKSB7XG4gIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJkYXRhOmltYWdlL3N2Zyt4bWxcIikge1xuICAgIEBlYWNoICRjaGFyLCAkZW5jb2RlZCBpbiAkZXNjYXBlZC1jaGFyYWN0ZXJzIHtcbiAgICAgIC8vIERvIG5vdCBlc2NhcGUgdGhlIHVybCBicmFja2V0c1xuICAgICAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcInVybChcIikgPT0gMSB7XG4gICAgICAgICRzdHJpbmc6IHVybChcIiN7c3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsIDYsIC0zKSwgJGNoYXIsICRlbmNvZGVkKX1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cblxuLy8gUmV0dXJuIHZhbGlkIGNhbGNcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsXCIlM2NcIiksXG4gIChcIj5cIixcIiUzZVwiKSxcbiAgKFwiI1wiLFwiJTIzXCIpLFxuICAoXCIoXCIsXCIlMjhcIiksXG4gIChcIilcIixcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgLyAyKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgLyAyICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgc3VidHJhY3QoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDQpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICBlc2NhcGUtc3ZnKCRjdXN0b20tc2VsZWN0LWluZGljYXRvcikgbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGFkZCgxZW0gKiAuNzUsICgyICogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICogLjc1KSArICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nMCAwIDEyIDEyJz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJG5hdi1kaXZpZGVyLW1hcmdpbi15ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcbiR1c2VyLXNlbGVjdHM6IGFsbCwgYXV0bywgbm9uZSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbi8vIFZlbmRvclxuQGltcG9ydCBcInZlbmRvci9yZnNcIjtcblxuLy8gRGVwcmVjYXRlXG5AaW1wb3J0IFwibWl4aW5zL2RlcHJlY2F0ZVwiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zsb2F0XCI7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgZm9udC1yZXNpemluZ1xuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnNcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNpemUgZm9udC1zaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udC1zaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gVmFyaWFibGVzIGZvciBzdG9yaW5nIHN0YXRpYyBhbmQgZmx1aWQgcmVzY2FsaW5nXG4gICAgJHJmcy1zdGF0aWM6IG51bGw7XG4gICAgJHJmcy1mbHVpZDogbnVsbDtcblxuICAgIC8vIFJlbW92ZSBweC11bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250LXNpemVcbiAgICBAaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0ge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzIC8gJHJmcy1yZW0tdmFsdWV9cmVtI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcHgge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzfXB4I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGFkZCBtZWRpYSBxdWVyeSBpZiBmb250LXNpemUgaXMgYmlnZ2VyIGFzIHRoZSBtaW5pbXVtIGZvbnQtc2l6ZVxuICAgIC8vIElmICRyZnMtZmFjdG9yID09IDEsIG5vIHJlc2NhbGluZyB3aWxsIHRha2UgcGxhY2VcbiAgICBAaWYgJGZzID4gJHJmcy1iYXNlLWZvbnQtc2l6ZSBhbmQgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgJG1pbi13aWR0aDogbnVsbDtcbiAgICAgICR2YXJpYWJsZS11bml0OiBudWxsO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArICgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdpdmVuIGZvbnQtc2l6ZSBhbmQgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHVuaXQgaXMgdmFsaWQsIGJlY2F1c2Ugd2UgZGlkIHRoYXQgYmVmb3JlXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3skZnMtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBJZiB0d28tZGltZW5zaW9uYWwsIHVzZSBzbWFsbGVzdCBvZiBzY3JlZW4gd2lkdGggYW5kIGhlaWdodFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3skZnMtZGlmZiAqIDEwMCAvICRyZnMtYnJlYWtwb2ludH0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZS5cbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyaW5nXG4gICAgQGlmICRyZnMtZmx1aWQgPT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlbmRlciBzdGF0aWMgZm9udC1zaXplIGlmIG5vIGZsdWlkIGZvbnQtc2l6ZSBpcyBhdmFpbGFibGVcbiAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRtcS12YWx1ZTogbnVsbDtcblxuICAgICAgLy8gUkZTIGJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgQGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IGVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0ID09IHJlbSB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnQgLyAkcmZzLXJlbS12YWx1ZX0jeyRyZnMtYnJlYWtwb2ludC11bml0fTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4IHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludH1weDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAgICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSxcbiAgICAgICAgLy8gd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAgICAgJixcbiAgICAgICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW4gdXNlcyBSRlMgdG8gcmVzY2FsZSBmb250IHNpemVzXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gRGVwcmVjYXRlIG1peGluXG4vL1xuLy8gVGhpcyBtaXhpbiBjYW4gYmUgdXNlZCB0byBkZXByZWNhdGUgbWl4aW5zIG9yIGZ1bmN0aW9ucy5cbi8vIGAkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzYCBpcyBhIGdsb2JhbCB2YXJpYWJsZSwgYCRpZ25vcmUtd2FybmluZ2AgaXMgYSB2YXJpYWJsZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG9cbi8vIHNvbWUgZGVwcmVjYXRlZCBtaXhpbnMgdG8gc3VwcHJlc3MgdGhlIHdhcm5pbmcgKGZvciBleGFtcGxlIGlmIHRoZSBtaXhpbiBpcyBzdGlsbCBiZSB1c2VkIGluIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgQm9vdHN0cmFwKVxuQG1peGluIGRlcHJlY2F0ZSgkbmFtZSwgJGRlcHJlY2F0ZS12ZXJzaW9uLCAkcmVtb3ZlLXZlcnNpb24sICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgQGlmICgkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzICE9IGZhbHNlIGFuZCAkaWdub3JlLXdhcm5pbmcgIT0gdHJ1ZSkge1xuICAgIEB3YXJuIFwiI3skbmFtZX0gaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiAjeyRkZXByZWNhdGUtdmVyc2lvbn0uIEl0IHdpbGwgYmUgcmVtb3ZlZCBlbnRpcmVseSBpbiAjeyRyZW1vdmUtdmVyc2lvbn0uXCI7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCgpIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbWctcmV0aW5hKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRiYWRnZS1mb2N1cy13aWR0aCByZ2JhKCRiZywgLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHNpemUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xuICB2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW52aXNpYmxlKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duKCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZm9ybS1jb250cm9sLWZvY3VzKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgZXNjYXBlLXN2ZygkaWNvbikgJGN1c3RvbS1zZWxlY3QtYmcgbm8tcmVwZWF0ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbiIsIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAaWYgKGxlbmd0aCgkc2hhZG93KSA9PSAxKSB7XG4gICAgICAvLyBXZSBjYW4gcGFzcyBgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtgXG4gICAgICAkcmVzdWx0OiAkc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gRmlsdGVyIHRvIGF2b2lkIGludmFsaWQgcHJvcGVydGllcyBmb3IgZXhhbXBsZSBgYm94LXNoYWRvdzogbm9uZSwgMXB4IDFweCBibGFjaztgXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2hhZG93KSB7XG4gICAgICAgIEBpZiBudGgoJHNoYWRvdywgJGkpICE9IFwibm9uZVwiIHtcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRzaGFkb3csICRpKSwgXCJjb21tYVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgKGxlbmd0aCgkcmVzdWx0KSA+IDApIHtcbiAgICAgIGJveC1zaGFkb3c6ICRyZXN1bHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU0MTBcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gICYgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTAwJSAvICRjb3VudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgLyAkY291bnQ7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AbWl4aW4gZmxvYXQtbGVmdCgpIHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1sZWZ0YCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuQG1peGluIGZsb2F0LXJpZ2h0KCkge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1yaWdodGAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbkBtaXhpbiBmbG9hdC1ub25lKCkge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LW5vbmVgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCIvLyBEbyBub3QgZm9yZ2V0IHRvIHVwZGF0ZSBnZXR0aW5nLXN0YXJ0ZWQvdGhlbWluZy5tZCFcbjpyb290IHtcbiAgLy8gQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGJwLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tYnJlYWtwb2ludC0jeyRicH06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC8vIFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGF0LXJ1bGUtbm8tdmVuZG9yLXByZWZpeCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cbi8vIDIuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbi8vIDUuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMlxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDVcbn1cblxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2Vycylcbi8vIFRPRE86IHJlbW92ZSBpbiB2NVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZVxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZzsgLy8gMlxufVxuXG4vLyBGdXR1cmUtcHJvb2YgcnVsZTogaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IDpmb2N1cy12aXNpYmxlLCBzdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZVxuLy8gb24gZWxlbWVudHMgdGhhdCBwcm9ncmFtbWF0aWNhbGx5IHJlY2VpdmUgZm9jdXMgYnV0IHdvdWxkbid0IG5vcm1hbGx5IHNob3cgYSB2aXNpYmxlXG4vLyBmb2N1cyBvdXRsaW5lLiBJbiBnZW5lcmFsLCB0aGlzIHdvdWxkIG1lYW4gdGhhdCB0aGUgb3V0bGluZSBpcyBvbmx5IGFwcGxpZWQgaWYgdGhlXG4vLyBpbnRlcmFjdGlvbiB0aGF0IGxlZCB0byB0aGUgZWxlbWVudCByZWNlaXZpbmcgcHJvZ3JhbW1hdGljIGZvY3VzIHdhcyBhIGtleWJvYXJkIGludGVyYWN0aW9uLFxuLy8gb3IgdGhlIGJyb3dzZXIgaGFzIHNvbWVob3cgZGV0ZXJtaW5lZCB0aGF0IHRoZSB1c2VyIGlzIHByaW1hcmlseSBhIGtleWJvYXJkIHVzZXIgYW5kL29yXG4vLyB3YW50cyBmb2N1cyBvdXRsaW5lcyB0byBhbHdheXMgYmUgcHJlc2VudGVkLlxuLy9cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmZvY3VzLXZpc2libGVcbi8vIGFuZCBodHRwczovL2RldmVsb3Blci5wYWNpZWxsb2dyb3VwLmNvbS9ibG9nLzIwMTgvMDMvZm9jdXMtdmlzaWJsZS1hbmQtYmFja3dhcmRzLWNvbXBhdGliaWxpdHkvXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgwJSk7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDc1JSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICAvLyBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGZyb20gdGhlIGA8Ym9keT5gLCBvciB0aGVcbiAgLy8gY2xvc2VzdCBwYXJlbnQgd2l0aCBhIHNldCBgdGV4dC1hbGlnbmAuXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gV29yayBhcm91bmQgYSBGaXJlZm94L0lFIGJ1ZyB3aGVyZSB0aGUgdHJhbnNwYXJlbnQgYGJ1dHRvbmAgYmFja2dyb3VuZFxuLy8gcmVzdWx0cyBpbiBhIGxvc3Mgb2YgdGhlIGRlZmF1bHQgYGJ1dHRvbmAgZm9jdXMgc3R5bGVzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZS9cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cbkBpZiAkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zIHtcbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBAaW5jbHVkZSBmb250LXNpemUoMS41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTsgfVxuaDIsIC5oMiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTsgfVxuaDMsIC5oMyB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTsgfVxuaDQsIC5oNCB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTsgfVxuaDUsIC5oNSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTsgfVxuaDYsIC5oNiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTsgfVxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5MS1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkyLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTMtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5NC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoOTAlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgLyAyO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygka2JkLWJveC1zaGFkb3cpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTAwJSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cblxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHNlbGVjdCBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRpbnB1dC1jb2xvcjtcbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIH1cbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmW3NpemVdLFxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCBmb3Igd29ya2Fyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG5AZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgbWFwLWdldCgkZGF0YSwgY29sb3IpLCBtYXAtZ2V0KCRkYXRhLCBpY29uKSk7XG59XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLFxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wZG93bixcbi5kcm9wbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBAaW5jbHVkZSBmb250LXNpemUoJGRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1sZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBlbmFibGVkIFBvcHBlci5qcywgcmVzZXQgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uZHJvcGRvd24tbWVudSB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcsICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15LCB0cnVlKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIC8vIFByZXZlbnQgZHJvcGRvd24gb3ZlcmZsb3cgaWYgdGhlcmUncyBubyBwYWRkaW5nXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yNzcwM1xuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wcmlnaHQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BsZWZ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuLmJ0bi1ncm91cC10b2dnbGUge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmN1c3RvbS1zZWxlY3QsXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHsgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7IG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDI7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIHRvIHdvcmsgYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEN1c3RvbSBjb250cm9sIGluZGljYXRvcnNcbi8vXG4vLyBCdWlsZCB0aGUgY3VzdG9tIGNvbnRyb2xzIG91dCBvZiBwc2V1ZG8tZWxlbWVudHMuXG5cbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtY3Vyc29yO1xuXG4gIC8vIEJhY2tncm91bmQtY29sb3IgYW5kICh3aGVuIGVuYWJsZWQpIGdyYWRpZW50XG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDI7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yIHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlIC8gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemV9O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZSk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc3dpdGNoZXNcbi8vXG4vLyBUd2VhayBhIGZldyB0aGluZ3MgZm9yIHN3aXRjaGVzXG5cbi5jdXN0b20tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXI7XG5cbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLXdpZHRoO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogYWRkKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgbGVmdDogYWRkKC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGhlaWdodDogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjE1cyBlYXNlLWluLW91dCwgJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkY3VzdG9tLXN3aXRjaC13aWR0aCAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpIC8gMjsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIEVkZ2Ugc3BlY2lmaWNcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgIC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyAvLyBhcmJpdHJhcnk/XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci1icmFuZC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xuICAgICAgICAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgaW1hZ2Ugc2l6ZSBidWcgaW4gSUVcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yODg1NVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY29sb3I7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSRjYXJkLXNwYWNlci15IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxuXG4gICsgLmxpc3QtZ3JvdXAge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jYXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLXRvcDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICA+IC5jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICA+IC5jYXJkLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIFN1cHByZXNzIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3IgaW4gbW9kZXJuIGJyb3dzZXJzXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6IGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gSUU5LTExIGhhY2sgdG8gcHJvcGVybHkgaGFuZGxlIGh5cGVybGluayB1bmRlcmxpbmVzIGZvciBicmVhZGNydW1icyBidWlsdFxuICAvLyB3aXRob3V0IGA8dWw+YHMuIFRoZSBgOjpiZWZvcmVgIHBzZXVkby1lbGVtZW50IGdlbmVyYXRlcyBhbiBlbGVtZW50XG4gIC8vICp3aXRoaW4qIHRoZSAuYnJlYWRjcnVtYi1pdGVtIGFuZCB0aGVyZWJ5IGluaGVyaXRzIHRoZSBgdGV4dC1kZWNvcmF0aW9uYC5cbiAgLy9cbiAgLy8gVG8gdHJpY2sgSUUgaW50byBzdXBwcmVzc2luZyB0aGUgdW5kZXJsaW5lLCB3ZSBnaXZlIHRoZSBwc2V1ZG8tZWxlbWVudCBhblxuICAvLyB1bmRlcmxpbmUgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0LlxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24tcGFkZGluZy15ICRwYWdpbmF0aW9uLXBhZGRpbmcteDtcbiAgbWFyZ2luLWxlZnQ6IC0kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBvdXRsaW5lOiAkcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lO1xuICAgIGJveC1zaGFkb3c6ICRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvLyBPcGluaW9uYXRlZDogcmVtb3ZlIHRoZSBcImhhbmRcIiBjdXJzb3Igc2V0IHByZXZpb3VzbHkgZm9yIC5wYWdlLWxpbmtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCAkYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhZGdlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhZGdlLXRyYW5zaXRpb24pO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmFsZXJ0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCh0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJvcmRlci1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWNvbG9yLWxldmVsKSk7XG4gIH1cbn1cbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzLWhlaWdodCAwOyB9XG4gICAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBsaW5lLWhlaWdodDogMDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc7XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmICsgJiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnRvYXN0IHtcbiAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBjaGVhcCByb3VuZGVkIGNvcm5lcnMgb24gbmVzdGVkIGl0ZW1zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4ubW9kYWwtb3BlbiB7XG4gIC8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IC8vIElFMTAvMTFcbiAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7IC8vIElFMTAvMTFcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7IC8vIFJlc2V0IGhlaWdodCB0byAwIGV4Y2VwdCBvbiBJRVxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAvLyBFbnN1cmUgYC5tb2RhbC1ib2R5YCBzaG93cyBzY3JvbGxiYXIgKElFMTAvMTEpXG4gICYubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiAkbW9kYWwtY29udGVudC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nIC0gJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAvIDI7XG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiAqIHtcbiAgICBtYXJnaW46ICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGxlZnQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoIC8gMjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICByaWdodDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlIC8gMTAwJSAxMDAlO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpO1xufVxuXG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIG9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxuLy8gc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IC41O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMjtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBib3JkZXI6ICRzcGlubmVyLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHNwaW5uZXItYm9yZGVyIC43NXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xuICBib3JkZXItd2lkdGg6ICRzcGlubmVyLWJvcmRlci13aWR0aC1zbTtcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IHNwaW5uZXItZ3JvdyAuNzVzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG59XG4iLCJAaW1wb3J0IFwidXRpbGl0aWVzL2FsaWduXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYm9yZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2VtYmVkXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2ZsZXhcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZmxvYXRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvaW50ZXJhY3Rpb25zXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL292ZXJmbG93XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NjcmVlbnJlYWRlcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2hhZG93c1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zaXppbmdcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc3BhY2luZ1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zdHJldGNoZWQtbGlua1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy90ZXh0XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Zpc2liaWxpdHlcIjtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIEJvcmRlclxuLy9cblxuLmJvcmRlciAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQgICB7IGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tICB7IGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQgICAgeyBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYm9yZGVyLSN7JGNvbG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLXBpbGwgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbiIsIi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15IC8gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEZsZXggdmFyaWF0aW9uXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbiAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2UgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAgICAgICAgICB7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1maWxsICAgICAgICAgeyBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0wICAgICAgIHsgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTEgICAgICAgeyBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0wICAgICB7IGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMSAgICAgeyBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG5cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8gICAgIHsgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkdXNlci1zZWxlY3RzIHtcbiAgLnVzZXItc2VsZWN0LSN7JHZhbHVlfSB7IHVzZXItc2VsZWN0OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkb3ZlcmZsb3dzIHtcbiAgLm92ZXJmbG93LSN7JHZhbHVlfSB7IG92ZXJmbG93OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbW1vbiB2YWx1ZXNcbkBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcbiAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7IHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDsgfVxufVxuXG4vLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLnN0aWNreS10b3Age1xuICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgfVxufVxuIiwiLy9cbi8vIFNjcmVlbnJlYWRlcnNcbi8vXG5cbi5zci1vbmx5IHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xufVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5zaGFkb3ctc20geyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50OyB9XG4uc2hhZG93IHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbm9uZSB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLy8gVmlld3BvcnQgYWRkaXRpb25hbCBoZWxwZXJzXG5cbi5taW4tdnctMTAwIHsgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4ubWluLXZoLTEwMCB7IG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnZ3LTEwMCB7IHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4udmgtMTAwIHsgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgJHNpemUgIT0gMCB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG4vLyBSZXNldFxuXG4udGV4dC1yZXNldCB7IGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL21haW4uY3NzL2Jsb2IvbWFzdGVyL3NyYy9fcHJpbnQuY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxODA4MTUxNTA5MzQvaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgLy9cblxuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsImJvZHkubGItZGlzYWJsZS1zY3JvbGxpbmcge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubGlnaHRib3hPdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtcbiAgb3BhY2l0eTogMC44O1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGlnaHRib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmxpZ2h0Ym94IC5sYi1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogaW5oZXJpdDtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gIC8qIEltYWdlIGJvcmRlciAqL1xuICBib3JkZXI6IDRweCBzb2xpZCB3aGl0ZTtcbn1cblxuLmxpZ2h0Ym94IGEgaW1nIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4ubGItb3V0ZXJDb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICp6b29tOiAxO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMjUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgLyogQmFja2dyb3VuZCBjb2xvciBiZWhpbmQgaW1hZ2UuXG4gICAgIFRoaXMgaXMgdmlzaWJsZSBkdXJpbmcgdHJhbnNpdGlvbnMuICovXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4ubGItb3V0ZXJDb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5sYi1sb2FkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDMlO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDI1JTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5sYi1jYW5jZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbG9hZGluZy5naWYpIG5vLXJlcGVhdDtcbn1cblxuLmxiLW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLmxiLWNvbnRhaW5lciA+IC5uYXYge1xuICBsZWZ0OiAwO1xufVxuXG4ubGItbmF2IGEge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBUEFBQVAvLy93QUFBQ0g1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlDUkFFQU93PT0nKTtcbn1cblxuLmxiLXByZXYsIC5sYi1uZXh0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubGItbmF2IGEubGItcHJldiB7XG4gIHdpZHRoOiAzNCU7XG4gIGxlZnQ6IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3ByZXYucG5nKSBsZWZ0IDQ4JSBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MCk7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG59XG5cbi5sYi1uYXYgYS5sYi1wcmV2OmhvdmVyIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGItbmF2IGEubGItbmV4dCB7XG4gIHdpZHRoOiA2NCU7XG4gIHJpZ2h0OiAwO1xuICBmbG9hdDogcmlnaHQ7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbmV4dC5wbmcpIHJpZ2h0IDQ4JSBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MCk7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG59XG5cbi5sYi1uYXYgYS5sYi1uZXh0OmhvdmVyIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGItZGF0YUNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICAqem9vbTogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbn1cblxuLmxiLWRhdGFDb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5sYi1kYXRhIHtcbiAgcGFkZGluZzogMCA0cHg7XG4gIGNvbG9yOiAjY2NjO1xufVxuXG4ubGItZGF0YSAubGItZGV0YWlscyB7XG4gIHdpZHRoOiA4NSU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4xZW07XG59XG5cbi5sYi1kYXRhIC5sYi1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cblxuLmxiLWRhdGEgLmxiLWNhcHRpb24gYSB7XG4gIGNvbG9yOiAjNGFlO1xufVxuXG4ubGItZGF0YSAubGItbnVtYmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBsZWZ0O1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4ubGItZGF0YSAubGItY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Nsb3NlLnBuZykgdG9wIHJpZ2h0IG5vLXJlcGVhdDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NzApO1xuICBvcGFjaXR5OiAwLjc7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG59XG5cbi5sYi1kYXRhIC5sYi1jbG9zZTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xuICBvcGFjaXR5OiAxO1xufVxuIiwiLyohID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogYm9vdHN0cmFwLXNsaWRlci5qc1xuICpcbiAqIE1haW50YWluZXJzOlxuICpcdFx0S3lsZSBLZW1wXG4gKlx0XHRcdC0gVHdpdHRlcjogQHNlaXlyaWFcbiAqXHRcdFx0LSBHaXRodWI6ICBzZWl5cmlhXG4gKlx0XHRSb2hpdCBLYWxrdXJcbiAqXHRcdFx0LSBUd2l0dGVyOiBAUm92b2x1dGlvbmFyeVxuICpcdFx0XHQtIEdpdGh1YjogIHJvdm9sdXRpb25cbiAqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBib290c3RyYXAtc2xpZGVyIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICogQ29weXJpZ2h0IChjKSAyMDE5IEt5bGUgS2VtcCwgUm9oaXQgS2Fsa3VyLCBhbmQgY29udHJpYnV0b3JzXG4gKiBcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uXG4gKiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvblxuICogZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0XG4gKiByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSxcbiAqIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbiAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nXG4gKiBjb25kaXRpb25zOlxuICogXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZVxuICogaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKiBcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsXG4gKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVNcbiAqIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EXG4gKiBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVFxuICogSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksXG4gKiBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbiAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1JcbiAqIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cbiAqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInJ1bGVzXCI7XG4iLCIkc2xpZGVyLWxpbmUtaGVpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJHNsaWRlci1ib3JkZXItcmFkaXVzOiA0cHggIWRlZmF1bHQ7XG4kc2xpZGVyLWhvcml6b250YWwtd2lkdGg6IDIxMHB4ICFkZWZhdWx0O1xuJHNsaWRlci12ZXJ0aWNhbC1oZWlnaHQ6IDIxMHB4ICFkZWZhdWx0O1xuXG4vLyBQcmltYXJ5IGNvbG9yc1xuJHNsaWRlci1wcmltYXJ5OiBudWxsICFkZWZhdWx0O1xuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmFuZC1wcmltYXJ5KSB7XG4gICRzbGlkZXItcHJpbWFyeTogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG59IEBlbHNlIHtcbiAgJHNsaWRlci1wcmltYXJ5OiAjMDQ4MEJFICFkZWZhdWx0O1xufVxuXG4kc2xpZGVyLXByaW1hcnktdG9wOiAkc2xpZGVyLXByaW1hcnkgIWRlZmF1bHQ7XG4kc2xpZGVyLXByaW1hcnktYm90dG9tOiBkYXJrZW4oJHNsaWRlci1wcmltYXJ5LCA1JSkgIWRlZmF1bHQ7XG4kc2xpZGVyLXNlY29uZGFyeS10b3A6IHNhdHVyYXRlKGxpZ2h0ZW4oJHNsaWRlci1wcmltYXJ5LCAyOCUpLCAyMCUpICFkZWZhdWx0O1xuJHNsaWRlci1zZWNvbmRhcnktYm90dG9tOiBzYXR1cmF0ZShsaWdodGVuKCRzbGlkZXItcHJpbWFyeSwgMjMlKSwgMiUpICFkZWZhdWx0O1xuXG4vLyBncmF5cyBmb3Igc2xpZGVyIGNoYW5uZWwgYW5kIGRpc2FibGVkIHN0YXRlc1xuJHNsaWRlci1ncmF5LTE6ICNCRUJFQkUgIWRlZmF1bHQ7XG4kc2xpZGVyLWdyYXktMjogI0RGREZERiAhZGVmYXVsdDtcbiRzbGlkZXItZ3JheS0zOiAjRTVFNUU1ICFkZWZhdWx0O1xuJHNsaWRlci1ncmF5LTQ6ICNFOUU5RTkgIWRlZmF1bHQ7XG4kc2xpZGVyLWdyYXktNTogI0Y1RjVGNSAhZGVmYXVsdDtcbiRzbGlkZXItZ3JheS02OiAjRjlGOUY5ICFkZWZhdWx0O1xuXG4vLyB1bmljb2RlIGNvbG9yIGZvciBkZW1vIHBhZ2VcbiRzbGlkZXItdW5pY29kZS1jb2xvcjogIzcyNjIwNCAhZGVmYXVsdDsiLCJAbWl4aW4gc2xpZGVyX2JhY2tncm91bmQtaW1hZ2UgKCRjb2xvcnN0YXJ0OiNGNUY1RjUsICRjb2xvcmVuZDojRjlGOUY5LCAkYmFja2NvbG9yOiAjRjdGN0Y3KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgJGNvbG9yc3RhcnQsICRjb2xvcmVuZCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgkY29sb3JzdGFydCksIHRvKCRjb2xvcmVuZCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRjb2xvcnN0YXJ0LCAkY29sb3JlbmQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkY29sb3JzdGFydCwgJGNvbG9yZW5kKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGNvbG9yc3RhcnQsICRjb2xvcmVuZCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3skY29sb3JzdGFydH0nLCBlbmRDb2xvcnN0cj0nI3skY29sb3JlbmR9JyxHcmFkaWVudFR5cGU9MCk7XG59XG5AbWl4aW4gc2xpZGVyX2JveC1zaXppbmcgKCR2YWx1ZSkge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICR2YWx1ZTtcbiAgLW1vei1ib3gtc2l6aW5nOiAkdmFsdWU7XG4gIGJveC1zaXppbmc6ICR2YWx1ZTtcbn1cbkBtaXhpbiBzbGlkZXJfYm94LXNoYWRvdyAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHZhbHVlO1xuICAtbW96LWJveC1zaGFkb3c6ICR2YWx1ZTtcbiAgYm94LXNoYWRvdzogJHZhbHVlO1xufVxuQG1peGluIHNsaWRlcl9ib3JkZXItcmFkaXVzICgkdmFsdWUpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkdmFsdWU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogJHZhbHVlO1xuICBib3JkZXItcmFkaXVzOiAkdmFsdWU7XG59IiwiLnNsaWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmLnNsaWRlci1ob3Jpem9udGFsIHtcbiAgICB3aWR0aDogJHNsaWRlci1ob3Jpem9udGFsLXdpZHRoO1xuICAgIGhlaWdodDogJHNsaWRlci1saW5lLWhlaWdodDtcbiAgICAuc2xpZGVyLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1saW5lLWhlaWdodC8yO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAtJHNsaWRlci1saW5lLWhlaWdodC80O1xuICAgICAgdG9wOiAgNTAlO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLnNsaWRlci1zZWxlY3Rpb24sIC5zbGlkZXItdHJhY2stbG93LCAuc2xpZGVyLXRyYWNrLWhpZ2gge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICAuc2xpZGVyLXRpY2ssXG4gICAgLnNsaWRlci1oYW5kbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kc2xpZGVyLWxpbmUtaGVpZ2h0LzI7XG4gICAgICAmLnRyaWFuZ2xlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgJHNsaWRlci1saW5lLWhlaWdodC8yICRzbGlkZXItbGluZS1oZWlnaHQvMiAkc2xpZGVyLWxpbmUtaGVpZ2h0LzI7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRzbGlkZXItcHJpbWFyeS1ib3R0b207XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5zbGlkZXItdGljay1jb250YWluZXIge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnNsaWRlci10aWNrLWxhYmVsLWNvbnRhaW5lciB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgbWFyZ2luLXRvcDogJHNsaWRlci1saW5lLWhlaWdodDtcbiAgICAgIC5zbGlkZXItdGljay1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy10b3A6ICRzbGlkZXItbGluZS1oZWlnaHQgKiAxLjI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5zbGlkZXItcnRsIHtcbiAgICAgIC5zbGlkZXItdHJhY2sge1xuICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICAgIC5zbGlkZXItdGljayxcbiAgICAgIC5zbGlkZXItaGFuZGxlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRzbGlkZXItbGluZS1oZWlnaHQvMjtcbiAgICAgIH1cbiAgICAgIC5zbGlkZXItdGljay1jb250YWluZXIge1xuICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zbGlkZXItdmVydGljYWwge1xuICAgIGhlaWdodDogJHNsaWRlci12ZXJ0aWNhbC1oZWlnaHQ7XG4gICAgd2lkdGg6ICRzbGlkZXItbGluZS1oZWlnaHQ7XG4gICAgLnNsaWRlci10cmFjayB7XG4gICAgICB3aWR0aDogJHNsaWRlci1saW5lLWhlaWdodC8yO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMjUlO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgICAuc2xpZGVyLXNlbGVjdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICAgIC5zbGlkZXItdHJhY2stbG93LCAuc2xpZGVyLXRyYWNrLWhpZ2gge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIC5zbGlkZXItdGljayxcbiAgICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtJHNsaWRlci1saW5lLWhlaWdodC8yO1xuICAgICAgJi50cmlhbmdsZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNsaWRlci1saW5lLWhlaWdodC8yIDAgJHNsaWRlci1saW5lLWhlaWdodC8yICRzbGlkZXItbGluZS1oZWlnaHQvMjtcbiAgICAgICAgd2lkdGg6ICAxcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHNsaWRlci1wcmltYXJ5LWJvdHRvbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5zbGlkZXItdGljay1sYWJlbC1jb250YWluZXIge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIC5zbGlkZXItdGljay1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNsaWRlci1saW5lLWhlaWdodCAqIC4yO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnNsaWRlci1ydGwge1xuICAgICAgLnNsaWRlci10cmFjayB7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIHJpZ2h0OiAyNSU7XG4gICAgICB9XG4gICAgICAuc2xpZGVyLXNlbGVjdGlvbiB7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgLnNsaWRlci10aWNrLFxuICAgICAgLnNsaWRlci1oYW5kbGUge1xuICAgICAgICAmLnRyaWFuZ2xlIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6ICRzbGlkZXItbGluZS1oZWlnaHQvMiAkc2xpZGVyLWxpbmUtaGVpZ2h0LzIgJHNsaWRlci1saW5lLWhlaWdodC8yIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zbGlkZXItdGljay1sYWJlbC1jb250YWluZXIge1xuICAgICAgICAuc2xpZGVyLXRpY2stbGFiZWwge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc2xpZGVyLWxpbmUtaGVpZ2h0ICogLjI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zbGlkZXItZGlzYWJsZWQge1xuICAgIC5zbGlkZXItaGFuZGxlIHtcbiAgICAgIEBpbmNsdWRlIHNsaWRlcl9iYWNrZ3JvdW5kLWltYWdlKCRzbGlkZXItZ3JheS0yLCAkc2xpZGVyLWdyYXktMSwgbWl4KCRzbGlkZXItZ3JheS0yLCAkc2xpZGVyLWdyYXktMSkpO1xuICAgIH1cbiAgICAuc2xpZGVyLXRyYWNrIHtcbiAgICAgIEBpbmNsdWRlIHNsaWRlcl9iYWNrZ3JvdW5kLWltYWdlKCRzbGlkZXItZ3JheS0zLCAkc2xpZGVyLWdyYXktNCwgbWl4KCRzbGlkZXItZ3JheS0zLCAkc2xpZGVyLWdyYXktNCkpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRvb2x0aXAtaW5uZXIge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG4gIC50b29sdGlwIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICYudG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zNnB4O1xuICAgIH1cbiAgfVxuXG4gIC50b29sdGlwLWlubmVyIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zbGlkZXItdHJhY2sge1xuICBAaW5jbHVkZSBzbGlkZXJfYmFja2dyb3VuZC1pbWFnZSgkc2xpZGVyLWdyYXktNSwgJHNsaWRlci1ncmF5LTYsIG1peCgkc2xpZGVyLWdyYXktNSwgJHNsaWRlci1ncmF5LTYpKTtcbiAgQGluY2x1ZGUgc2xpZGVyX2JveC1zaGFkb3coaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKSk7XG4gIEBpbmNsdWRlIHNsaWRlcl9ib3JkZXItcmFkaXVzKCRzbGlkZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zbGlkZXItc2VsZWN0aW9uIHtcbiAgQGluY2x1ZGUgc2xpZGVyX2JhY2tncm91bmQtaW1hZ2UoJHNsaWRlci1ncmF5LTYsICRzbGlkZXItZ3JheS01LCBtaXgoJHNsaWRlci1ncmF5LTYsICRzbGlkZXItZ3JheS01KSk7XG4gIEBpbmNsdWRlIHNsaWRlcl9ib3gtc2hhZG93KGluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsMC4xNSkpO1xuICBAaW5jbHVkZSBzbGlkZXJfYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgQGluY2x1ZGUgc2xpZGVyX2JvcmRlci1yYWRpdXMoJHNsaWRlci1ib3JkZXItcmFkaXVzKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uc2xpZGVyLXNlbGVjdGlvbi50aWNrLXNsaWRlci1zZWxlY3Rpb24ge1xuICBAaW5jbHVkZSBzbGlkZXJfYmFja2dyb3VuZC1pbWFnZSgkc2xpZGVyLXNlY29uZGFyeS10b3AsICRzbGlkZXItc2Vjb25kYXJ5LWJvdHRvbSwgbWl4KCRzbGlkZXItc2Vjb25kYXJ5LXRvcCwgJHNsaWRlci1zZWNvbmRhcnktYm90dG9tKSk7XG59XG5cbi5zbGlkZXItdHJhY2stbG93LCAuc2xpZGVyLXRyYWNrLWhpZ2gge1xuICBAaW5jbHVkZSBzbGlkZXJfYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgQGluY2x1ZGUgc2xpZGVyX2JvcmRlci1yYWRpdXMoJHNsaWRlci1ib3JkZXItcmFkaXVzKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIHNsaWRlcl9iYWNrZ3JvdW5kLWltYWdlKCRzbGlkZXItcHJpbWFyeS10b3AsICRzbGlkZXItcHJpbWFyeS1ib3R0b20sIG1peCgkc2xpZGVyLXByaW1hcnktdG9wLCAkc2xpZGVyLXByaW1hcnktYm90dG9tKSk7XG4gIEBpbmNsdWRlIHNsaWRlcl9ib3gtc2hhZG93KGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KSk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAgJHNsaWRlci1saW5lLWhlaWdodDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWxpbmUtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLXByaW1hcnk7XG4gIGJvcmRlcjogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgJi5yb3VuZCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyX2JvcmRlci1yYWRpdXMoJHNsaWRlci1saW5lLWhlaWdodCk7XG4gIH1cbiAgJi50cmlhbmdsZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZTtcbiAgfVxuICAmLmN1c3RvbSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZTtcbiAgICAmOjpiZWZvcmV7XG4gICAgICBsaW5lLWhlaWdodDogJHNsaWRlci1saW5lLWhlaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbnRlbnQ6ICdcXDI2MDUnOyAvL3VuaWNvZGUgc3RhciBjaGFyYWN0ZXJcbiAgICAgIGNvbG9yOiAkc2xpZGVyLXVuaWNvZGUtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5zbGlkZXItdGljayB7XG4gIEBpbmNsdWRlIHNsaWRlcl9iYWNrZ3JvdW5kLWltYWdlKCRzbGlkZXItZ3JheS01LCAkc2xpZGVyLWdyYXktNiwgbWl4KCRzbGlkZXItZ3JheS01LCAkc2xpZGVyLWdyYXktNikpO1xuICBAaW5jbHVkZSBzbGlkZXJfYm94LXNoYWRvdyhpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLDAuMTUpKTtcbiAgQGluY2x1ZGUgc2xpZGVyX2JveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAkc2xpZGVyLWxpbmUtaGVpZ2h0O1xuICBoZWlnaHQ6ICRzbGlkZXItbGluZS1oZWlnaHQ7XG4gIGZpbHRlcjogbm9uZTtcbiAgb3BhY2l0eTogMC44O1xuICBib3JkZXI6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAmLnJvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cbiAgJi50cmlhbmdsZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZTtcbiAgfVxuICAmLmN1c3RvbSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGluZS1oZWlnaHQ6ICRzbGlkZXItbGluZS1oZWlnaHQ7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb250ZW50OiAnXFwyNjA1JzsgLy91bmljb2RlIHN0YXIgY2hhcmFjdGVyXG4gICAgICBjb2xvcjogJHNsaWRlci11bmljb2RlLWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLmluLXNlbGVjdGlvbiB7XG4gICAgQGluY2x1ZGUgc2xpZGVyX2JhY2tncm91bmQtaW1hZ2UoJHNsaWRlci1zZWNvbmRhcnktdG9wLCAkc2xpZGVyLXNlY29uZGFyeS1ib3R0b20sIG1peCgkc2xpZGVyLXNlY29uZGFyeS10b3AsICRzbGlkZXItc2Vjb25kYXJ5LWJvdHRvbSkpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsIkBrZXlmcmFtZXMgc3BsaWRlLWxvYWRpbmd7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LnNwbGlkZV9fY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uc3BsaWRlX19saXN0e21hcmdpbjowIWltcG9ydGFudDtwYWRkaW5nOjAhaW1wb3J0YW50O3dpZHRoOi13ZWJraXQtbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnQ7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS5zcGxpZGUuaXMtYWN0aXZlIC5zcGxpZGVfX2xpc3R7ZGlzcGxheTpmbGV4fS5zcGxpZGVfX3BhZ2luYXRpb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6OTUlO2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjB9LnNwbGlkZV9fcGFnaW5hdGlvbiBsaXtsaXN0LXN0eWxlLXR5cGU6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoxO21hcmdpbjowfS5zcGxpZGV7dmlzaWJpbGl0eTpoaWRkZW59LnNwbGlkZSwuc3BsaWRlX19zbGlkZXtwb3NpdGlvbjpyZWxhdGl2ZTtvdXRsaW5lOm5vbmV9LnNwbGlkZV9fc2xpZGV7Ym94LXNpemluZzpib3JkZXItYm94O2xpc3Qtc3R5bGUtdHlwZTpub25lIWltcG9ydGFudDttYXJnaW46MDtmbGV4LXNocmluazowfS5zcGxpZGVfX3NsaWRlIGltZ3t2ZXJ0aWNhbC1hbGlnbjpib3R0b219LnNwbGlkZV9fc2xpZGVye3Bvc2l0aW9uOnJlbGF0aXZlfS5zcGxpZGVfX3NwaW5uZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7bWFyZ2luOmF1dG87ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MnB4IHNvbGlkICM5OTk7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7YW5pbWF0aW9uOnNwbGlkZS1sb2FkaW5nIDFzIGxpbmVhciBpbmZpbml0ZX0uc3BsaWRlX190cmFja3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjA7b3ZlcmZsb3c6aGlkZGVufS5zcGxpZGUtLWRyYWdnYWJsZT4uc3BsaWRlX190cmFjaz4uc3BsaWRlX19saXN0Pi5zcGxpZGVfX3NsaWRley13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5zcGxpZGUtLWZhZGU+LnNwbGlkZV9fdHJhY2s+LnNwbGlkZV9fbGlzdHtkaXNwbGF5OmJsb2NrfS5zcGxpZGUtLWZhZGU+LnNwbGlkZV9fdHJhY2s+LnNwbGlkZV9fbGlzdD4uc3BsaWRlX19zbGlkZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7ei1pbmRleDowO29wYWNpdHk6MH0uc3BsaWRlLS1mYWRlPi5zcGxpZGVfX3RyYWNrPi5zcGxpZGVfX2xpc3Q+LnNwbGlkZV9fc2xpZGUuaXMtYWN0aXZle3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtvcGFjaXR5OjF9LnNwbGlkZS0tcnRse2RpcmVjdGlvbjpydGx9LnNwbGlkZS0tdHRiPi5zcGxpZGVfX3RyYWNrPi5zcGxpZGVfX2xpc3R7ZGlzcGxheTpibG9ja30uc3BsaWRlLS10dGI+LnNwbGlkZV9fcGFnaW5hdGlvbnt3aWR0aDphdXRvfS5zcGxpZGVfX2Fycm93e3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjJlbTtoZWlnaHQ6MmVtO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXI6bm9uZTtwYWRkaW5nOjA7b3BhY2l0eTouNztiYWNrZ3JvdW5kOiNjY2N9LnNwbGlkZV9fYXJyb3cgc3Zne3dpZHRoOjEuMmVtO2hlaWdodDoxLjJlbX0uc3BsaWRlX19hcnJvdzpob3ZlcntjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi45fS5zcGxpZGVfX2Fycm93OmZvY3Vze291dGxpbmU6bm9uZX0uc3BsaWRlX19hcnJvdy0tcHJldntsZWZ0OjFlbX0uc3BsaWRlX19hcnJvdy0tcHJldiBzdmd7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNwbGlkZV9fYXJyb3ctLW5leHR7cmlnaHQ6MWVtfS5zcGxpZGVfX3BhZ2luYXRpb257cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxO2JvdHRvbTouNWVtO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BhZGRpbmc6MH0uc3BsaWRlX19wYWdpbmF0aW9uX19wYWdle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JhY2tncm91bmQ6I2NjYztib3JkZXItcmFkaXVzOjUwJTttYXJnaW46M3B4O3BhZGRpbmc6MDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgbGluZWFyO2JvcmRlcjpub25lO29wYWNpdHk6Ljd9LnNwbGlkZV9fcGFnaW5hdGlvbl9fcGFnZS5pcy1hY3RpdmV7dHJhbnNmb3JtOnNjYWxlKDEuNCk7YmFja2dyb3VuZDojZmZmfS5zcGxpZGVfX3BhZ2luYXRpb25fX3BhZ2U6aG92ZXJ7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTouOX0uc3BsaWRlX19wYWdpbmF0aW9uX19wYWdlOmZvY3Vze291dGxpbmU6bm9uZX0uc3BsaWRlX19wcm9ncmVzc19fYmFye3dpZHRoOjA7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOiNjY2N9LnNwbGlkZS0tbmF2Pi5zcGxpZGVfX3RyYWNrPi5zcGxpZGVfX2xpc3Q+LnNwbGlkZV9fc2xpZGV7Ym9yZGVyOjNweCBzb2xpZCB0cmFuc3BhcmVudH0uc3BsaWRlLS1uYXY+LnNwbGlkZV9fdHJhY2s+LnNwbGlkZV9fbGlzdD4uc3BsaWRlX19zbGlkZS5pcy1hY3RpdmV7Ym9yZGVyLWNvbG9yOiMwMDB9LnNwbGlkZS0tbmF2Pi5zcGxpZGVfX3RyYWNrPi5zcGxpZGVfX2xpc3Q+LnNwbGlkZV9fc2xpZGU6Zm9jdXN7b3V0bGluZTpub25lfS5zcGxpZGUtLXJ0bD4uc3BsaWRlX19hcnJvd3MgLnNwbGlkZV9fYXJyb3ctLXByZXYsLnNwbGlkZS0tcnRsPi5zcGxpZGVfX3RyYWNrPi5zcGxpZGVfX2Fycm93cyAuc3BsaWRlX19hcnJvdy0tcHJldntyaWdodDoxZW07bGVmdDphdXRvfS5zcGxpZGUtLXJ0bD4uc3BsaWRlX19hcnJvd3MgLnNwbGlkZV9fYXJyb3ctLXByZXYgc3ZnLC5zcGxpZGUtLXJ0bD4uc3BsaWRlX190cmFjaz4uc3BsaWRlX19hcnJvd3MgLnNwbGlkZV9fYXJyb3ctLXByZXYgc3Zne3RyYW5zZm9ybTpzY2FsZVgoMSl9LnNwbGlkZS0tcnRsPi5zcGxpZGVfX2Fycm93cyAuc3BsaWRlX19hcnJvdy0tbmV4dCwuc3BsaWRlLS1ydGw+LnNwbGlkZV9fdHJhY2s+LnNwbGlkZV9fYXJyb3dzIC5zcGxpZGVfX2Fycm93LS1uZXh0e2xlZnQ6MWVtO3JpZ2h0OmF1dG99LnNwbGlkZS0tcnRsPi5zcGxpZGVfX2Fycm93cyAuc3BsaWRlX19hcnJvdy0tbmV4dCBzdmcsLnNwbGlkZS0tcnRsPi5zcGxpZGVfX3RyYWNrPi5zcGxpZGVfX2Fycm93cyAuc3BsaWRlX19hcnJvdy0tbmV4dCBzdmd7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNwbGlkZS0tdHRiPi5zcGxpZGVfX2Fycm93cyAuc3BsaWRlX19hcnJvdywuc3BsaWRlLS10dGI+LnNwbGlkZV9fdHJhY2s+LnNwbGlkZV9fYXJyb3dzIC5zcGxpZGVfX2Fycm93e2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSl9LnNwbGlkZS0tdHRiPi5zcGxpZGVfX2Fycm93cyAuc3BsaWRlX19hcnJvdy0tcHJldiwuc3BsaWRlLS10dGI+LnNwbGlkZV9fdHJhY2s+LnNwbGlkZV9fYXJyb3dzIC5zcGxpZGVfX2Fycm93LS1wcmV2e3RvcDoxZW19LnNwbGlkZS0tdHRiPi5zcGxpZGVfX2Fycm93cyAuc3BsaWRlX19hcnJvdy0tcHJldiBzdmcsLnNwbGlkZS0tdHRiPi5zcGxpZGVfX3RyYWNrPi5zcGxpZGVfX2Fycm93cyAuc3BsaWRlX19hcnJvdy0tcHJldiBzdmd7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpfS5zcGxpZGUtLXR0Yj4uc3BsaWRlX19hcnJvd3MgLnNwbGlkZV9fYXJyb3ctLW5leHQsLnNwbGlkZS0tdHRiPi5zcGxpZGVfX3RyYWNrPi5zcGxpZGVfX2Fycm93cyAuc3BsaWRlX19hcnJvdy0tbmV4dHt0b3A6YXV0bztib3R0b206MWVtfS5zcGxpZGUtLXR0Yj4uc3BsaWRlX19hcnJvd3MgLnNwbGlkZV9fYXJyb3ctLW5leHQgc3ZnLC5zcGxpZGUtLXR0Yj4uc3BsaWRlX190cmFjaz4uc3BsaWRlX19hcnJvd3MgLnNwbGlkZV9fYXJyb3ctLW5leHQgc3Zne3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5zcGxpZGUtLXR0Yj4uc3BsaWRlX19wYWdpbmF0aW9ue2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym90dG9tOjUwJTtsZWZ0OmF1dG87cmlnaHQ6LjVlbTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg1MCUpfSIsImh0bWwsIGJvZHkge1xuICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSk7XG4gICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX3JvYm90byk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0tYmFzZSArIHB4O1xuICAgIH1cbn1cbiIsImgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRk9OVCBERUZJTklUSU9OUyAtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gZm9udCBuYW1lIC0gZGVmaW5lIGluIHZhcmlhYmxlcy5zY3NzXG5cbi8qIEZPTlQgRkFDRSBTT1VSQ0VTICovXG4vLyBmb250IGRlZmluaXRpb24gZXhhbXBsZTpcblxuLy9AZm9udC1mYWNlIHtcbi8vICAgIGZvbnQtZmFtaWx5OiAkZm9udF9fZm9udG5hbWU7XG4vLyAgICBzcmM6IHVybCgkcGF0aC0tZm9udCArICdmb250bmFtZS1yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuLy8gICAgdXJsKCRwYXRoLS1mb250ICsgJ2ZvbnRuYW1lLXJlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbi8vICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAgICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4vL31cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250X19yb2JvdG87XG4gICAgc3JjOiB1cmwoJHBhdGgtLWZvbnQgKyAncm9ib3RvX3JlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCRwYXRoLS1mb250ICsgJ3JvYm90b19yZWd1bGFyLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnRfX3JvYm90bztcbiAgICBzcmM6IHVybCgkcGF0aC0tZm9udCArICdyb2JvdG9fNTAwLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgkcGF0aC0tZm9udCArICdyb2JvdG9fNTAwLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250X19yb2JvdG87XG4gICAgc3JjOiB1cmwoJHBhdGgtLWZvbnQgKyAncm9ib3RvXzUwMGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJHBhdGgtLWZvbnQgKyAncm9ib3RvXzUwMGl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udF9fcm9ib3RvO1xuICAgIHNyYzogdXJsKCRwYXRoLS1mb250ICsgJ3JvYm90b19pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCRwYXRoLS1mb250ICsgJ3JvYm90b19pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbi8qIEZPTlQgQVdFU09NRSAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250X19hd2Vzb21lLS1saWdodDsgLy9mYWxcbiAgICAgICAgc3JjOlxuICAgICAgICB1cmwoJHBhdGgtLWZvbnQgKyAnL2ZhLWxpZ2h0LTMwMC5lb3QnKSxcbiAgICAgICAgdXJsKCRwYXRoLS1mb250ICsgJy9mYS1saWdodC0zMDAuZW90JykgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICAgIHVybCgkcGF0aC0tZm9udCArICcvZmEtbGlnaHQtMzAwLndvZmYyJykgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgIHVybCgkcGF0aC0tZm9udCArICcvZmEtbGlnaHQtMzAwLndvZmYnKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgICB1cmwoJHBhdGgtLWZvbnQgKyAnL2ZhLWxpZ2h0LTMwMC50dGYnKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICAgICAgdXJsKCRwYXRoLS1mb250ICsgJy9mYS1saWdodC0zMDAuc3ZnJykgZm9ybWF0KFwic3ZnXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250X19hd2Vzb21lLS1zb2xpZDsgLy9mYXNcbiAgICAgICAgc3JjOlxuICAgICAgICB1cmwoJHBhdGgtLWZvbnQgKyAnL2ZhLXNvbGlkLTkwMC5lb3QnKSxcbiAgICAgICAgdXJsKCRwYXRoLS1mb250ICsgJy9mYS1zb2xpZC05MDAuZW90JykgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICAgIHVybCgkcGF0aC0tZm9udCArICcvZmEtc29saWQtOTAwLndvZmYyJykgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgIHVybCgkcGF0aC0tZm9udCArICcvZmEtc29saWQtOTAwLndvZmYnKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgICB1cmwoJHBhdGgtLWZvbnQgKyAnL2ZhLXNvbGlkLTkwMC50dGYnKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICAgICAgdXJsKCRwYXRoLS1mb250ICsgJy9mYS1zb2xpZC05MDAuc3ZnJykgZm9ybWF0KFwic3ZnXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250X19hd2Vzb21lLS1yZWd1bGFyOyAvL2ZhclxuICAgICAgICBzcmM6XG4gICAgICAgIHVybCgkcGF0aC0tZm9udCArICcvZmEtcmVndWxhci00MDAuZW90JyksXG4gICAgICAgIHVybCgkcGF0aC0tZm9udCArICcvZmEtcmVndWxhci00MDAuZW90JykgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICAgIHVybCgkcGF0aC0tZm9udCArICcvZmEtcmVndWxhci00MDAud29mZjInKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgdXJsKCRwYXRoLS1mb250ICsgJy9mYS1yZWd1bGFyLTQwMC53b2ZmJykgZm9ybWF0KFwid29mZlwiKSxcbiAgICAgICAgdXJsKCRwYXRoLS1mb250ICsgJy9mYS1yZWd1bGFyLTQwMC50dGYnKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICAgICAgdXJsKCRwYXRoLS1mb250ICsgJy9mYS1yZWd1bGFyLTQwMC5zdmcnKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnRfX2F3ZXNvbWUtLWJyYW5kOyAvL2ZhYlxuICAgICAgICBzcmM6XG4gICAgICAgIHVybCgkcGF0aC0tZm9udCArICcvZmEtYnJhbmRzLTQwMC5lb3QnKSxcbiAgICAgICAgdXJsKCRwYXRoLS1mb250ICsgJy9mYS1icmFuZHMtNDAwLmVvdCcpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgICB1cmwoJHBhdGgtLWZvbnQgKyAnL2ZhLWJyYW5kcy00MDAud29mZjInKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgdXJsKCRwYXRoLS1mb250ICsgJy9mYS1icmFuZHMtNDAwLndvZmYnKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgICB1cmwoJHBhdGgtLWZvbnQgKyAnL2ZhLWJyYW5kcy00MDAudHRmJykgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgICAgIHVybCgkcGF0aC0tZm9udCArICcvZmEtYnJhbmRzLTQwMC5zdmcnKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnRfX2F3ZXNvbWUtLWR1b3RvbmU7IC8vZmFkXG4gICAgICAgIHNyYzpcbiAgICAgICAgdXJsKCRwYXRoLS1mb250ICsgJy9mYS1kdW90b25lLTkwMC5lb3QnKSxcbiAgICAgICAgdXJsKCRwYXRoLS1mb250ICsgJy9mYS1kdW90b25lLTkwMC5lb3QnKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgdXJsKCRwYXRoLS1mb250ICsgJy9mYS1kdW90b25lLTkwMC53b2ZmMicpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgICB1cmwoJHBhdGgtLWZvbnQgKyAnL2ZhLWR1b3RvbmUtOTAwLndvZmYnKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgICB1cmwoJHBhdGgtLWZvbnQgKyAnL2ZhLWR1b3RvbmUtOTAwLnR0ZicpIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgICAgICB1cmwoJHBhdGgtLWZvbnQgKyAnL2ZhLWR1b3RvbmUtOTAwLnN2ZycpIGZvcm1hdChcInN2Z1wiKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG4iLCJoMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzLCBoNCwgLmg0LCBoNSwgLmg1LCBoNiwgLmg2IHtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG59XG5cbi5oMSwgaDEge1xuICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygzNCAvIDEuNSwgNDIgIC8gMS41KTtcbiAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjApO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMzQsIDQyKTtcbiAgICB9XG59XG5cbi5oMiwgaDIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygzMiAvIDEuNCwgMzggLyAxLjQpO1xuICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgzMCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygzMiAvIDEuMywgMzggLyAxLjMpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDMyLCAzOCk7XG4gICAgfVxufVxuXG4uaDMsIGgzIHtcbiAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMjQsIDI4KTtcbiAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjApO1xufVxuXG4uaDQsIGg0IHtcbiAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMjAsIDI0KTtcbiAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjApO1xufVxuXG4uaDUsIGg1IHtcbiAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDI1KTtcbiAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjApO1xufVxuXG4uaDYsIGg2IHtcbiAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcbiAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICB9XG59XG5cbi50ZXh0IHtcbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgzMCk7XG4gICAgfVxuXG4gICAgJi5jb2xvciB7XG4gICAgICAgICZfX2JyYW5kIHtcbiAgICAgICAgICAgICYtLTMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udGV4dCB7XG4gICAgLy8gLS0gQ1VTVE9NIENPREUgLS1cbiAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDI2KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjApO1xuXG4gICAgLy8gLS0gREVGQVVMVCBDT0RFIC0tXG5cbiAgICAmLS1zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAyMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBieSBwcmlvcml0eSAtIGJ5IG1vc3RseSB1c2VkXG4gICAgJi0tMSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNiwgMjQpO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS0yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE0LCAyMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS0zIHtcbiAgICAgICAgLy8uLi5cbiAgICB9XG5cbiAgICAmLS00IHtcbiAgICAgICAgLy8uLi5cbiAgICB9XG5cbiAgICAmLmljbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oMTIgKyAxMCk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLXNvbGlkKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE2KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcG9pbnQge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYzYzUnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS0xIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSg5ICsgMTApO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmM2M1JztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDEyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1waG9uZSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjg3OSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1lbWFpbCB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjBlMCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2VjdGlvbiB7XG4gICAgLy8gLS0gREVGQVVMVCBDT0RFIC0tXG4gICAgcGFkZGluZzogcHgycmVtKDMwKSAwO1xuXG4gICAgLy8gLS0gQ1VTVE9NIENPREUgLS1cblxuICAgIC8vIGJ5IHByaW9yaXR5IC0gYnkgbW9zdGx5IHVzZWRcblxuICAgICYtLTEge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQobWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSA0NCUsIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSkgNDQlKTtcbiAgICB9XG5cbiAgICAmLS0yIHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCk7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG5cbiAgICAgICAgLmg2IHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDIpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNCwgMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnNpdGVfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAmLS1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3tweDJyZW0oMjQwKX0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNvbnRhaW5lciB7XG4gICAgJi1mbHVpZCB7XG4gICAgICAgICYubG9jayB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcHgycmVtKDE0NDApO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJcbi5hbGVydCB7XG4gICAgLy8gZm9yIGJvb3RzdHJhcCBuYXRpdmUgYmVoYXZpZXJcbiAgICAmOm5vdCguZGVmKSB7XG4gICAgICAgICYuYWxlcnQtd2FybmluZyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIGJsYWNrKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCB3YXJuaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWxlcnQtZGFuZ2VyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGRhbmdlcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsZXJ0LXN1Y2Nlc3Mge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCBibGFjayk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fY29udGV4dCwgc3VjY2Vzcyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsZXJ0LWluZm8ge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCBibGFjayk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmFsZXJ0X19iYXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IHB4MnJlbSgxNCkgMzBweCBweDJyZW0oMTQpIDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgYSB7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkoeHMpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBweDJyZW0oOCk7XG4gICAgICAgIHJpZ2h0OiBweDJyZW0oOCk7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgYmxhY2spO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWFwX2dldCgkdHJhbnNpdGlvbiwgZGVmKTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBmb250LXNpemU6IHB4MnJlbSgyNCk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAwZCc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tc29saWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgICBvcGFjaXR5OiAuOTtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCBibGFjayk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICAmLS10aXRsZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSg1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QtZGVmYXVsdChtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMiksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19ncmV5LCAyKSk7XG4gICAgfVxufVxuIiwiLmxpc3Qge1xuICAgIG1hcmdpbjogMCAwIHB4MnJlbSgzMCkgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIHB4MnJlbSgxMCk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IHB4MnJlbSg1ICogMik7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSg1KTtcbiAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDUpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2Jhc2UsIGJsYWNrKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2Jhc2UsIGJsYWNrKSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCksIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCkpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4vLyBsaXN0LW5lc3RlZFxuLmxpc3RfX25lc3RlZCB7XG4gICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCBibGFjayk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgY291bnRlci1yZXNldDogbGlzdDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMjApO1xuXG4gICAgJiA+IGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0O1xuICAgICAgICAgICAgY29udGVudDogY291bnRlcihsaXN0KSBcIi5cIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IHB4MnJlbSgtMjApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGlzdF9fbmVzdGVkLS1zZWNvbmQtbHZsIHtcbiAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDEpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBjb3VudGVyLXJlc2V0OiBzdWJsaXN0O1xuICAgIG1hcmdpbjogcHgycmVtKDQwKSAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAmID4gbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBweDJyZW0oMTApO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogc3VibGlzdDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdCkgXCIuXCIgY291bnRlcihzdWJsaXN0KSBcIi5cIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IHB4MnJlbSgtMzUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGlzdF9fbmVzdGVkLS10aGlyZC1sdmwge1xuICAgIGNvdW50ZXItcmVzZXQ6IHN1YnN1Ymxpc3Q7XG4gICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oNjApO1xuICAgIG1hcmdpbjogcHgycmVtKDIwKSAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICYgPiBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogc3Vic3VibGlzdDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdCkgXCIuXCIgY291bnRlcihzdWJsaXN0KSBcIi5cIiBjb3VudGVyKHN1YnN1Ymxpc3QpIFwiLlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogcHgycmVtKC01MCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5saXN0X19uZXN0ZWQtLWZvdXJ0aC1sdmwge1xuICAgIGNvdW50ZXItcmVzZXQ6IHN1YnN1YnN1Ymxpc3Q7XG4gICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oODApO1xuICAgIG1hcmdpbjogcHgycmVtKDIwKSAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICYgPiBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogc3Vic3Vic3VibGlzdDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdCkgXCIuXCIgY291bnRlcihzdWJsaXN0KSBcIi5cIiBjb3VudGVyKHN1YnN1Ymxpc3QpIFwiLlwiIGNvdW50ZXIoc3Vic3Vic3VibGlzdCkgXCIuXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiBweDJyZW0oLTY1KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiXG4vLyBkZWZhdWx0IHJlc2V0XG5pbnB1dFt0eXBlPSdudW1iZXInXSwgaW5wdXRbdHlwZT0nZGF0ZSddIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sICY6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLCAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCAmOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0ge1xuICAgIC8vIC0tIERFRkFVTFQgQ09ERSAtLVxuXG4gICAgbGFiZWwge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkZm9ybXMsIGNvbG9yKTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNiwgMTkpO1xuICAgICAgICBoZWlnaHQ6IHB4MnJlbShtYXBfZ2V0KCRmb3JtcywgaGVpZ2h0KSk7XG4gICAgICAgIGJvcmRlcjogbWFwX2dldCgkZm9ybXMsIGJvcmRlcik7XG4gICAgICAgIHBhZGRpbmc6IHB4MnJlbShtYXBfZ2V0KCRmb3JtcywgcGFkZGluZy15KSkgcHgycmVtKG1hcF9nZXQoJGZvcm1zLCBwYWRkaW5nLXgpKTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwX2dldCgkZm9ybXMsIGJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRmb3JtcywgcGxhY2Vob2xkZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0obWFwX2dldCgkZm9ybXMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgLy9tYXgtd2lkdGg6IHB4MnJlbSgyODApO1xuXG4gICAgICAgICYudGV4dGFyZWEge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRmb3JtcywgYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwX2dldCgkZm9ybXMsIGJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmlucHV0LXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkZm9ybXMsIGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwX2dldCgkZm9ybXMsIGJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBweDJyZW0oMTUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oMjApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDIwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0obWFwX2dldCgkZm9ybXMsIHBhZGRpbmcteSkpIHB4MnJlbShtYXBfZ2V0KCRmb3JtcywgcGFkZGluZy14KSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbShtYXBfZ2V0KCRmb3JtcywgaGVpZ2h0LXRleHRhcmVhKSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpbGUge1xuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sYWJlbC1maWxlIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIGxhYmVsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFiZWwtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNiwgMTkpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDQ4KTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCBweDJyZW0oMTUpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlucHV0LXdyYXBwZXIge1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSg0NSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1zb2xpZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTksIDI0KTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjU3NCc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBweDJyZW0oMTUpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGVsZXRlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWxlY3Qge1xuXG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDFweDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnB1dC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDcnO1xuICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6IHVybCgkcGF0aC0taW1nICsgJ2ljb25zL2NhcmV0LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSgyMCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMjEpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbShtYXBfZ2V0KCRmb3JtcywgcGFkZGluZy15KSkgcHgycmVtKG1hcF9nZXQoJGZvcm1zLCBwYWRkaW5nLXgpICogMykgcHgycmVtKG1hcF9nZXQoJGZvcm1zLCBwYWRkaW5nLXkpKSBweDJyZW0obWFwX2dldCgkZm9ybXMsIHBhZGRpbmcteCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWFyY2gge1xuICAgICAgICAgICAgLmlucHV0LXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIC5idG4tZmluZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAxKSB1cmwoJHBhdGgtLWltZyArICdpY29ucy9tYWduaWZ5aW5nLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgLyAxNnB4IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNDgpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kYXRlcGlja2VyIHtcbiAgICAgICAgICAgIC5pbnB1dC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgkcGF0aC0taW1nICsgJ2ljb25zL2NhbGVuZGFyLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLndhcm5pbmcge1xuICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIHdhcm5pbmcpO1xuXG4gICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIHdhcm5pbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlucHV0LXdyYXBwZXIge1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJHBhdGgtLWltZyArICdpY29ucy9hbGVydC5zdmcnKSBuby1yZXBlYXQgY2VudGVyIC8gY292ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kYW5nZXIge1xuXG4gICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fY29udGV4dCwgZGFuZ2VyKTtcblxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBkYW5nZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlucHV0LXdyYXBwZXIge1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJHBhdGgtLWltZyArICdpY29ucy9kYW5nZXIuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc3VjY2VzcyB7XG4gICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fY29udGV4dCwgc3VjY2Vzcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnB1dC13cmFwcGVyIHtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCRwYXRoLS1pbWcgKyAnaWNvbnMvc3VjY2Vzcy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIC8gY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oMjApO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSgyMCk7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBweDJyZW0oMTUpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmhhcy1lcnJvciB7XG4gICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGVycm9yKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fY29udGV4dCwgZGFuZ2VyKTtcblxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnB1dC13cmFwcGVyIHtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCRwYXRoLS1pbWcgKyAnaWNvbnMvZGFuZ2VyLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSgyMCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHB4MnJlbSgxNSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmxhYmVsLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICAgJl9fd3JhcHBlciB7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWNoZWNrYm94LCAuZm9ybS1yYWRpbyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgcHgycmVtKDEwKSAwIDA7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkZm9ybXMsIGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBweDJyZW0oMTApIDAgMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRmb3JtcywgYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJjpjaGVja2VkICsgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkZm9ybXMsIGJhY2tncm91bmQtY29sb3IpIHVybCgkcGF0aC0taW1nICsgJ2ljb25zL2J1bGxldC5zdmcnKSBuby1yZXBlYXQgY2VudGVyIC8gMTBweCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGZvcm1zLCBiYWNrZ3JvdW5kLWNvbG9yKSB1cmwoJHBhdGgtLWltZyArICdpY29ucy9jaGVjay5zdmcnKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaGFzLWVycm9yIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGVycm9yKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGVycm9yKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGVycm9yKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaWdub3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTlweDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIVxuICogSGFtYnVyZ2Vyc1xuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXG4gKiBAYXV0aG9yIEpvbmF0aGFuIFN1aCBAam9uc3VoXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXG4gKi9cblxuLy8gU2V0dGluZ3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXBhZGRpbmcteCAgICAgICAgICAgOiAxNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItd2lkdGggICAgICAgICA6IDI1cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAgICAgICAgOiAzcHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgICAgICAgOiA0cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWNvbG9yICAgICAgICAgOiAjMTdBNkIwICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzIDogNHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICAgICAgIDogMSAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWxheWVyLWNvbG9yICA6ICMxN0E2QjAgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1vcGFjaXR5OiAxICFkZWZhdWx0O1xuXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAhZGVmYXVsdDtcblxuLy8gVHlwZXMgKFJlbW92ZSBvciBjb21tZW50IG91dCB3aGF0IHlvdSBkb27igJl0IG5lZWQpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci10eXBlczogKFxuICAzZHgsXG4gIDNkeC1yLFxuICAzZHksXG4gIDNkeS1yLFxuICAzZHh5LFxuICAzZHh5LXIsXG4gIGFycm93LFxuICBhcnJvdy1yLFxuICBhcnJvd2FsdCxcbiAgYXJyb3dhbHQtcixcbiAgYXJyb3d0dXJuLFxuICBhcnJvd3R1cm4tcixcbiAgYm9yaW5nLFxuICBjb2xsYXBzZSxcbiAgY29sbGFwc2UtcixcbiAgZWxhc3RpYyxcbiAgZWxhc3RpYy1yLFxuICBlbXBoYXRpYyxcbiAgZW1waGF0aWMtcixcbiAgbWludXMsXG4gIHNsaWRlcixcbiAgc2xpZGVyLXIsXG4gIHNwaW4sXG4gIHNwaW4tcixcbiAgc3ByaW5nLFxuICBzcHJpbmctcixcbiAgc3RhbmQsXG4gIHN0YW5kLXIsXG4gIHNxdWVlemUsXG4gIHZvcnRleCxcbiAgdm9ydGV4LXJcbikgIWRlZmF1bHQ7XG5cbi8vIEJhc2UgSGFtYnVyZ2VyIChXZSBuZWVkIHRoaXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcImJhc2VcIjtcblxuLy8gSGFtYnVyZ2VyIHR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcInR5cGVzLzNkeFwiO1xuQGltcG9ydCBcInR5cGVzLzNkeC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHh5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4eS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvdy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHRcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9ib3JpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZVwiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljXCI7XG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvbWludXNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXItclwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW5cIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcGluLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmctclwiO1xuQGltcG9ydCBcInR5cGVzL3N0YW5kXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmQtclwiO1xuQGltcG9ydCBcInR5cGVzL3NxdWVlemVcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXgtclwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29va2luZyB1cCBhZGRpdGlvbmFsIHR5cGVzOlxuLy9cbi8vIFRoZSBTYXNzIGZvciBlYWNoIGhhbWJ1cmdlciB0eXBlIHNob3VsZCBiZSBuZXN0ZWRcbi8vIGluc2lkZSBhbiBAaWYgZGlyZWN0aXZlIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90XG4vLyBpdCBleGlzdHMgaW4gJGhhbWJ1cmdlci10eXBlcyBzbyBvbmx5IHRoZSBDU1MgZm9yXG4vLyBpbmNsdWRlZCB0eXBlcyBhcmUgZ2VuZXJhdGVkLlxuLy9cbi8vIGUuZy4gaGFtYnVyZ2Vycy90eXBlcy9fbmV3LXR5cGUuc2Nzc1xuLy9cbi8vIEBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBuZXctdHlwZSkge1xuLy8gICAuaGFtYnVyZ2VyLS1uZXctdHlwZSB7XG4vLyAgICAgLi4uXG4vLyAgIH1cbi8vIH1cbiIsIi8vIEhhbWJ1cmdlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5oYW1idXJnZXIge1xuICAgIHBhZGRpbmc6ICRoYW1idXJnZXItcGFkZGluZy15ICRoYW1idXJnZXItcGFkZGluZy14O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblxuICAgIC8vIE5vcm1hbGl6ZSAoPGJ1dHRvbj4pXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XG4gICAgICAgICAgICBmaWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xuICAgICAgICAgICAgICAgIGZpbHRlcjogJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItZmlsdGVyO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oYW1idXJnZXItaW5uZXIsXG4gICAgICAgIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgICAgICAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1hY3RpdmUtbGF5ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oYW1idXJnZXItYm94IHtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMyArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ21lbnUnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRvcDogcHgycmVtKDI1KTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoNywgOCk7XG4gICAgfVxufVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIC0yO1xuXG4gICAgJixcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1sYXllci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3R0b206ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4KSB7XG4gIC8qXG4gICAqIDNEWFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4IHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHgtcikge1xuICAvKlxuICAgKiAzRFggUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4LXIge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHkpIHtcbiAgLypcbiAgICogM0RZXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHkge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKC0xODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHktcikge1xuICAvKlxuICAgKiAzRFkgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R5LXIge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeHkpIHtcbiAgLypcbiAgICogM0RYWVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4eSB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeHktcikge1xuICAvKlxuICAgKiAzRFhZIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeHktciB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDE4MGRlZykgcm90YXRlWigtMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3cpIHtcbiAgLypcbiAgICogQXJyb3dcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93LmlzLWFjdGl2ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvdy1yKSB7XG4gIC8qXG4gICAqIEFycm93IFJpZ2h0XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvdy1yLmlzLWFjdGl2ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjIsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjIsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3dhbHQpIHtcbiAgLypcbiAgICogQXJyb3cgQWx0XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvd2FsdCB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMjUsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yNSwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93YWx0LXIpIHtcbiAgLypcbiAgICogQXJyb3cgQWx0IFJpZ2h0XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvd2FsdC1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjI1LCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjI1LCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93dHVybikge1xuICAvKlxuICAgKiBBcnJvdyBUdXJuXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvd3R1cm4uaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDhweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93dHVybi1yKSB7XG4gIC8qXG4gICAqIEFycm93IFR1cm4gUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93dHVybi1yLmlzLWFjdGl2ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLThweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGJvcmluZykge1xuICAvKlxuICAgKiBCb3JpbmdcbiAgICovXG4gIC5oYW1idXJnZXItLWJvcmluZyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmLFxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGNvbGxhcHNlKSB7XG4gIC8qXG4gICAqIENvbGxhcHNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIDAuMjJzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGNvbGxhcHNlLXIpIHtcbiAgLypcbiAgICogQ29sbGFwc2UgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tY29sbGFwc2UtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTEsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4yMnMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTZzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbGFzdGljKSB7XG4gIC8qXG4gICAqIEVsYXN0aWNcbiAgICovXG4gIC5oYW1idXJnZXItLWVsYXN0aWMge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI3NXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xMjVzIDAuMjc1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI3NXMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgtMjcwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbGFzdGljLXIpIHtcbiAgLypcbiAgICogRWxhc3RpYyBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI3NXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xMjVzIDAuMjc1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI3NXMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbXBoYXRpYykge1xuICAvKlxuICAgKiBFbXBoYXRpY1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICByaWdodCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMTI1cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVtcGhhdGljLXIpIHtcbiAgLypcbiAgICogRW1waGF0aWMgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMtciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTIsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4xMjVzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgbWludXMpIHtcbiAgLypcbiAgICogTWludXNcbiAgICovXG4gIC5oYW1idXJnZXItLW1pbnVzIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDhzIDBzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wOHMgMHMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMHMgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA4cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wOHMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyAwLjA4cyBsaW5lYXI7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc2xpZGVyKSB7XG4gIC8qXG4gICAqIFNsaWRlclxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc2xpZGVyIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoIC8gLTcsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIC0xLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc2xpZGVyLXIpIHtcbiAgLypcbiAgICogU2xpZGVyIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXNsaWRlci1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoIC8gNywgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogLTEsIDApO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwaW4pIHtcbiAgLypcbiAgICogU3BpblxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3BpbiB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjIycztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4yNXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4yNXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMjJzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIDAuMTJzIGVhc2Utb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwaW4tcikge1xuICAvKlxuICAgKiBTcGluIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXNwaW4tciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjIycztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4yNXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4yNXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMjJzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjI1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjEycyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwcmluZykge1xuICAvKlxuICAgKiBTcHJpbmdcbiAgICovXG4gIC5oYW1idXJnZXItLXNwcmluZyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMHMgMC4xM3MgbGluZWFyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTVzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwcmluZy1yKSB7XG4gIC8qXG4gICAqIFNwcmluZyBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcHJpbmctciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDBzIGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyAwLjIycyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHN0YW5kKSB7XG4gIC8qXG4gICAqIFN0YW5kXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zdGFuZCB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjA3NXMgbGluZWFyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzdGFuZC1yKSB7XG4gIC8qXG4gICAqIFN0YW5kIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXN0YW5kLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4wNzVzIGxpbmVhcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNxdWVlemUpIHtcbiAgLypcbiAgICogU3F1ZWV6ZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3F1ZWV6ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjA3NXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xMnMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjA3NXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMTJzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMDc1cyAwLjEycyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgdm9ydGV4KSB7XG4gIC8qXG4gICAqIFZvcnRleFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tdm9ydGV4IHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIG9wYWNpdHk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDc2NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCB2b3J0ZXgtcikge1xuICAvKlxuICAgKiBWb3J0ZXggUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3R0b20sIHRyYW5zZm9ybTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTc2NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuXG4gICAgLmhhbWJ1cmdlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oMzAwKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oNDUwcHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcHgycmVtKDQwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDIwKSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tdG9wIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWlkZGxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tYm90dG9tIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19vdXRlciB7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgICBtYXJnaW46IDAgcHgycmVtKDEwKTtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHB4MnJlbSgxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogcHgycmVtKDIwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcHgycmVtKDIwKTtcbiAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuXG4gICAgLnRleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAyKSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCkpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCB7XG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5tZW51IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgJi5kcm9wZG93biB7XG4gICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxOCwgMjQpO1xuICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKSwgbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkY29sb3JfX2Jhc2UsIGJsYWNrKSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDE1KSBweDJyZW0oMTApO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgYmxhY2spLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZHJvcGRvd24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWFzaWRlIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDIyKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgcHgycmVtKDMwKSAwO1xuXG4gICAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzLCAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgIC5tZW51LS1hc2lkZV9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgLm1lbnUtLWFzaWRlX19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMjAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnN1Ym1lbnUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oNSkgMDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTIpIHB4MnJlbSgxNSArIDE2KSBweDJyZW0oMTIpIHB4MnJlbSgxNSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKSwgbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMTA1JztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBweDJyZW0oMTUpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSgxNik7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oMTYpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDI4KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFwX2dldCgkdHJhbnNpdGlvbiwgZGVmKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAyKTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAubWVudS0tYXNpZGVfX2l0ZW0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJy0nO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogcHgycmVtKDQpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBweDJyZW0oMTUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg1KSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWVudS0tYXNpZGVfX2xpbmsge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDIpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAyMik7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDUpIHB4MnJlbSgxNSkgcHgycmVtKDUpIHB4MnJlbSgxNSArIDcpO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAubWVudS0tYXNpZGVfX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBweDJyZW0oMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBweDJyZW0oMTUgKyAxNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubWVudS0tYXNpZGVfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTQsIDE4KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDUpIHB4MnJlbSgxNSkgcHgycmVtKDUpIHB4MnJlbSgxNSArIDcgKyAxNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmJyb3dzZXIge1xuICAgICZfX2Jsb2NrIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9yX19icm93c2VyLCAxKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcl9fY29udGV4dCwgZXJyb3IpO1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTUpIHB4MnJlbSgxNSkgMCBweDJyZW0oMTUpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3JkZXI6IC0xO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTUpIDE1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxNSkgMjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwLWdldCgkY29sb3JfX2Jyb3dzZXIsIDEpLCBtYXAtZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwLWdldCgkY29sb3JfX2Jyb3dzZXIsIDIpLCBtYXAtZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMjEsIDI0KTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWFwLWdldCgkdHJhbnNpdGlvbiwgZGVmKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAycHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMTUpO1xuXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oNDAwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gMnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDYwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDYwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1icmFuZCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXAtZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE4KTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHB4MnJlbSg1KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jaHJvbWUge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYyNjgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZmlyZWZveCB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjI2OSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1lZGdlIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMjgyJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW9wZXJhIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMjZhJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9yX19icm93c2VyLCAxKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSg1KTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDI0LCAyOCk7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcl9fYnJvd3NlciwgMSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxNSk7XG4gICAgfVxufVxuIiwiLmdhbGxlcnkge1xuICAgIC8vIC0tIERFRkFVTFQgQ09ERSAtLVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMCAtMTVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSh4cykge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5X19pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBweDJyZW0oMjQwKTtcbiAgICAgICAgaGVpZ2h0OiBweDJyZW0oMjQwKTtcbiAgICAgICAgbWFyZ2luOiAwIHB4MnJlbSgxNSkgcHgycmVtKDMwKSBweDJyZW0oMTUpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMzBweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSgxNTApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oMjEwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMzBweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSgyOTApO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gcHgycmVtKDMwKSBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgcCwgLmg0IHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgICAgIC5qcy1ib3gge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFwX2dldCgkdHJhbnNpdGlvbiwgZGVmKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2Jhc2UsIGJsYWNrKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0X19ib3gge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDMwKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYtLWFib3V0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgzMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMDInO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiBweDJyZW0oMjApO1xuICAgICAgICAgICAgcmlnaHQ6IHB4MnJlbSgyMCk7XG4gICAgICAgICAgICB3aWR0aDogcHgycmVtKDUwKTtcbiAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDUwKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgLjIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgyNCk7XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gb3ZlcmRyaXZlIGxpZ2h0Ym94MiBmcm9tIG5vZGVfbW9kdWxlc1xuLmxiLWNhbmNlbCB7XG4gICAgYmFja2dyb3VuZDogdXJsKCRwYXRoLS1pbWcgKyAnaWNvbnMvbG9hZGluZy5naWYnKSBuby1yZXBlYXQ7XG59XG5cbi5sYi1uYXYgYS5sYi1wcmV2IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJHBhdGgtLWltZyArICdpY29ucy9wcmV2LnBuZycpIGxlZnQgNDglIG5vLXJlcGVhdDtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ubGItbmF2IGEubGItbmV4dCB7XG4gICAgYmFja2dyb3VuZDogdXJsKCRwYXRoLS1pbWcgKyAnaWNvbnMvbmV4dC5wbmcnKSByaWdodCA0OCUgbm8tcmVwZWF0O1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5sYi1kYXRhIC5sYi1jbG9zZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCRwYXRoLS1pbWcgKyAnaWNvbnMvY2xvc2UucG5nJykgdG9wIHJpZ2h0IG5vLXJlcGVhdDtcbn1cblxuLmxiLWRhdGFDb250YWluZXIge1xuICAgIHRvcDogLTQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi5saWdodGJveE92ZXJsYXkge1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbn1cblxuLmxpZ2h0Ym94IHtcbiAgICB6LWluZGV4OiAxMDAwMDA7XG59XG4iLCIkbnVtYmVyLW9mLWJveGVzOiA0O1xuXG4ucHJvZHVjdF9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgLTE1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuYm94IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4IHB4MnJlbSgzMCkgMTVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IDAgcmdiYSg1MSwgNTEsIDUxLCAuMjUpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAzMHB4KTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAvICN7JG51bWJlci1vZi1ib3hlc30pIC0gMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWxzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogcHgycmVtKDEwKTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDBiM2VlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIHB4MnJlbSg1KSAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg1KSBweDJyZW0oMTApO1xuXG4gICAgICAgICAgICAgICAgJi5kaXNjb3VudCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBzdWNjZXNzKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmZyZWUtZGVsaXZlcnkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fY29udGV4dCwgd2FybmluZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5zYWxlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGluZm8pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzY291bnQge1xuICAgICAgICAgICAgLmRpc2NvdW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5mcmVlLWRlbGl2ZXJ5IHtcbiAgICAgICAgICAgIC5mcmVlLWRlbGl2ZXJ5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zYWxlIHtcbiAgICAgICAgICAgIC5zYWxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndyYXBwZXJfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHB4MnJlbSgyMjApO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDIyMCk7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53cmFwcGVyX19jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oMzApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuLXNtLW1pbigpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogcHgycmVtKDEwMCk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxNik7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIGJsYWNrKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53cmFwcGVyX19jb250ZW50LS10b3Age1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAudGV4dC1zZWNvbmRhcnkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDEwKTtcblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3JhcHBlcl9fY29udGVudC0tYm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjApO1xuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg1KSAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSk7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLmhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcblxuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXRvcCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwMTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogLTUwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpbmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNSk7XG4gICAgICAgICAgICB3aWR0aDogcHgycmVtKDEpO1xuICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNzYpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHB4MnJlbSgxNSk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxNSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMzApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDMwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1pZGRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDE1KSAxNXB4IHB4MnJlbSgxNSkgMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSg0Mik7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAvL3otaW5kZXg6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDE1KSAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC01MDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWJvdHRvbSB7XG4gICAgICAgICAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyY6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgLy8gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy8gICAgdG9wOiAwO1xuICAgICAgICAgICAgLy8gICAgbGVmdDogLTUwMCU7XG4gICAgICAgICAgICAvLyAgICB3aWR0aDogMTAwMCU7XG4gICAgICAgICAgICAvLyAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAvLyAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDQpO1xuICAgICAgICAgICAgLy8gICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgICAgIC8vfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fd3JhcHBlciB7XG5cbiAgICAgICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLm1lbnVfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tZW51X19kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDEwKSBweDJyZW0oMTUpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDMpO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAwMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNDUwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbig5OTJweCwgMTE1MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogcHgycmVtKDMwMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuaW5wdXQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuYnRuLWZpbmQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMjQsIDI0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMSkgcHgycmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSg0OCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJi5zZWFyY2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaW5wdXQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYnRuLWZpbmQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSg0OCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmhlbHAtYmxvY2sge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tZW51X19pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1lbnVfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCA0KSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCkpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMjYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luOiAwIC0xNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbmF2YmFyLS1ib3R0b20gZnVsbCBiYWNrZ3JvdW5kIGNvbG9yIHN0cmlwZVxuICAgICAgICAmPi5tZW51IHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogLTUwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDQpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMjBweCByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYnRuIHtcbiAgICAmOm5vdCguZGVmKSB7XG4gICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxNCk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNiwgMTYpO1xuICAgICAgICAvL2ZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgfVxuXG4gICAgJi0tY2FydCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb3VudCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IHB4MnJlbSgzKTtcbiAgICAgICAgICAgIGxlZnQ6IHB4MnJlbSgyNyk7XG4gICAgICAgICAgICB3aWR0aDogcHgycmVtKDIwKTtcbiAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDIwKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAyKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZyg4LCA5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLS1jYXJ0X19pbm5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcHgycmVtKDEwKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMiwgMTQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGRpdntcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBweDJyZW0oNSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNCwgMTYpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIC5idG4tLWNhcnRfX2lubmVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS0xIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwN2EnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oOCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mYXZvdXJpdGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWxpa2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcHgycmVtKDEwKTtcbiAgICAgICAgcmlnaHQ6IHB4MnJlbSgzMCk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAwNCc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMzApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLXNvbGlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1zb2xpZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hZGQge1xuICAgICAgICAmOm5vdCguZGVmKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkY29sb3JfX2dyZWVuLCAyKSwgbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkY29sb3JfX2dyZWVuLCA0KSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDIxKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMikgcHgycmVtKDMwKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyMCk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDdhJztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDgpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMTQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3VjY2VzcyB7XG4gICAgICAgICY6bm90KC5kZWYpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fZ3JlZW4sIDEpLCBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDcpKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxOCwgMjEpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDEyKSBweDJyZW0oMzApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDIwKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwOWQnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1zb2xpZCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oOCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1sb2dpbiB7XG4gICAgICAgICY6bm90KC5kZWYpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDIpLCBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxOCwgMjEpO1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDEyKSBweDJyZW0oMzApO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjAwNyc7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSg4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW9yZGVyIHtcbiAgICAgICAgJjpub3QoLmRlZikge1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19ncmVlbiwgMiksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19ncmVlbiwgMykpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE4LCAyMSk7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTIpIHB4MnJlbSgzMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmljbyB7XG4gICAgICAgIHdpZHRoOiBweDJyZW0oNTApO1xuICAgICAgICBoZWlnaHQ6IHB4MnJlbSg1MCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTApO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDI2KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBjb2xvcjptYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFwLWdldCgkdHJhbnNpdGlvbiwgZGVmKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tc29saWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgZGl2e1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNhcnQge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTApIDAgcHgycmVtKDEwKSBweDJyZW0oMTApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjA3YSc7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tMSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDdhJztcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oOCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1mYXZvdXJpdGUge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMDQnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saWtlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDE0KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjAwNCc7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSg4KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxNCk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFwX2dldCgkdHJhbnNpdGlvbiwgZGVmKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ob21lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGY4MGEnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oOCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMTQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tdXNlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmNGZlJztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDgpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxvZ291dCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMmY1JztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDgpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNhdmUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjAxZSc7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSg4KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS0xIHtcbiAgICAgICAgJjpub3QoLmRlZikge1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMykpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE4LCAyMSk7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTIpIHB4MnJlbSgzMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS0yIHtcbiAgICAgICAgJjpub3QoLmRlZikge1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMiksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE4LCAyMSk7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTIpIHB4MnJlbSgzMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS0zIHtcbiAgICAgICAgJjpub3QoLmRlZikge1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19ncmVlbiwgMiksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19ncmVlbiwgNCkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE4LCAyMSk7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTIpIHB4MnJlbSgzMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS00IHtcbiAgICAgICAgJjpub3QoLmRlZikge1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19ncmVlbiwgMiksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19ncmVlbiwgNCkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE4LCAyMSk7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMjApIHB4MnJlbSgzMCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjE3OCc7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMTApO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICYuaWNvIHtcbiAgICAgICAgICAgICAgICAmLS1jaGVjayB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjA1OCc7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tc29saWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm1lbnUge1xuICAgIC8vd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvL1xuICAgIC8vJi0tZnVsbCB7XG4gICAgLy8gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2JyYW5kLCA0KTtcbiAgICAvL31cblxuICAgIC5tZW51IHtcbiAgICAgICAgJl9fYWRkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAzKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oNDApO1xuXG4gICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCkpO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuXG4gICAgICAgICAgICAmLS1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLS0xIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxMik7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1lbnVfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDMpLCBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDQpKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDE2KSAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNCwgMTYpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMjMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oOCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLXNvbGlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi0tdXNlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjAwNyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLS1mYXZvdXJpdGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMDQnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgICAgICAmID4gLm1lbnVfX2xpbmsge1xuXG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSgyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjEwNyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogcHgycmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9jb250ZW50OiAnXFxmMTA2JztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9AaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2ZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IHB4MnJlbSgxNClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwLCAyMCwgMjAsIC42KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy90cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluIDBzO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gI3tweDJyZW0oNDApfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBweDJyZW0oMjApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNCAtICN7cHgycmVtKDQwKX0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHB4MnJlbSgyMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWVudV9fZHJvcGRvd25fX3RvZ2dsZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubWVudS0tZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tZW51X19pdGVtLS1kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiBweDJyZW0oMzAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyYuc2hvd21lIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgJj4uZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgIC5kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtICN7cHgycmVtKDQwKX0pO1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgIG1hcmdpbjogMCBweDJyZW0oMjApO1xuICAgICAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gI3tweDJyZW0oNDApfSk7XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICBtYXJnaW46IHB4MnJlbSgyMCk7XG4gICAgICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAubWVudV9fZHJvcGRvd25fX3RvZ2dsZXIge1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy99XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDEwKSAxNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMykpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHB4MnJlbSg1NSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxNykgMTVweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSksIG1hcF9nZXQoJHRyYW5zaXRpb24sIDEwMCksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19kcm9wZG93biB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fdG9nZ2xlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNTkpO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogcHgycmVtKDU5KTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIC8vYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDQpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5tZW51X19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgyNik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDcnO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjEwNic7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWxhbmcge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogcHgycmVtKDEyMCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMyk7XG5cbiAgICAgICAgICAgICAgICAuZHJvcGRvd24taXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMikgcHgycmVtKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApLCBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcC1nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg4KSBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWN1cnJlbmN5IHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMyk7XG5cbiAgICAgICAgICAgICAgICAuZHJvcGRvd24taXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg1KSBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2JyYW5kLCA0KSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFwLWdldCgkdHJhbnNpdGlvbiwgZGVmKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAmLmx2bC0tZmlyc3Qge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMjApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgICAgICZfX2l0ZW0ge1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpLCBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDMpKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg1KSAxNXB4IHB4MnJlbSg1KSBweDJyZW0oMjUpO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBweDJyZW0oNTUpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2JyYW5kLCA0KTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDQpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oNSkgcHgycmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5pbWctZmx1aWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oMzcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHB4MnJlbSg0Nyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLm1lbnVfX2Ryb3Bkb3duX190b2dnbGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oNzUgKyAxNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNSksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oNSkgMTVweCBweDJyZW0oNSkgcHgycmVtKDQ1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE0LCAxNik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg1KSBweDJyZW0oMTUpIHB4MnJlbSg1KSBweDJyZW0oMTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCA0KSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJy0nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDYpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHB4MnJlbSg1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYubW9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnKyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdG9wIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgLm1lbnVfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAubWVudV9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApKTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oNykgcHgycmVtKDEwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0tZGl2aWRlciB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfilIInO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHB4MnJlbSgtNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLS1sYW5nIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTUpIHB4MnJlbSgyMCkgcHgycmVtKDE1KSBweDJyZW0oMjIpO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg3KSBweDJyZW0oMTApIHB4MnJlbSg3KSBweDJyZW0oMTggKyAxMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmNTdkJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tc29saWQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogcHgycmVtKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtLWN1cnJlbmN5IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTUpIHB4MnJlbSgxMCkgcHgycmVtKDE1KSBweDJyZW0oMjIpO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg3KSBweDJyZW0oMTApIHB4MnJlbSg3KSBweDJyZW0oMTggKyAxMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmNTFlJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tc29saWQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogcHgycmVtKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNhdGVnb3J5IHtcbiAgICAgICAgJi5tZW51IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBtYXJnaW46IDAgcHgycmVtKC01KSBweDJyZW0oMjApIHB4MnJlbSgtNSk7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgICAubWVudV9faXRlbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIHB4MnJlbSg1KSBweDJyZW0oMTApIHB4MnJlbSg1KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtICN7cHgycmVtKDEwKX0pO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtICN7cHgycmVtKDEwKX0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQgLSAje3B4MnJlbSgxMCl9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTApIHB4MnJlbSgxNSkgcHgycmVtKDEwKSBweDJyZW0oMTUpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMyksIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA1KSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNCwgMTYpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vJjphZnRlciB7XG4gICAgICAgICAgICAgICAgLy8gICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAvL2NvbnRlbnQ6ICdcXGYxMDUnO1xuICAgICAgICAgICAgICAgIC8vQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAvL2NvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgLy9yaWdodDogcHgycmVtKDE1KTtcbiAgICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogcHgycmVtKDIwKTtcbiAgICAgICAgICAgICAgICAvL2ZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLy99XG5cbiAgICAgICAgICAgICAgICAvLy5pbWctZmx1aWQge1xuICAgICAgICAgICAgICAgIC8vICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIC8vICAgIG1heC13aWR0aDogcHgycmVtKDQwKTtcbiAgICAgICAgICAgICAgICAvLyAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxMCk7XG4gICAgICAgICAgICAgICAgLy99XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDQpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm1lbnVfX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZW51X190ZXh0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxNCk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHB4MnJlbSgxMCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAyKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5vaW1nIHtcbiAgICAgICAgICAgICYubWVudSB7XG4gICAgICAgICAgICAgICAgLm1lbnVfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTUpIHB4MnJlbSgxNSArIDE1KSBweDJyZW0oMTUpIHB4MnJlbSgxNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY2F0ZWdvcnktaHAge1xuICAgICAgICAmLm1lbnUge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGdhcDogcHgycmVtKDE1KTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgZ2FwOiBweDJyZW0oMzApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWVudV9faXRlbSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMikpO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciAubWVudV9fdGV4dDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHB4MnJlbSg4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZW51X190ZXh0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTUpIHB4MnJlbSgyMCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNjEnO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxNik7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogcHgycmVtKDE1KTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFwX2dldCgkdHJhbnNpdGlvbiwgZGVmKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1lbnUtLWRlZmF1bHQge1xuICAgIC5tZW51X19pdGVtLS1kcm9wZG93biB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW46IHB4MnJlbSgxNSkgMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi5tZW51IHtcbiAgICAmLS1hc2lkZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCk7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAmX193cmFwcGVyIHtcbiAgICAgICAgICAgIC5jb2xsYXBzZTpub3QoLnNob3cpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAwMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICAmLS1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubWVudV9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKSwgbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAyKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTUuNikgMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTQsIDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDIzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYtLXVzZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjAwNyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLS1mYXZvdXJpdGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjAwNCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0tZHJvcGRvd24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgICAgICAgICAgJj4ubWVudV9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICAgICAgICAgICAgICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgLm1lbnVfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAubWVudV9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg1KSAxNXB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpLCBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDIpKTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBweDJyZW0oNTUpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHB4MnJlbSg0Nyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fZHJvcGRvd24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX3RvZ2dsZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNTkpO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHB4MnJlbSg1OSk7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAvL2JvcmRlci1sZWZ0OiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2JyYW5kLCA0KTtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjEwNic7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sdmwtLTEge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2JyYW5kLCA0KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSkpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDUpIDE1cHggcHgycmVtKDUpIHB4MnJlbSgyNSk7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHB4MnJlbSg1NSk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oNCkgMTVweCBweDJyZW0oNCkgcHgycmVtKDI1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHB4MnJlbSg0Nyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuaW1nLWZsdWlkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDE1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcHgycmVtKDM3KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYubWVudV9fZHJvcGRvd25fX3RvZ2dsZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2dyZXksIDEpLCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSksIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA1KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxNikgMTVweCBweDJyZW0oMTYpIHB4MnJlbSg0NSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNCwgMTYpOztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnVyZ2VyU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDUpIDE1cHggcHgycmVtKDUpIHB4MnJlbSg0NSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnLSc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oNik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYubW9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnKyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZXksIDUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnByb2R1Y3Qge1xuICAgIC8vbWFyZ2luLWJvdHRvbTogcHgycmVtKC0yMCk7XG5cbiAgICAucHJvZHVjdF9fYm94IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyYtLXNpbWlsYXIge1xuICAgIC8vICAgIC5wcm9kdWN0X19ib3gge1xuICAgIC8vICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgLy8gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAvLyAgICAgICAgfVxuICAgIC8vICAgIH1cbiAgICAvL31cblxuICAgICY+ZGl2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDQwKTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxOCwgMjUpO1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDEpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjApO1xuICAgIH1cblxuICAgICZfX2JveCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC8vQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAvLyAgICBwYWRkaW5nOiBweDJyZW0oMzApIHB4MnJlbSgxMCk7XG4gICAgICAgIC8vfVxuXG4gICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAuaW1nLWZsdWlkIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYWJlbHMge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBweDJyZW0oMTApO1xuICAgICAgICAgICAgbGVmdDogcHgycmVtKDEwKTtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDBiM2VlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIHB4MnJlbSgzKSAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg3KSBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTIsIDE0KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBhY3Rpb24pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuZGlzY291bnQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fY29udGV4dCwgZGlzY291bnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubmV3IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZWVuLCAyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnJlY29tbWVuZGVkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIHJlY29tbWVuZGVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGlvbiB7XG4gICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNjb3VudCB7XG4gICAgICAgICAgICAuZGlzY291bnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm5ldyB7XG4gICAgICAgICAgICAubmV3IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5yZWNvbW1lbmRlZCB7XG4gICAgICAgICAgICAucmVjb21tZW5kZWQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3JhcHBlcl9faW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgzMCk7XG4gICAgICAgIHBhZGRpbmc6IHB4MnJlbSgzMCkgcHgycmVtKDMwKSAwIHB4MnJlbSgzMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcHgycmVtKDI3MCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndyYXBwZXJfX2NvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBzY3JlZW4tc20tbWluKCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oMTAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMjAsIDI0KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDEwKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgICAmLS1iZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTQsIDE2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhdGUge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE0LCAxNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaW4tc3RvY2sge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JlZW4sIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndyYXBwZXJfX2NvbnRlbnQtLXRvcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC50ZXh0LXNlY29uZGFyeSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMTApO1xuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53cmFwcGVyX19jb250ZW50LS1ib3R0b20ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyMCk7XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDUpIDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCAxKTtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIucHJvZHVjdCB7XG4gICAgJi0tcm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDE2KSBweDJyZW0oMTApO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiBweDJyZW0oMjApO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDE2KSBweDJyZW0oMzApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBweDJyZW0oNjApIHB4MnJlbSgxMDApIG1pbm1heChtaW4tY29udGVudCwgMWZyKSBtaW5tYXgobWluLWNvbnRlbnQsIDFmcikgZml0LWNvbnRlbnQoI3tweDJyZW0oMTE0KX0pIGZpdC1jb250ZW50KCN7cHgycmVtKDEyMCl9KSBweDJyZW0oODUpIHB4MnJlbSgxMjApIHB4MnJlbSgzMCk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuLW1pbigxNDAwcHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcHgycmVtKDYwKSBweDJyZW0oMTAwKSBtaW5tYXgobWluLWNvbnRlbnQsIDFmcikgbWlubWF4KG1pbi1jb250ZW50LCAje3B4MnJlbSgyMDApfSkgcHgycmVtKDExNCkgcHgycmVtKDEyMCkgcHgycmVtKDg1KSBweDJyZW0oMTYwKSBweDJyZW0oMzApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICBnYXA6IHB4MnJlbSgxMCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICAgICAgZ2FwOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjA2ZSc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oMjUpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDI1KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwLDIwLDIwLCAuNSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLXNvbGlkKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29kZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcC1nZXQoJHRyYW5zaXRpb24sIGRlZik7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fcGFyYW1ldGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdGF0ZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgICYuaW4tc3RvY2sge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JlZW4sIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fcHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygyMCwgMjQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1iZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTQsIDE2KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J0biB7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkY29sb3JfX2dyZWVuLCAyKSwgbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkY29sb3JfX2dyZWVuLCA0KSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDIxKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMikgcHgycmVtKDEwKTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oMTQwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwN2EnO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSg4KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMTQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NlYXJjaCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oMzApO1xuICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oMzApO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMzApO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcC1nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybSB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE4LCAyMSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDQ2KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTMpIDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAmLmFtb3VudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICYuaGFzLWVycm9yLCAmLnN1Y2Nlc3Mge1xuICAgICAgICAgICAgICAgICAgICAuaW5wdXQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmlucHV0LXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSg0Myk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSg0Nik7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTMpIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcHgycmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNDYpO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYtLW1pbnVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDY4JztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYtLXBsdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNjcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wcm9kdWN0RGV0YWlsIHtcbiAgICBwYWRkaW5nOiBweDJyZW0oMzApIDAgcHgycmVtKDMwKSAwO1xuXG4gICAgJl9fZ2FsbGVyeSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWFwLWdldCgkdHJhbnNpdGlvbiwgZGVmKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sYXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTQsIDE2KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjEwNSc7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oMzApO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Jsb2NrIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZXksIDUpO1xuICAgICAgICAvL3BhZGRpbmc6IHB4MnJlbSgyMCkgcHgycmVtKDIwKSBweDJyZW0oMjAgLSAyMCkgcHgycmVtKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDMwKTtcblxuICAgICAgICAvL0BpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgLy8gICAgcGFkZGluZzogcHgycmVtKDYwKSBweDJyZW0oNjApIHB4MnJlbSg2MCAtIDIwKSBweDJyZW0oNjApO1xuICAgICAgICAvL31cblxuICAgICAgICAmLS1hc2lkZSB7XG4gICAgICAgIC8vICAgIHBhZGRpbmc6IHB4MnJlbSgyMCkgcHgycmVtKDIwKSBweDJyZW0oMjAgLSAyMCkgcHgycmVtKDIwKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApO1xuICAgICAgICAvL1xuICAgICAgICAvLyAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgIC8vICAgICAgICBwYWRkaW5nOiBweDJyZW0oMzApIHB4MnJlbSgzMCkgcHgycmVtKDMwIC0gMjApIHB4MnJlbSgzMCk7XG4gICAgICAgIC8vICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYWJlbHMge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDIwKTtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwYjNlZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgcHgycmVtKDMpIHB4MnJlbSgzKSAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg3KSBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTIsIDE0KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBhY3Rpb24pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuZGlzY291bnQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fY29udGV4dCwgZGlzY291bnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubmV3IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIG5ldyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5yZWNvbW1lbmRlZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCByZWNvbW1lbmRlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3Rpb24ge1xuICAgICAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzY291bnQge1xuICAgICAgICAgICAgLmRpc2NvdW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5uZXcge1xuICAgICAgICAgICAgLm5ldyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucmVjb21tZW5kZWQge1xuICAgICAgICAgICAgLnJlY29tbWVuZGVkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDIxKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSg0Nik7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDIpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0Q2RDZENjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMykgcHgycmVtKDE1KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjApO1xuXG4gICAgICAgICAgICAmLnNlbGVjdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgIC5pbnB1dC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcHgycmVtKDMwMCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjEwNyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hbW91bnQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAmLmhhcy1lcnJvciwgJi5zdWNjZXNzIHtcbiAgICAgICAgICAgICAgICAgICAgLmlucHV0LXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaW5wdXQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAgICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oODApO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNDMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSg0Nik7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDQzKTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCA0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDEyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLS1taW51cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjA2OCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLS1wbHVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDY3JztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hdmFpbGFiaWxpdHkge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjApO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgzMCk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxOCwgMjEpO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmluLXN0b2NrIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JlZW4sIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29kZSB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDMwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDIwKTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE4LCAyMSk7XG4gICAgfVxuXG4gICAgJl9fbWFyayB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyMCk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxOCwgMjEpO1xuICAgIH1cblxuICAgICZfX3ByaWNlIHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMik7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygzMiwgMzgpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgzMCk7XG5cbiAgICAgICAgJi0tYmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxOCwgMjEpO1xuICAgICAgICAgICAgLy90ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAvL21hcmdpbi1sZWZ0OiBweDJyZW0oMTApO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICAgIGdyaWQtZ2FwOiBweDJyZW0oMTApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMzApO1xuICAgIH1cblxuICAgICYtLXNtYWxsIHtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDIwKSAwO1xuICAgIH1cbn1cbiIsIi5mb3JtIHtcbiAgICAvLyAtLSBERUZBVUxUIENPREUgLS1cblxuICAgIC8vLmZvcm0tZ3JvdXAge1xuICAgIC8vICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyMCk7XG4gICAgLy9cbiAgICAvLyAgICBsYWJlbCB7XG4gICAgLy8gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgIC8vICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTQsIDE2KTtcbiAgICAvLyAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgLy8gICAgfVxuICAgIC8vXG4gICAgLy8gICAgLmlucHV0LXdyYXBwZXIge1xuICAgIC8vICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAvLyAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAvLyAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAzKTtcbiAgICAvLyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgLy8gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCA0cHggMCByZ2JhKDE4MywxODUsMTg5LDAuMyk7XG4gICAgLy8gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8vICAgICAgICB9XG4gICAgLy8gICAgfVxuICAgIC8vfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDIpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE0LCAxNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyMCk7XG5cbiAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oMTQ3KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRleHRhcmVhIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxNSk7XG5cbiAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgaGVpZ2h0OiBweDJyZW0oNDUpO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDEyKSBweDJyZW0oMTUpO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAmLS1wYXJhbWV0ZXJzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgZ2FwOiBweDJyZW0oMTUpO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IHB4MnJlbSgyMCk7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA2KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDMpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAmLS12YXJpYW50cyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmX19yb3cge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgICAgICBnYXA6IHB4MnJlbSgxNSk7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTIpIHB4MnJlbSgyMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMyk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcblxuICAgICAgICAgICAgICAgIC5mb3JtLS12YXJpYW50c19fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZm9ybS0tdmFyaWFudHNfX3ZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgLmZvcm0tLXZhcmlhbnRzX19pY28ge1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjAxMCc7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pY28ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMGUnO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxNik7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oMzApO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmX19jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxMik7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDIpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3ZhbHVlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDEpO1xuICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMTQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2RldGFpbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMyk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBweDJyZW0oLTMpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZXksIDUpO1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDIwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIGdhcDogcHgycmVtKDIwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4yZnIgMmZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1wcmljZXMge1xuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oNSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAyKTtcblxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3REZXRhaWxfX2Jsb2NrIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogcHgycmVtKDUpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCAxZnIpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oMTM4MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmZvcm0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMiAvIHNwYW4gMjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDUpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxNCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmhlbHAtYmxvY2sge1xuICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgIG1hcmdpbi10b3A6IHB4MnJlbSg1KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNCk7XG4gICAgfVxufVxuIiwiLmFjY291bnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDAgcHgycmVtKDEwKSAwIHB4MnJlbSgxNSArIDMwKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJ1cmdlclNjcmVlbikge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICYtLWxvZ2luIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogcHgycmVtKDUwKTtcbiAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDUwKTtcbiAgICAgICAgICAgIHRvcDogcHgycmVtKC04KTtcbiAgICAgICAgICAgIGxlZnQ6IHB4MnJlbSgtNTApO1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDEwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgyNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXAtZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAwNyc7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8mOmhvdmVyIHtcbiAgICAgICAgLy8gICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCk7XG4gICAgICAgIC8vICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gICAgJjpiZWZvcmUge1xuICAgICAgICAvLyAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCk7XG4gICAgICAgIC8vICAgIH1cbiAgICAgICAgLy99XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1zb2xpZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1sb2dvdXQge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcHgycmVtKDUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE0LCAxNik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5hY2NvdW50IHtcbiAgICAgICAgICAgICYtLWxvZ2luIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tbG9nb3V0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBjYXJvdXNlbCBkZWZhdWx0XG4uY2Fyb3VzZWwge1xuICAgIC8vIGZvciBib290c3RyYXAgbmF0aXZlIGJlaGF2aWVyXG4gICAgJjpub3QoLmRlZikge1xuXG4gICAgICAgIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCBibGFjayk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNTApO1xuICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNTApO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwgLjE1KTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFwX2dldCgkdHJhbnNpdGlvbiwgZGVmKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDQnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMzIpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNTApO1xuICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNTApO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwgLjE1KTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFwX2dldCgkdHJhbnNpdGlvbiwgZGVmKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDUnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMzIpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1nLWZsdWlkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICAmOm5vdCguZGVmKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMzApO1xuXG4gICAgICAgICAgICAuY2Fyb3VzZWxfX2NhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICAmX19ib3gge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMjUpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2Fyb3VzZWxfX2NhdGVnb3J5X19pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oODApO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSg4MCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxNSk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogcHgycmVtKDQwKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSg0MCk7XG4gICAgICAgICAgICAgICAgbGVmdDogcHgycmVtKDE1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSg0MCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBweDJyZW0oMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3BsaWRlIHtcbiAgICAmX19hcnJvdyB7XG4gICAgICAgIHdpZHRoOiBweDJyZW0oNTApO1xuICAgICAgICBoZWlnaHQ6IHB4MnJlbSg1MCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMCwyMCwyMCwgLjE1KTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgd2lkdGg6IDEuNGVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjRlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NsaWRlIHtcbiAgICAgICAgcGFkZGluZzogMXB4O1xuICAgIH1cblxuICAgICYtLWNhdGVnb3J5IHtcbiAgICAgICAgLnNwbGlkZSB7XG4gICAgICAgICAgICAmX19hcnJvdyB7XG4gICAgICAgICAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtLXByZXYge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBtaXhpbiBicy1tdWx0aXBsZS1jYXJvdXNlbC1pdGVtLXJlcGVhdGVyKCRjb3VudCkge1xuICAgICRyZXN1bHQtc2VsZWN0b3I6IFwiXCI7XG5cbiAgICAvL21haW4gbG9vcFxuICAgIEB3aGlsZSAkY291bnQgPiAwIHtcbiAgICAgICAgJHJlc3VsdC1zZWxlY3RvcjogJHJlc3VsdC1zZWxlY3RvciArIFwiKyAuY2Fyb3VzZWwtaXRlbVwiO1xuICAgICAgICAkY291bnQ6ICRjb3VudCAtIDE7XG5cbiAgICAgICAgLy9zZWNvbmRhcnkgbG9vcFxuICAgICAgICAkbmVzdGVkLWNvdW50OiAkY291bnQ7XG4gICAgICAgIEB3aGlsZSAkbmVzdGVkLWNvdW50ID4gMCB7XG4gICAgICAgICAgICAkcmVzdWx0LXNlbGVjdG9yOiAkcmVzdWx0LXNlbGVjdG9yICsgXCIrIC5jYXJvdXNlbC1pdGVtXCI7XG4gICAgICAgICAgICAkbmVzdGVkLWNvdW50OiAkbmVzdGVkLWNvdW50IC0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkY291bnQgIT0gMCB7XG4gICAgICAgICAgICAkcmVzdWx0LXNlbGVjdG9yOiAkcmVzdWx0LXNlbGVjdG9yICsgXCIsXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjeyRyZXN1bHQtc2VsZWN0b3J9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYnMtbXVsdGlwbGUtY2Fyb3VzZWwtaXRlbS1uZXN0aW5nKCRjb3VudCkge1xuICAgICRyZXN1bHQtc2VsZWN0b3I6IFwiXCI7XG5cbiAgICAvL21haW4gbG9vcFxuICAgIEB3aGlsZSAkY291bnQgPiAwIHtcbiAgICAgICAgJHJlc3VsdC1zZWxlY3RvcjogJHJlc3VsdC1zZWxlY3RvciArIFwiKyAuY2Fyb3VzZWwtaXRlbVwiO1xuICAgICAgICAkY291bnQ6ICRjb3VudCAtIDE7XG4gICAgfVxuXG4gICAgI3skcmVzdWx0LXNlbGVjdG9yfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGJzLW11bHRpcGxlLWNhcm91c2VsKCRpdGVtcy1jb3VudDogMikge1xuICAgIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgICAuY2Fyb3VzZWwtaXRlbS1uZXh0LFxuICAgIC5jYXJvdXNlbC1pdGVtLXByZXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyAvL2Jsb2NrXG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWlubmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgLmNhcm91c2VsLWl0ZW0ge1xuICAgICAgICAgICAgLy8gTkVXIHRvIHY0LjMuMTogYWxsIG1hcmdpbi1yaWdodCBwcm9wZXJ0aWVzIGNvbWUgd2l0aCAtMTAwJSBhcyBkZWZhdWx0XG4gICAgICAgICAgICAvLyBjYXVzaW5nIGFsbCBoaWRkZW4gaXRlbXMgdG8gYmUgb3V0IG9mIHRoZSBzY3JlZW5cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogaW5oZXJpdDtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJzLW11bHRpcGxlLWNhcm91c2VsLWl0ZW0tcmVwZWF0ZXIoJGl0ZW1zLWNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IC8vYmxvY2sgLy8gdGhyZWUgdmlzaWJsZSBpdGVtc1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHByZXZlbnRzIG9wcG9zaXRlIGRpcmVjdGlvbiBcImFuaW1hdGlvblwiXG4gICAgICAgICAgICAgICAgJjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpOm5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnMtbXVsdGlwbGUtY2Fyb3VzZWwtaXRlbS1yZXBlYXRlcigkaXRlbXMtY291bnQgLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYWxsb3dzIG5ldyBpdGVtIHRvIGJlIHZpc2libGUgaW4gb3JkZXIgdG8gXCJzbGlkZSBpblwiIGludG8gcGxhY2VcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicy1tdWx0aXBsZS1jYXJvdXNlbC1pdGVtLW5lc3RpbmcoJGl0ZW1zLWNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogLShwZXJjZW50YWdlKDEgLyAkaXRlbXMtY291bnQpKTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IC8vYmxvY2tcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gLy8gLmFjdGl2ZVxuICAgICAgICAgICAgJi1uZXh0LFxuICAgICAgICAgICAgJi1wcmV2IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAvLyAuY2Fyb3VzZWwtaXRlbVxuXG4gICAgICAgIC8vIGZhcnRoZXN0IHJpZ2h0IGhpZGRlbiBpdGVtIG11c3QgYmUgYWxzbyBwb3NpdGlvbmVkIGZvciBhbmltYXRpb25zXG4gICAgICAgIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDsgLy9ibG9ja1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9IC8vIC5jYXJvdXNlbC1pbm5lclxuXG4gICAgLy8gbGVmdCBvciBmb3J3YXJkIGRpcmVjdGlvblxuICAgIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0ICsgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgYnMtbXVsdGlwbGUtY2Fyb3VzZWwtaXRlbS1yZXBlYXRlcigkaXRlbXMtY291bnQpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHJpZ2h0IG9yIHByZXZpb3VzIGRpcmVjdGlvblxuICAgIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCArIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgZGlzcGxheTogZmxleDsgLy9ibG9ja1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGJzLW11bHRpcGxlLWNhcm91c2VsLWl0ZW0tcmVwZWF0ZXIoJGl0ZW1zLWNvdW50KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDsgLy9ibG9ja1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcm91c2VsLW11bHRpcGxlIHtcbiAgICBAaW5jbHVkZSBzY3JlZW4tbWF4KDc2N3B4KSB7XG4gICAgICAgIEBpbmNsdWRlIGJzLW11bHRpcGxlLWNhcm91c2VsKDIpO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgY29udGVudDogXCJ4cyAtIGRlZmF1bHQgYnJlYWtwb2ludFwiO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIm1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbihzbSwgc20pXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnMtbXVsdGlwbGUtY2Fyb3VzZWwoMik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwibWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKG1kLCBtZClcIjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicy1tdWx0aXBsZS1jYXJvdXNlbCgzKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwibWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKGxnLCBsZylcIjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicy1tdWx0aXBsZS1jYXJvdXNlbCg0KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIm1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnMtbXVsdGlwbGUtY2Fyb3VzZWwoNik7XG4gICAgfVxufVxuIiwiLm1vZGFsIHtcbiAgICAvLyBmb3IgYm9vdHN0cmFwIG5hdGl2ZSBiZWhhdmllclxuICAgICY6bm90KC5kZWYpIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMCwgMjAsIDIwLCAuNik7XG4gICAgICAgIHotaW5kZXg6IDEwMDAwMDtcblxuICAgICAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oMTE3MCk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDUwICsgNSk7XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDUwKSBweDJyZW0oNDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogcHgycmVtKDUwKTtcbiAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDUwKTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjAwZCc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDUwKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBtYXJnaW46IDAgcHgycmVtKDIwKSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1vZGFsIHtcbiAgICAgICAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbGlrZSB7XG4gICAgICAgICAgICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oNTAgLyAyKSBweDJyZW0oNDAgLyAyKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDA0JztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBweDJyZW0oMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE3MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oMTcwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMDU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oNTApIHB4MnJlbSg0MCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oMzAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2RhbCB7XG4gICAgICAgICAgICAgICAgJl9fbG9naW4ge1xuICAgICAgICAgICAgICAgICAgICAmX19pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg1MCAvIDIpIHB4MnJlbSg0MCAvIDIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDUwKSBweDJyZW0oNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi0tbG9nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLS1hY2NvdW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMDcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE3MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDE3MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMDU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fY2FydCB7XG4gICAgICAgICAgICAgICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDUwIC8gMikgcHgycmVtKDQwIC8gMik7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDUwKSBweDJyZW0oNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLS1jYXJ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oNTAgLyAyKSBweDJyZW0oNDAgLyAyKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDUwKSBweDJyZW0oNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcm9ncmVzc19faW5uZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi0tcmVjb21tZW5kZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oNTAgLyAyKSBweDJyZW0oNDAgLyAyKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg1MCkgcHgycmVtKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX2hhbGYge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZGFsLXByZXByYXZrYSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgLm1vZGFsLWRpYWxvZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGUhaW1wb3J0YW50O1xuXG4gICAgICAgIC5jbG9zZTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGRcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWUgTGlnaHQsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCUhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgaWZyYW1lLFxuICAgICAgICBlbWJlZCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDk5JSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxufVxuIiwiLmxpbmsge1xuICAgIC8vIC0tIERFRkFVTFQgQ09ERSAtLVxuICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC8vQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAyNCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuXG4gICAgJi0tMSB7XG4gICAgICAgIC8vQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAyNCk7XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAyKSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCkpO1xuICAgIH1cblxuICAgICYtLWluZm8ge1xuICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2dyZXksIDMpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IHB4MnJlbSgyMCkgMCAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuLW1pbig0ODBweCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBweDJyZW0oMjApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbmV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNiwgMTkpO1xuICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2JyYW5kLCAyKSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjE3OCc7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcHgycmVtKDEwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc2NhbGUge1xuICAgICAgICAuaW1nLWZsdWlkIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5pbWctZmx1aWQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1mdWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIC5pbWctZmx1aWQge1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXVwZGF0ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNiwgMTkpO1xuICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2dyZXksIDIpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2dyZXksIDMpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3tweDJyZW0oMjYpfSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAyKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNDAnO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLXNvbGlkKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMTApO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mb3JtIHtcbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19icmFuZCwgOCksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApLCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApKTtcblxuICAgICAgICAmLS0xIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNCwgMjIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnVzcCB7XG4gICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAyKTtcbiAgICBwYWRkaW5nOiBweDJyZW0oNDApIHB4MnJlbSgxNSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oLTIwKTtcblxuICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oMTEwMHB4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpO1xuICAgICAgICBtYXJnaW46IDAgMCBweDJyZW0oMjApIDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDEwKSBweDJyZW0oMzApO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oNDUwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gI3tweDJyZW0oMzApfSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgcHgycmVtKDE1KSBweDJyZW0oMjApIHB4MnJlbSgxNSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBzY3JlZW4tbWluKDExMDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQgLSAje3B4MnJlbSgzMCl9KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMGQxJztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIHB4MnJlbSgxNSkgMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSg1NSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNTApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNTApO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBweDJyZW0oMzApIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLTEge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwZDEnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tMiB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjUxZSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS0zIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMWFkJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLTQge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGY0OWEnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNiwgMjQpO1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygyNCwgMjQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxpc3Qge1xuICAgIG1hcmdpbjogMCAwIHB4MnJlbSgzMCkgMDtcblxuICAgICYubGlzdC0tZG93bmxvYWQge1xuICAgICAgICAubGlzdF9fbGluayB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDE5JztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxMCk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMiksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApKTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE0LCAxNik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZhY2Vib29rIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjM5ZSc7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWJyYW5kKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxNik7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oMzApO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDIpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDEwKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pbnN0YWdyYW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMTZkJztcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tYnJhbmQpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE2KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcHgycmVtKDMwKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXlvdXR1YmUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMTY3JztcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tYnJhbmQpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE2KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcHgycmVtKDMwKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLTEge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAubGlzdF9faXRlbSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxNSk7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDMpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpc3RfX2xpbmsge1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMyksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDQpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS0yIHtcbiAgICAgICAgLmxpc3RfX2l0ZW0ge1xuXG4gICAgICAgIH1cblxuICAgICAgICAubGlzdF9fbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2dyZXksIDMpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCA0KSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tMyB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMiwgMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgY29sdW1uLWdhcDogcHgycmVtKDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saXN0X19pdGVtIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDE1KTtcblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGlzdF9fbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2JyYW5kLCAzKSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgICAvLyBmb3IgYm9vdHN0cmFwIG5hdGl2ZSBiZWhhdmllclxuICAgICY6bm90KC5kZWYpIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCk7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDMwKTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2dyZXksIDMpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCA0KSwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCkpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTQsIDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjEwNSc7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oNSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxMik7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGY4MGMnO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tc29saWQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5iZXN0c2VsbGVyIHtcbiAgICBtYXJnaW46IDAgMCBweDJyZW0oMzApIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiBweDJyZW0oMTApO1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIC5iZXN0c2VsbGVyIHtcbiAgICAgICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTApIHB4MnJlbSgxNSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogbWFwX2dldCgkdHJhbnNpdGlvbiwgZGVmKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTUpIHB4MnJlbSgzMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvdW50IHtcbiAgICAgICAgbWluLXdpZHRoOiBweDJyZW0oMjUpO1xuICAgICAgICB3aWR0aDogcHgycmVtKDI1KTtcbiAgICAgICAgaGVpZ2h0OiBweDJyZW0oMjUpO1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDEwKTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHB4MnJlbSg0MCk7XG4gICAgICAgICAgICB3aWR0aDogcHgycmVtKDQwKTtcbiAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDQwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxOCwgMTgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMzApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tMSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fY291bnQsIDEpO1xuICAgICAgICB9XG4gICAgICAgICYtLTIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2NvdW50LCAyKTtcbiAgICAgICAgfVxuICAgICAgICAmLS0zIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19jb3VudCwgMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvZGUge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgyMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMiwgMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMTApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAzKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXZhaWxhYmlsaXR5IHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMjApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTIsIDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDEwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmVlbiwgMSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21hcmsge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgyMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMiwgMTQpO1xuICAgICAgICB9XG5cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxMCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgyMCk7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDMpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kaXNjb3VudCB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDIxKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDIwKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDIpO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMjAsIDI0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMiwgMTQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE0LCAxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxMCk7XG4gICAgICAgIG1heC13aWR0aDogcHgycmVtKDU0KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHB4MnJlbSg2MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oNTAwKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMTApO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oODUwcHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcHgycmVtKDYwMCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBzY3JlZW4tbWluKDExMDBweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oODAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oMTMwMHB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHB4MnJlbSgxMDAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmN0YSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgcGFkZGluZzogcHgycmVtKDIwKTtcbiAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMzApO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDIpO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAyKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyB2YXJpYWJsZXMgZm9yIGZhc3Qgc3R5bGluZ1xuJHRleHQtY29sb3ItLWFjdGl2ZTogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiR0ZXh0LWNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4kZG90cy1ob3Zlci1iZy1jb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDUpO1xuJGFjdGl2ZS1kb3QtaG92ZXItYmctY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCBibGFjayk7XG5cbi5wYWdpbmF0aW9uIHtcbiAgICAvLyAtLSBDVVNUT00gQ09ERSAtLVxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCBweDJyZW0oMzApIDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxNik7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFwX2dldCgkdHJhbnNpdGlvbiwgZGVmKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpOztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oNSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdCgkdGV4dC1jb2xvciwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCksICR0ZXh0LWNvbG9yLS1hY3RpdmUsICRkb3RzLWhvdmVyLWJnLWNvbG9yKTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRleHQtY29sb3ItLWFjdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDQ4KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcHgycmVtKDQ4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucGFnaW5hdGlvbl9fcHJldiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgICYucGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLnBhZ2luYXRpb25fX3ByZXYsICYucGFnaW5hdGlvbl9fbmV4dCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgYmxhY2spO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19iYXNlLCBibGFjayk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogcHgycmVtKDE2MCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxOCwgMjEpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLS1hY3RpdmU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KCR0ZXh0LWNvbG9yLS1hY3RpdmUsICNGNkY2RjYsICR0ZXh0LWNvbG9yLS1hY3RpdmUsICRkb3RzLWhvdmVyLWJnLWNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucGFnaW5hdGlvbl9fZG90cyB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuOTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QoJHRleHQtY29sb3IsICRkb3RzLWhvdmVyLWJnLWNvbG9yLCAkdGV4dC1jb2xvci0tYWN0aXZlLCAkZG90cy1ob3Zlci1iZy1jb2xvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbn1cblxuIiwiLnNvY2lhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyMCk7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMyk7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDEwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tYnJhbmQpO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE4KTtcbiAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oMzUpO1xuICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oMzUpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zaGFyZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTQsIDE2KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxZTAnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oNik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZhY2Vib29rIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMzllJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXR3aXR0ZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwOTknO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taW5zdGFncmFtIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMTZkJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wYW5lbCB7XG4gICAgcGFkZGluZzogcHgycmVtKDMwKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDMwKTtcbiAgICAvL2hlaWdodDogY2FsYygxMDAlIC0gI3tweDJyZW0oMzApfSk7XG5cbiAgICAmLS0xIHtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDY1KSBweDJyZW0oMzApIHB4MnJlbSg2MCkgcHgycmVtKDMwKTtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZXksIDUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICB9XG5cbiAgICAmLS0yIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAucGFuZWwge1xuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA1KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMjApIHB4MnJlbSgzMCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZXksIDUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgyMCkgcHgycmVtKDMwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLTMge1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oMzApO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIH1cblxuICAgICYtLTQge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDcpO1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oMzApIHB4MnJlbSgxMCk7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA2KTtcblxuICAgICAgICBAaW5jbHVkZSBzY3JlZW4tbWluKDE0MDBweCkge1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LS0yIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBweDJyZW0oMzApO1xuXG4gICAgICAgICAgICAmLmljbyB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFuZWxfX3RpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE0LCAzMCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucGFuZWxfX2lubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IHB4MnJlbSgxNSk7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oMTQwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ2FwOiBweDJyZW0oMzApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19jb2x1bW4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gI3tweDJyZW0oMzApfSk7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBweDJyZW0oMjAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY28ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oMTIgKyAxMCk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kYXRhIHtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDIwKSBweDJyZW0oMzApIHB4MnJlbSgzMCkgcHgycmVtKDMwKTtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZXksIDUpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi0tZnVsbCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAucGFuZWxfX2NvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljbyB7XG4gICAgICAgICYtLWNoZWNrIHtcbiAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oOTApO1xuICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oOTApO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gcHgycmVtKDYwKSBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjA1OCc7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oOTApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oOTApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDkwKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZWVuLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXdhcm5pbmcge1xuICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSg5MCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSg5MCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byBweDJyZW0oNjApIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmNWI0JztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSg5MCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSg5MCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oOTApO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmVyciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogcHgycmVtKC0zOCk7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgkcGF0aC0taW1nICsgJ290aGVycy80MDQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSgyODApO1xuICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSg0NzguMjkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNvbGxhcHNlIHtcbiAgICAmX19yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMTApO1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZ1bGwge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgLmNvbGxhcHNlX19pbm5lciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygyMCwgMjQpO1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDIwKSBweDJyZW0oMzAgKyAyMCkgcHgycmVtKDIwKSBweDJyZW0oMzApO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWFwX2dldCgkdHJhbnNpdGlvbiwgZGVmKTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogcHgycmVtKDMwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDEpO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMTA2JztcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9ybS1jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5vdENvbGxhcHNpbmcge1xuICAgICAgICAgICAgY3Vyc29yOiBhdXRvO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYXJyb3cge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNjMnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1yZWd1bGFyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxMCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMTQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWFpbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNik7XG5cbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1jaGVja2JveCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDIwLCAyNCk7XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA1KTtcbiAgICAgICAgcGFkZGluZzogMCBweDJyZW0oMzApIHB4MnJlbSgyMCkgcHgycmVtKDMwKTtcblxuICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbXBhbnkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjFhZCc7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLXNvbGlkKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSgxNzApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDE3MCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMTcwKTtcbiAgICAgICAgICAgICAgICBib3R0b206IHB4MnJlbSg2NSk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLWNoZWNrYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNCwgMTYpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCBzcGFuIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnJlY29tbWVuZGVkQm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTUpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2JyYW5kLCA0KTtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxMCk7XG4gICAgICAgIG1heC13aWR0aDogcHgycmVtKDU0KTtcbiAgICAgICAgbWF4LWhlaWdodDogcHgycmVtKDU0KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxNSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHB4MnJlbSg2MCk7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDEpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMyk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNCwgMTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDIpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTIsIDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNCwgMTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tYmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcHgycmVtKDUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTIsIDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rpc2NvdW50IHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgyMCk7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMCwgMTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMjApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTIsIDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDEwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vJl9fdGV4dCB7XG4gICAgLy8gICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAvLyAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTIsIDE0KTtcbiAgICAvLyAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC8vICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLy9cbiAgICAvLyAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLy8gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyAgICB9XG4gICAgLy9cbiAgICAvLyAgICBzcGFuIHtcbiAgICAvLyAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMyk7XG4gICAgLy8gICAgfVxuICAgIC8vfVxuICAgIC8vXG4gICAgLy8mX19jb3VudCB7XG4gICAgLy8gICAgbWluLXdpZHRoOiBweDJyZW0oMjUpO1xuICAgIC8vICAgIHdpZHRoOiBweDJyZW0oMjUpO1xuICAgIC8vICAgIGhlaWdodDogcHgycmVtKDI1KTtcbiAgICAvLyAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTIsIDE1KTtcbiAgICAvLyAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAvLyAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAvLyAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgLy8gICAgZGlzcGxheTogZmxleDtcbiAgICAvLyAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8vICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8vICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDEwKTtcbiAgICAvL1xuICAgIC8vICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAvLyAgICAgICAgbWluLXdpZHRoOiBweDJyZW0oNDApO1xuICAgIC8vICAgICAgICB3aWR0aDogcHgycmVtKDQwKTtcbiAgICAvLyAgICAgICAgaGVpZ2h0OiBweDJyZW0oNDApO1xuICAgIC8vICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDE4KTtcbiAgICAvLyAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMzApO1xuICAgIC8vICAgIH1cbiAgICAvL1xuICAgIC8vICAgICYtLTEge1xuICAgIC8vICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fY291bnQsIDEpO1xuICAgIC8vICAgIH1cbiAgICAvLyAgICAmLS0yIHtcbiAgICAvLyAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2NvdW50LCAyKTtcbiAgICAvLyAgICB9XG4gICAgLy8gICAgJi0tMyB7XG4gICAgLy8gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19jb3VudCwgMyk7XG4gICAgLy8gICAgfVxuICAgIC8vfVxuICAgIC8vXG4gICAgLy8mX19jb2RlIHtcbiAgICAvLyAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgIC8vICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMiwgMTQpO1xuICAgIC8vICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDIwKTtcbiAgICAvLyAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMTApO1xuICAgIC8vICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLy9cbiAgICAvLyAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLy8gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyAgICB9XG4gICAgLy9cbiAgICAvLyAgICBzcGFuIHtcbiAgICAvLyAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMyk7XG4gICAgLy8gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIC8vICAgIH1cbiAgICAvL31cbiAgICAvL1xuICAgIC8vJl9fYXZhaWxhYmlsaXR5IHtcbiAgICAvLyAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgIC8vICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMiwgMTQpO1xuICAgIC8vICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxMCk7XG4gICAgLy8gICAgZGlzcGxheTogbm9uZTtcbiAgICAvL1xuICAgIC8vICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAvLyAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8vICAgIH1cbiAgICAvL1xuICAgIC8vICAgIHNwYW4ge1xuICAgIC8vICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZWVuLCAxKTtcbiAgICAvLyAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgLy8gICAgfVxuICAgIC8vfVxufVxuIiwiLnByb2dyZXNzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1taW4pICcgS8SNJztcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxNSk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTIsIDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLW1heCkgJyBLxI0nO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAxKTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcHgycmVtKDE1KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDEwKTtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZXksIDUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMzApO1xuXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oNTAwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgzMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNiwgMjEpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyMCk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjBkMSc7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDE1KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgyNCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oNTAwcHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idG4ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2dyZXNzLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgfVxufVxuIiwiJGJyZWFrcG9pbnQtbW9iaWxlOiBcIjgwMHB4XCI7XG5cbi5jYXJ0IHtcbiAgICAmX19uYXYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgzMCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG5cbiAgICAgICAgJj5saSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNCk7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMCkgcHgycmVtKDUpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMiwgMTYpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oNjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDE1KSAwO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4tbWluKCRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxNyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY2xpZW50IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgJj5saSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTQsIDE4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oODUwcHgpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNiwgMTkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS0xIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDI1KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyMCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdCB7XG4gICAgICAgIG1hcmdpbjogMCAwIHB4MnJlbSgzMCkgMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIC5jYXJ0X19wcm9kdWN0X19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgyMCkgcHgycmVtKDE1KTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDE1KSBweDJyZW0oMzApO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgMWZyIDFmciAxZnI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBncmlkLWdhcDogcHgycmVtKDE1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY291bnQge1xuICAgICAgICAgICAgbWluLXdpZHRoOiBweDJyZW0oMjUpO1xuICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSgyNSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSgyNSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDEwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBweDJyZW0oNDApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNDApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDQwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDE4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLTEge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19jb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS0yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fY291bnQsIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tMyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2NvdW50LCAzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE4LCAyNSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29kZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMjApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19hdmFpbGFiaWxpdHkge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDIwKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMiwgMTQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZWVuLCAxKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX21hcmsge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMiwgMTQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDIpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdmFyaWFudCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDUpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTIsIDE0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAyKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMiwgMTQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxNSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4tbWluKCRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Rpc2NvdW50IHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDIxKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiBweDJyZW0oMTApO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuLW1pbigkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDIwLCAyNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTIsIDE0KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuLW1pbigkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE0LCAxNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIHB4MnJlbSgyMCkgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogcHgycmVtKDYwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuLW1pbigkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgcHgycmVtKDIwKSAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb2wge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuLW1pbigkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcHgycmVtKDM4MCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oOTUwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHB4MnJlbSg1MDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4tbWluKDExMDBweCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcHgycmVtKDYwMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oMTMwMHB4KSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oNjkwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1pbm5lciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuLW1pbigkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fcmVtb3ZlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIHB4MnJlbSgzMCk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCk7XG4gICAgICAgICAgICB3aWR0aDogcHgycmVtKDMwKTtcbiAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDMwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDU3JztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fY29udGV4dCwgZGlzY291bnQpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDMwKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcHgycmVtKDMwKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fcmVmcmVzaCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBweDJyZW0oMTUpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApO1xuICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSgyMCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSgyMCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjAxZSc7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19hbW91bnQge1xuICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAuaGVscC1ibG9jayB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hbW91bnQge1xuXG4gICAgICAgICAgICAgICAgICAgICYuaGFzLWVycm9yLCAmLnN1Y2Nlc3Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmlucHV0LXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuaW5wdXQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDQ2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNDYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNDYpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfX2F3ZXNvbWUtLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCA0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi0tbWludXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjA2OCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLS1wbHVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNjcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNTApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDQwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcblxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1maW5hbCB7XG4gICAgICAgICAgICAuY2FydF9fcHJvZHVjdF9fbGluayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuLW1pbigkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA2MCUgMWZyIDFmciAxZnI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm94IHtcbiAgICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgICAgICAucHJvZ3Jlc3NfX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9ncmVzc19faW5uZXIge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIHBhZGRpbmc6IHB4MnJlbSgzMCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDMwKTtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAxKTtcblxuICAgICAgICAmLS13aXRob3V0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSg1KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTQsIDE2KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXZhdCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMTApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNCwgMTYpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tdG90YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE4LCAyMSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmVlbiwgMSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDI2LCAzMSk7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygzMiwgMzgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2dyZXksIDMpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNiwgMTkpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSgyNSk7XG4gICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjEwNCc7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxOCk7XG4gICAgICAgICAgICB3aWR0aDogcHgycmVtKDE2KTtcbiAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDE2KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmX193cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuLW1pbig1MDBweCkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDIwKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oNTAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oMzMwKTtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuLW1pbigkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiBweDJyZW0oMjAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZWxpdmVyeSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgzMCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBkaXNjb3VudCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMjAsIDI0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgcmlnaHQ6IHB4MnJlbSgxNSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19yb3cge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC8vYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMjApIHB4MnJlbSgxNSArIDgwKSBweDJyZW0oMjApIHB4MnJlbSgxNSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgyMCkgcHgycmVtKDMwICsgODApIHB4MnJlbSgyMCkgcHgycmVtKDMwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNoZWNrZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19ib3R0b20ge1xuICAgICAgICAgICAgcGFkZGluZzogMCBweDJyZW0oMTUpIHB4MnJlbSgyMCkgcHgycmVtKDE1KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuLW1pbigkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHB4MnJlbSgzMCkgcHgycmVtKDIwKSBweDJyZW0oMzApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDMwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oNjApO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5mb3JtLXJhZGlvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIHB4MnJlbSgxNSkgMCAwO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGZvcm1zLCBiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjpjaGVja2VkICsgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSkgdXJsKCRwYXRoLS1pbWcgKyAnaWNvbnMvYnVsbGV0LS13aGl0ZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIC8gMTBweCAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmhhcy1lcnJvciB7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhcmRzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICAuaW1nLWZsdWlkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBweDJyZW0oMTUpIHB4MnJlbSgxMCkgcHgycmVtKDE1KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBweDJyZW0oMTUpIHB4MnJlbSgxMCkgcHgycmVtKDE1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcHgycmVtKDE1KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMTUpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvIHtcbiAgICAgICAgJi0tdXNlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMDcnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1zb2xpZCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSg1Myk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNTMpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDUzKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxNSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHN0eWxlcyBmb3Igc3BlY2lmaWMgdGFiXG4jY2FydCB7XG4gICAgJl9fdGFiIHtcbiAgICAgICAgJi0tMSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS0yIHtcblxuICAgICAgICB9XG4gICAgICAgICYtLTMge1xuICAgICAgICAgICAgLmNhcnRfX3ByaWNlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLTQge1xuICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICYuZm9ybS1jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDEwKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTQsIDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgJi5mb3JtLWNoZWNrYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0tY2hlY2tib3gge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNCwgMTYpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgcHgycmVtKDcpIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRmb3JtcywgYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkICsgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKSB1cmwoJHBhdGgtLWltZyArICdpY29ucy9jaGVjay13aGl0ZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuaGFzLWVycm9yIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2VjdGlvbiB7XG4gICAgJi0tbGlua3Mge1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oMzApIDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA1KTtcbiAgICB9XG5cbiAgICAmLS1ocHtcbiAgICAgICAgcGFkZGluZy10b3A6IHB4MnJlbSgzNSk7XG4gICAgfVxufVxuIiwiLmZpbHRlciB7XG4gICAgcGFkZGluZzogcHgycmVtKDMwKSBweDJyZW0oMzApIHB4MnJlbSgxMCkgcHgycmVtKDMwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMzApO1xuICAgIH1cblxuICAgICZfX25hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4oNzc4cHgpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAmX19maWx0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDIpLCBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDE0KSBweDJyZW0oMzApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDIwKTtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxZGUnO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSg4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLS0xIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19ncmV5LCAxKSwgbWFwX2dldCgkY29sb3JfX2dyZXksIDUpLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpLCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCkpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4tbWluKDc3OHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTQpIHB4MnJlbSgzMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3NvcnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpLCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSksIG1hcF9nZXQoJGNvbG9yX19ncmV5LCA0KSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDE0KSBweDJyZW0oMzApO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdab2JyYXppdCDFmWF6ZW7DrSc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAge1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnU2tyw710IMWZYXplbsOtJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbm5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA1KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDEpO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDEwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICZbZGF0YS10b2dnbGU9XCJjb2xsYXBzZVwiXSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMTA3JztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHB4MnJlbSgtMjApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMTA2JztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDcnO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnBpY2tlZCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKHZ5YnLDoW5vKSc7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBhY3Rpb24pO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNiwgMTkpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yb3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMTVweCBweDJyZW0oMjApIC0xNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAzMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnVsbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1hcmdpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSg0MCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnRuIHtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDEyKSBweDJyZW0oMzUpO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDIxKTtcbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMiksIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSkpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG1hcF9nZXQoJHRyYW5zaXRpb24sIGRlZik7XG4gICAgICAgIG1hcmdpbjogMCBweDJyZW0oMTUpO1xuXG4gICAgICAgICYtLWNsb3NlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLWVmZmVjdChtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTIpIDA7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMGQnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHB4MnJlbSg4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvdHRvbSB7XG4gICAgICAgIHBhZGRpbmc6IHB4MnJlbSgzMCk7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA1KTtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiBweDJyZW0oMzApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICYuZm9ybS1jaGVja2JveCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgzMCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMTMpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICYuZm9ybS1jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tY2hlY2tib3gsIC5mb3JtLXJhZGlvIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE0LCAxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIHB4MnJlbSg3KSAwIDA7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkZm9ybXMsIGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBweDJyZW0oMTApIDAgMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRmb3JtcywgYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJjpjaGVja2VkICsgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGFjdGlvbik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGFjdGlvbikgdXJsKCRwYXRoLS1pbWcgKyAnaWNvbnMvYnVsbGV0LXdoaXRlLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgLyAxMHB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJjpjaGVja2VkICsgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpIHVybCgkcGF0aC0taW1nICsgJ2ljb25zL2NoZWNrLXdoaXRlLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmhhcy1lcnJvciB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBlcnJvcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBlcnJvcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IHB4MnJlbSgxMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMTApO1xuXG4gICAgLnRvb2x0aXAge1xuICAgICAgICAmLmluIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAudG9vbHRpcC1pbm5lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0cmFuc3BhcmVudCwgMTAwKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcl9fZ3JleSwgMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMCwgMTQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnIEvEjSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLW1pbiB7XG4gICAgICAgICAgICAudG9vbHRpcC1pbm5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IHB4MnJlbSgtMTcpO1xuICAgICAgICAgICAgICAgIHRvcDogcHgycmVtKDU1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtbWF4IHtcbiAgICAgICAgICAgIC50b29sdGlwLWlubmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHB4MnJlbSgtMjMpO1xuICAgICAgICAgICAgICAgIHRvcDogcHgycmVtKDU1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWRlci1zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9yX19icmFuZCwgMSk7XG59XG5cbi5zbGlkZXIuc2xpZGVyLWhvcml6b250YWwgLnNsaWRlci10cmFjayB7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggMCByZ2JhKDUxLDUxLDUxLDAuMjUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkY0Rjc7XG59XG5cbi5zbGlkZXIuc2xpZGVyLWhvcml6b250YWwge1xuICAgIGhlaWdodDogcHgycmVtKDE3KTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTVweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oNDIwKTtcbiAgICB9XG59XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgICAmLnJvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgIHdpZHRoOiBweDJyZW0oMjYpO1xuICAgICAgICBoZWlnaHQ6IHB4MnJlbSgxNyk7XG4gICAgfVxufVxuIiwiLnZvdWNoZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiBweDJyZW0oMzApO1xuICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA1KTtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAyKTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAyMSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDIwKTtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDEwKTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNCk7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRkIwMDNEO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idG4ge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QoI0ZCMDAzRCwgbWFwX2dldCgkdHJhbnNwYXJlbnQsIDEwMCksIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApKTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAwZCc7XG4gICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSgxMCk7XG4gICAgICAgICAgICB3aWR0aDogcHgycmVtKDEwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlucHV0LXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oNDEwKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gcHgycmVtKDEwKSBhdXRvO1xuXG4gICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNDUpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDExKTtcblxuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIud2hpc3BlcmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDIlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcHgycmVtKDM1KTtcbiAgICAgICAgbGVmdDogLTUwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAwMCU7XG4gICAgICAgIGhlaWdodDogMTAwMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwLCAyMCwgMjAsIDAuNik7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgfVxuXG4gICAgJl9fYm90dG9tIHtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDMwKSBweDJyZW0oMTUpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTUpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMikgcHgycmVtKDE4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1lZmZlY3QobWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKSwgbWFwX2dldCgkdHJhbnNpdGlvbiwgMTAwKSwgbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKSwgbWFwX2dldCgkY29sb3JfX2dyZXksIDUpKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFwX2dldCgkdHJhbnNpdGlvbiwgZGVmKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE0LCAxNik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFwxMGYwN2InO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X19hd2Vzb21lLS1kdW90b25lKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE2KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAxKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wcmljZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDEpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTQsIDE2KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tYmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDQpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBweDJyZW0oMTApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNSwgMTgpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTIsIDE0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19wcm9kdWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHB4MnJlbSg2MCkgMWZyO1xuICAgICAgICAgICAgZ3JpZC1nYXA6IHB4MnJlbSgxNSk7XG4gICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFwX2dldCgkdHJhbnNpdGlvbiwgZGVmKTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faW5uZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTYsIDE5KTtcbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZWZmZWN0KG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSksIG1hcF9nZXQoJHRyYW5zcGFyZW50LCAxMDApLCBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDQpLCBtYXBfZ2V0KCR0cmFuc3BhcmVudCwgMTAwKSk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXBfZ2V0KCR0cmFuc2l0aW9uLCBkZWYpO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgcHgycmVtKDMwKSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi50YWJsZSB7XG4gICAgLy8gZm9yIGJvb3RzdHJhcCBuYXRpdmUgYmVoYXZpZXJcbiAgICAmOm5vdCguZGVmKSB7XG4gICAgfVxuXG4gICAgJl9fY2xpZW50IHtcbiAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA1KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oNSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE1LCAxOCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxMCwgMTIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDE2LCAxOSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcHgycmVtKDYwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZXksIDUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB4MnJlbSg1KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTUsIDE4KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEwLCAxMik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBweDJyZW0oMjApO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDIxKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNlYXJjaCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNjApO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDUpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHgycmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMDInO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250LS1hd2Vzb21lLS1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHB4MnJlbSgyMSAvIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcHgycmVtKDIxIC8gMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMjEgLyAyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oMjEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSgyMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDIxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBkaXNjb3VudCk7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSg0KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JlZW4sIDEpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY2xhaW0ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2NvdW50LCAxKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmRvbmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGFjdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5jYW5jZWxsZWQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2NvbnRleHQsIGRpc2NvdW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50YWJsZXNhd19fd3JhcHBlciB7XG4gICAgLy9AaW5jbHVkZSB0YWJsZXNhdy1zdGFjayg3NjhweCk7XG59XG4iLCIudG9vbHRpcCB7XG5cbiAgICAmX19idG4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMTApO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjA1YSc7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9fYXdlc29tZS0tbGlnaHQpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDIwKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWlubmVyIHtcbiAgICAgICAgLy9AaW5jbHVkZSBmb250LXNldHRpbmcoMTgsIDI0KTtcbiAgICAgICAgbWluLXdpZHRoOiAzNTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICB9XG59XG5cbi5zbGlkZXIgLnRvb2x0aXAtaW5uZXIge1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IGF1dG87XG59XG4iLCIudmFyaWFudHNCb3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIHB4MnJlbSgzMCkgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHB4MnJlbSg4KSBweDJyZW0oMTUpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jaGVja2VkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19yYWRpbyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDEwKTtcbiAgICAgICAgbWF4LXdpZHRoOiBweDJyZW0oNTQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBweDJyZW0oNTQpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDE1KTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcHgycmVtKDYwKTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMSk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2V0dGluZygxNCwgMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgICZfX3ByaWNlIHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgMSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDIwKTtcbiAgICB9XG4gICAgJl9fc3RhdGUge1xuICAgICAgICAuaW4tc3RvY2sge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19jb250ZXh0LCBzdWNjZXNzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAzKTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDEyLCAxNCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIH1cbn1cbiIsIi8vIG5vIGd1dHRlciBpbiByb3dcbi5uby1ndXR0ZXIgPiBbY2xhc3MqPSdjb2wtJ10ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4vLyBubyBwYWRkaW5nIGluIGNvbHVtblxuLm5vLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLy8gcm93IHdpdGggZXF1YWwgaGVpZ2h0IGNvbHVtbnNcbi5yb3ctZXEtaGVpZ2h0IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogICAgICAgICBmbGV4O1xufVxuXG4vLyBhYnNvbHV0ZSBjZW50ZXJlZCBjb250ZW50IC0gdmVydGljYWwgYW5kIGhvcml6b250YWxcbi5hYnMtY2VudGVyZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbn1cblxuLy8gY2xlYXJmaXhcblxuJWNsZWFyZml4IHtcbiAgICAqem9vbTogMTtcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuLy8gc2tld1xuLnNrZXcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICYuc2VjdGlvbi1uby1za2V3IHtcbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOSU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5za2V3LWRvd24tbGVmdC10by1yaWdodCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5MDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA5JTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDIlO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpIHNrZXdYKDMwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAmLnNrZXctZG93bi13aGl0ZSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYjbWFyY2hpbmRhc2Uge1xuICAgICAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE5JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xOCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5za2V3LWRvd24teWVsbG93IHtcbiAgICAgICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxOSU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtOSU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZXksIDYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuc2tldy1kb3duLXJpZ2h0LXRvLWxlZnQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA5JTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA5JTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDIlO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZykgc2tld1goLTMwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAmLnNrZXctZG93bi15ZWxsb3cge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZXksIDYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuc2tldy10b3AtbGVmdC10by1yaWdodCB7XG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDklO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDklO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtOSU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOSU7XG4gICAgICAgICAgICB3aWR0aDogMTAyJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKSBza2V3WCgtNWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgJi5za2V3LXRvcC15ZWxsb3cge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCA2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNrZXctdG9wLXJpZ2h0LXRvLWxlZnQge1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA5JTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogOTkwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTklO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDklO1xuICAgICAgICAgICAgd2lkdGg6IDEwMiU7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKSBza2V3WCgtNWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgJi5za2V3LXRvcC13aGl0ZSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2Jhc2UsIHdoaXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNrZXctdG9wLXllbGxvdyB7XG4gICAgICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTglO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xOCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JfX2dyZXksIDYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBubyB3cmFwIHdvcmRzXG4ubm8td3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cblxuLy8gcmVzcG9uc2l2ZSB0ZXh0LWFsaWduXG5cbi50ZXh0IHtcbiAgICAmLXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgJi14cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4teHMge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1zbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4tc20tbWluIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtbWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuLW1kIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtbGcge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuLWxnLW1pbiB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxlZnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICYteHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuLXhzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1zbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4tc20tbWluIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1tZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4tbWQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWxnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1sZy1taW4ge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNlbnRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmLXhzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi14cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1zbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4tc20tbWluIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLW1kIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbi1tZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1sZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4tbGctbWluIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGFycm93c1xuXG4uYXJyb3ctdXAge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkIG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG59XG5cbi5hcnJvdy1kb3duIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgYm9yZGVyLXRvcDogMjBweCBzb2xpZCAjZjAwO1xufVxuXG4uYXJyb3ctcmlnaHQge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA2MHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDYwcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICBib3JkZXItbGVmdDogNjBweCBzb2xpZCBncmVlbjtcbn1cblxuLmFycm93LWxlZnQge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICBib3JkZXItcmlnaHQ6MTBweCBzb2xpZCBibHVlO1xufVxuXG4vLyBoaWRpbmcgY2xhc3Nlc1xuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYtLXhzIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KHhzKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc20ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkoc20pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seShtZCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWxnIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KGxnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0teGwge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkoeGwpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gdmVydGljYWwgYWxpZ25lclxuLmFsaWduZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduZXItaXRlbSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5hbGlnbmVyLWl0ZW0tLXRvcCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuLmFsaWduZXItaXRlbS0tYm90dG9tIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLy8gZml0IGltYWdlc1xuLmZpdC1pbWFnZXMge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5ib2xkIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gY29va2llc1xuLmNjLXJldm9rZSwgLmNjLXdpbmRvdyB7XG4gICAgZm9udC1zaXplOiBweDJyZW0oMTQpO1xufVxuLmNjLXdpbmRvdy5jYy1mbG9hdGluZyB7XG4gICAgcGFkZGluZzogcHgycmVtKDEyKTtcbiAgICBtYXgtd2lkdGg6IHB4MnJlbSgyMDApO1xuXG4gICAgLmNvb2tpZXMge1xuICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxNCk7XG4gICAgfVxufVxuLmNjLWNvbXBsaWFuY2Uge1xuICAgIHdpZHRoOiBweDJyZW0oMTAwKTtcbn1cblxuLy8gaW5kaXZpZHVhbCBmb3IgcHJvamVjdCBvbmx5XG4ubWFyZ2luZXIge1xuICAgICYtLTMwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDMwKTtcbiAgICB9XG59XG5cbi5pbWcge1xuICAgICYtLWZ1bGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG59XG5cbi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbmVyIHtcbiAgICAmLS0xMCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxMCkhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS0xNSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxNSkhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS0yMCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyMCkhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS0zMCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgzMCkhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS00MCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSg0MCkhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmxpbmUge1xuICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19icmFuZCwgNCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvcGFjaXR5OiAuMjtcblxuICAgICYtLTEge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgNCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxNSk7XG4gICAgfVxufVxuXG4uY29sIHtcbiAgICAmLXhzIHtcbiAgICAgICAgJi02IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbigzNjBweCwgNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29sb3Ige1xuICAgICZfX2JyYW5kIHtcbiAgICAgICAgJi0tMSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAxKSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi0tMiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2JyYW5kLCAyKTtcbiAgICAgICAgfVxuICAgICAgICAmLS0zIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYnJhbmQsIDMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3JleSB7XG4gICAgICAgICYtLTEge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19ncmV5LCAxKTtcbiAgICAgICAgfVxuICAgICAgICAmLS0yIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fZ3JleSwgMik7XG4gICAgICAgIH1cbiAgICAgICAgJi0tMyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JfX2dyZXksIDMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnVyZ2VyIHtcbiAgICAmLS1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRidXJnZXJTY3JlZW4pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50ZXh0LXRyYW5zZm9ybSB7XG4gICAgJi0tbm9uZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cbiIsIi5wbGFjZWhvbGRlciB7XG4gICAgJl9faW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcl9fcGxhY2Vob2xkZXIsIDEpIHVybCgkcGF0aF9faW1nICsgJ2ljb25zL3BsYWNlaG9sZGVyLWltZy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW47XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCBibGFjayk7XG4gICAgICAgIGhlaWdodDogcHgycmVtKDMwMCk7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb250ZW50OiAnR29vZ2xlIG1hcCc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zZXR0aW5nKDY4LCA2OCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcl9fYmFzZSwgd2hpdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCBibGFjayk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb250ZW50KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNldHRpbmcoNjgsIDY4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9yX19iYXNlLCB3aGl0ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FHQUE7O2dGQUVnRjtBQW9CaEYsc0RBQXNEO0FBRXREOztnRkFFZ0Y7QUFpQmhGOztnRkFFZ0Y7QUFFaEYsaUNBQWlDO0FBRWpDLGdCQUFnQjtBQVNoQixnQkFBZ0I7QUF1QmhCLGdCQUFnQjtBQXNCaEIsZ0JBQWdCO0FBc0JoQixnQkFBZ0I7QUFVaEIseUNBQXlDO0FBMkh6Qzs7Z0ZBRWdGO0FDcFFoRjs7Ozs7R0FLRztBb0NKSCxBQUFBLEtBQUssQ0FBQztFQUdGLE1BQVcsQ0FBRSxRQUFDO0VBQWQsUUFBVyxDQUFFLFFBQUM7RUFBZCxRQUFXLENBQUUsUUFBQztFQUFkLE1BQVcsQ0FBRSxRQUFDO0VBQWQsS0FBVyxDQUFFLFFBQUM7RUFBZCxRQUFXLENBQUUsUUFBQztFQUFkLFFBQVcsQ0FBRSxRQUFDO0VBQWQsT0FBVyxDQUFFLFFBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUFkLE1BQVcsQ0FBRSxRQUFDO0VBQWQsT0FBVyxDQUFFLEtBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUFkLFdBQVcsQ0FBRSxRQUFDO0VBSWQsU0FBVyxDQUFFLFFBQUM7RUFBZCxXQUFXLENBQUUsUUFBQztFQUFkLFNBQVcsQ0FBRSxRQUFDO0VBQWQsTUFBVyxDQUFFLFFBQUM7RUFBZCxTQUFXLENBQUUsUUFBQztFQUFkLFFBQVcsQ0FBRSxRQUFDO0VBQWQsT0FBVyxDQUFFLFFBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUlkLGVBQW1CLENBQWEsRUFB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QUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsWUFBWSxDQUFVO0lBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0VBQXJDLEFBQUEsWUFBWSxDQUFVO0lBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0VBQXJDLEFBQUEsWUFBWSxDQUFVO0lBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0VBT2pDLEFBQUEsWUFBWSxDQUFXO0lDakJqQyxXQUFXLEVBQWdCLENBQUMsR0RtQmpCO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsUUFBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsR0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFB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LFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0RZOUI7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUE0QjtJQUl0QyxTQUFTLEVBQUUsSUFBNEIsR0RZOUI7RUFJTCxBQUFBLGVBQWUsQ0FBTztJQUFFLEtBQUssRUFBRSxFQUFFLEdBQUk7RUFFckMsQUFBQSxjQUFjLENBQU87SUFBRSxLQUFLLEVuQ2xEbkIsRUFBRSxHbUNrRG1DO0VBRzVDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsWUFBWSxDQUFVO0lBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0VBQXJDLEFBQUEsWUFBWSxDQUFVO0lBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0VBQXJDLEFBQUEsWUFBWSxDQUFVO0lBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0VBT2pDLEFBQUEsWUFBWSxDQUFXO0lDakJqQyxXQUFXLEVBQWdCLENBQUMsR0RtQmpCO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsUUFBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsR0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsR0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsR0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxhQUFhLENBQVU7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxhQUFhLENBQVU7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DOztBM0JkVCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RTJCM0J2QixBQUFBLE9BQU8sQ0FBTztJQUNaLFVBQVUsRUFBRSxDQUFDO0lBQ2IsU0FBUyxFQUFFLENBQUM7SUFDWixTQUFTLEVBQUUsQ0FBQztJQUNaLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBSUcsQUNzQlIsY0R0QnNCLEdDc0JsQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFhO0lBQ3ZCLFNBQVMsRUFBRSxJQUFhLEdBQ3pCO0VEekJPLEFDc0JSLGNEdEJzQixHQ3NCbEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBYTtJQUN2QixTQUFTLEVBQUUsR0FBYSxHQUN6QjtFRHpCTyxBQ3NCUixjRHRCc0IsR0NzQmxCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQWE7SUFDdkIsU0FBUyxFQUFFLFNBQWEsR0FDekI7RUR6Qk8sQUNzQlIsY0R0QnNCLEdDc0JsQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO0lBQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCO0VEekJPLEFDc0JSLGNEdEJzQixHQ3NCbEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBYTtJQUN2QixTQUFTLEVBQUUsR0FBYSxHQUN6QjtFRHpCTyxBQ3NCUixjRHRCc0IsR0NzQmxCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQWE7SUFDdkIsU0FBUyxFQUFFLFNBQWEsR0FDekI7RURuQkcsQUFBQSxZQUFZLENBQU87SUNBdkIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxJQUFJLEdEQVY7RUFJRyxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUE0QjtJQUl0QyxTQUFTLEVBQUUsUUFBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0RZOUI7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RZOUI7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2Q1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUE0QjtJQUl0QyxTQUFTLEVBQUUsSUFBNEIsR0RZOUI7RUFJTCxBQUFBLGVBQWUsQ0FBTztJQUFFLEtBQUssRUFBRSxFQUFFLEdBQUk7RUFFckMsQUFBQSxjQUFjLENBQU87SUFBRSxLQUFLLEVuQ2xEbkIsRUFBRSxHbUNrRG1DO0VBRzVDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLEFBQUEsWUFBWSxDQUFVO0lBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0VBQXJDLEFBQUEsWUFBWSxDQUFVO0lBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0VBQXJDLEFBQUEsWUFBWSxDQUFVO0lBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0VBT2pDLEFBQUEsWUFBWSxDQUFXO0lDakJqQyxXQUFXLEVBQWdCLENBQUMsR0RtQmpCO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsUUFBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsR0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsR0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNqQmpDLFdBQVcsRUFBbUIsR0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxhQUFhLENBQVU7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DO0VBRkQsQUFBQSxhQUFhLENBQVU7SUNqQmpDLFdBQVcsRUFBbUIsU0FBZ0IsR0RtQm5DOztBU3RFYixBQUFBLE1BQU0sQ0FBQztFQUNMLEtBQUssRUFBRSxJQUFJO0VBQ1gsYUFBYSxFeENvSU4sSUFBSTtFd0NuSVgsS0FBSyxFeENTSSxPQUFPLEd3Q1NqQjtFQXJCRCxBQU1FLE1BTkksQ0FNSixFQUFFO0VBTkosTUFBTSxDQU9KLEVBQUUsQ0FBQztJQUNELE9BQU8sRXhDd1ZtQixPQUFNO0l3Q3ZWaEMsY0FBYyxFQUFFLEdBQUc7SUFDbkIsVUFBVSxFeENtT2dCLEdBQUcsQ3dDbk9HLEtBQUssQ3hDSjlCLE9BQU8sR3dDS2Y7RUFYSCxBQWFFLE1BYkksQ0FhSixLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ1AsY0FBYyxFQUFFLE1BQU07SUFDdEIsYUFBYSxFQUFFLEdBQXlCLENBQUMsS0FBSyxDeENUdkMsT0FBTyxHd0NVZjtFQWhCSCxBQWtCRSxNQWxCSSxDQWtCSixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ1osVUFBVSxFQUFFLEdBQXlCLENBQUMsS0FBSyxDeENicEMsT0FBTyxHd0NjZjs7QUFRSCxBQUNFLFNBRE8sQ0FDUCxFQUFFO0FBREosU0FBUyxDQUVQLEVBQUUsQ0FBQztFQUNELE9BQU8sRXhDa1VtQixNQUFLLEd3Q2pVaEM7O0FBUUgsQUFBQSxlQUFlLENBQUM7RUFDZCxNQUFNLEV4Q29Nc0IsR0FBRyxDd0NwTUgsS0FBSyxDeENuQ3hCLE9BQU8sR3dDZ0RqQjtFQWRELEFBR0UsZUFIYSxDQUdiLEVBQUU7RUFISixlQUFlLENBSWIsRUFBRSxDQUFDO0lBQ0QsTUFBTSxFeENnTW9CLEdBQUcsQ3dDaE1ELEtBQUssQ3hDdkMxQixPQUFPLEd3Q3dDZjtFQU5ILEFBU0ksZUFUVyxDQVFiLEtBQUssQ0FDSCxFQUFFO0VBVE4sZUFBZSxDQVFiLEtBQUssQ0FFSCxFQUFFLENBQUM7SUFDRCxtQkFBbUIsRUFBRSxHQUF1QixHQUM3Qzs7QUFJTCxBQUNFLGlCQURlLENBQ2YsRUFBRTtBQURKLGlCQUFpQixDQUVmLEVBQUU7QUFGSixpQkFBaUIsQ0FHZixLQUFLLENBQUMsRUFBRTtBQUhWLGlCQUFpQixDQUlmLEtBQUssR0FBRyxLQUFLLENBQUM7RUFDWixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQU9ILEFBQ0UsY0FEWSxDQUNaLEtBQUssQ0FBQyxFQUFFLEFBQUEsWUFBYSxDQUFBLEdBQUcsRUFBc0I7RUFDNUMsZ0JBQWdCLEV4QzFEVCxtQkFBSSxHd0MyRFo7O0FBUUgsQW5DeEVFLFltQ3dFVSxDQUNWLEtBQUssQ0FBQyxFQUFFLEFuQ3pFUCxNQUFNLENBQUM7RW1DMkVKLEtBQUssRXhDdkVBLE9BQU87RXdDd0VaLGdCQUFnQixFeEN2RVgsb0JBQUksR0tMUzs7QW1CUHRCLEFBQ0UsY0FEWTtBQUFkLGNBQWMsR0FFVixFQUFFO0FBRk4sY0FBYyxHQUdWLEVBQUUsQ0FBQztFQUNILGdCQUFnQixFekI2RlosT0FBd0QsR3lCNUY3RDs7QUFMSCxBQVFJLGNBUlUsQ0FRVixFQUFFO0FBUk4sY0FBYyxDQVNWLEVBQUU7QUFUTixjQUFjLENBVVYsS0FBSyxDQUFDLEVBQUU7QUFWWixjQUFjLENBV1YsS0FBSyxHQUFHLEtBQUssQ0FBQztFQUNaLFlBQVksRXpCcUZWLE9BQXdELEd5QnBGM0Q7O0FBTUwsQW5CWkEsWW1CWVksQ0FHVixjQUFjLEFuQmZmLE1BQU0sQ0FBQztFbUJpQkYsZ0JBQWdCLEVBSkQsT0FBdUIsR25CYnRCO0VtQll0QixBQU9NLFlBUE0sQ0FHVixjQUFjLEFuQmZmLE1BQU0sR21CbUJDLEVBQUU7RUFQVixZQUFZLENBR1YsY0FBYyxBbkJmZixNQUFNLEdtQm9CQyxFQUFFLENBQUM7SUFDSCxnQkFBZ0IsRUFSSCxPQUF1QixHQVNyQzs7QUE3QlAsQUFDRSxnQkFEYztBQUFoQixnQkFBZ0IsR0FFWixFQUFFO0FBRk4sZ0JBQWdCLEdBR1osRUFBRSxDQUFDO0VBQ0gsZ0JBQWdCLEV6QjZGWixPQUF3RCxHeUI1RjdEOztBQUxILEFBUUksZ0JBUlksQ0FRWixFQUFFO0FBUk4sZ0JBQWdCLENBU1osRUFBRTtBQVROLGdCQUFnQixDQVVaLEtBQUssQ0FBQyxFQUFFO0FBVlosZ0JBQWdCLENBV1osS0FBSyxHQUFHLEtBQUssQ0FBQztFQUNaLFlBQVksRXpCcUZWLE9BQXdELEd5QnBGM0Q7O0FBTUwsQW5CWkEsWW1CWVksQ0FHVixnQkFBZ0IsQW5CZmpCLE1BQU0sQ0FBQztFbUJpQkYsZ0JBQWdCLEVBSkQsT0FBdUIsR25CYnRCO0VtQll0QixBQU9NLFlBUE0sQ0FHVixnQkFBZ0IsQW5CZmpCLE1BQU0sR21CbUJDLEVBQUU7RUFQVixZQUFZLENBR1YsZ0JBQWdCLEFuQmZqQixNQUFNLEdtQm9CQyxFQUFFLENBQUM7SUFDSCxnQkFBZ0IsRUFSSCxPQUF1QixHQVNyQzs7QUE3QlAsQUFDRSxjQURZO0FBQWQsY0FBYyxHQUVWLEVBQUU7QUFGTixjQUFjLEdBR1YsRUFBRSxDQUFDO0VBQ0gsZ0JBQWdCLEV6QjZGWixPQUF3RCxHeUI1RjdEOztBQUxILEFBUUksY0FSVSxDQVFWLEVBQUU7QUFSTixjQUFjLENBU1YsRUFBRTtBQVROLGNBQWMsQ0FVVixLQUFLLENBQUMsRUFBRTtBQVZaLGNBQWMsQ0FXVixLQUFLLEdBQUcsS0FBSyxDQUFDO0VBQ1osWUFBWSxFekJxRlYsT0FBd0QsR3lCcEYzRDs7QUFNTCxBbkJaQSxZbUJZWSxDQUdWLGNBQWMsQW5CZmYsTUFBTSxDQUFDO0VtQmlCRixnQkFBZ0IsRUFKRCxPQUF1QixHbkJidEI7RW1CWXRCLEFBT00sWUFQTSxDQUdWLGNBQWMsQW5CZmYsTUFBTSxHbUJtQkMsRUFBRTtFQVBWLFlBQVksQ0FHVixjQUFjLEFuQmZmLE1BQU0sR21Cb0JDLEVBQUUsQ0FBQztJQUNILGdCQUFnQixFQVJILE9BQXVCLEdBU3JDOztBQTdCUCxBQUNFLFdBRFM7QUFBWCxXQUFXLEdBRVAsRUFBRTtBQUZOLFdBQVcsR0FHUCxFQUFFLENBQUM7RUFDSCxnQkFBZ0IsRXpCNkZaLE9BQXdELEd5QjVGN0Q7O0FBTEgsQUFRSSxXQVJPLENBUVAsRUFBRTtBQVJOLFdBQVcsQ0FTUCxFQUFFO0FBVE4sV0FBVyxDQVVQLEtBQUssQ0FBQyxFQUFFO0FBVlosV0FBVyxDQVdQLEtBQUssR0FBRyxLQUFLLENBQUM7RUFDWixZQUFZLEV6QnFGVixPQUF3RCxHeUJwRjNEOztBQU1MLEFuQlpBLFltQllZLENBR1YsV0FBVyxBbkJmWixNQUFNLENBQUM7RW1CaUJGLGdCQUFnQixFQUpELE9BQXVCLEduQmJ0QjtFbUJZdEIsQUFPTSxZQVBNLENBR1YsV0FBVyxBbkJmWixNQUFNLEdtQm1CQyxFQUFFO0VBUFYsWUFBWSxDQUdWLFdBQVcsQW5CZlosTUFBTSxHbUJvQkMsRUFBRSxDQUFDO0lBQ0gsZ0JBQWdCLEVBUkgsT0FBdUIsR0FTckM7O0FBN0JQLEFBQ0UsY0FEWTtBQUFkLGNBQWMsR0FFVixFQUFFO0FBRk4sY0FBYyxHQUdWLEVBQUUsQ0FBQztFQUNILGdCQUFnQixFekI2RlosT0FBd0QsR3lCNUY3RDs7QUFMSCxBQVFJLGNBUlUsQ0FRVixFQUFFO0FBUk4sY0FBYyxDQVNWLEVBQUU7QUFUTixjQUFjLENBVVYsS0FBSyxDQUFDLEVBQUU7QUFWWixjQUFjLENBV1YsS0FBSyxHQUFHLEtBQUssQ0FBQztFQUNaLFlBQVksRXpCcUZWLE9BQXdELEd5QnBGM0Q7O0FBTUwsQW5CWkEsWW1CWVksQ0FHVixjQUFjLEFuQmZmLE1BQU0sQ0FBQztFbUJpQkYsZ0JBQWdCLEVBSkQsT0FBdUIsR25CYnRCO0VtQll0QixBQU9NLFlBUE0sQ0FHVixjQUFjLEFuQmZmLE1BQU0sR21CbUJDLEVBQUU7RUFQVixZQUFZLENBR1YsY0FBYyxBbkJmZixNQUFNLEdtQm9CQyxFQUFFLENBQUM7SUFDSCxnQkFBZ0IsRUFSSCxPQUF1QixHQVNyQzs7QUE3QlAsQUFDRSxhQURXO0FBQWIsYUFBYSxHQUVULEVBQUU7QUFGTixhQUFhLEdBR1QsRUFBRSxDQUFDO0VBQ0gsZ0JBQWdCLEV6QjZGWixPQUF3RCxHeUI1RjdEOztBQUxILEFBUUksYUFSUyxDQVFULEVBQUU7QUFSTixhQUFhLENBU1QsRUFBRTtBQVROLGFBQWEsQ0FVVCxLQUFLLENBQUMsRUFBRTtBQVZaLGFBQWEsQ0FXVCxLQUFLLEdBQUcsS0FBSyxDQUFDO0VBQ1osWUFBWSxFekJxRlYsT0FBd0QsR3lCcEYzRDs7QUFNTCxBbkJaQSxZbUJZWSxDQUdWLGFBQWEsQW5CZmQsTUFBTSxDQUFDO0VtQmlCRixnQkFBZ0IsRUFKRCxPQUF1QixHbkJidEI7RW1CWXRCLEFBT00sWUFQTSxDQUdWLGFBQWEsQW5CZmQsTUFBTSxHbUJtQkMsRUFBRTtFQVBWLFlBQVksQ0FHVixhQUFhLEFuQmZkLE1BQU0sR21Cb0JDLEVBQUUsQ0FBQztJQUNILGdCQUFnQixFQVJILE9BQXVCLEdBU3JDOztBQTdCUCxBQUNFLFlBRFU7QUFBWixZQUFZLEdBRVIsRUFBRTtBQUZOLFlBQVksR0FHUixFQUFFLENBQUM7RUFDSCxnQkFBZ0IsRXpCNkZaLE9BQXdELEd5QjVGN0Q7O0FBTEgsQUFRSSxZQVJRLENBUVIsRUFBRTtBQVJOLFlBQVksQ0FTUixFQUFFO0FBVE4sWUFBWSxDQVVSLEtBQUssQ0FBQyxFQUFFO0FBVlosWUFBWSxDQVdSLEtBQUssR0FBRyxLQUFLLENBQUM7RUFDWixZQUFZLEV6QnFGVixPQUF3RCxHeUJwRjNEOztBQU1MLEFuQlpBLFltQllZLENBR1YsWUFBWSxBbkJmYixNQUFNLENBQUM7RW1CaUJGLGdCQUFnQixFQUpELE9BQXVCLEduQmJ0QjtFbUJZdEIsQUFPTSxZQVBNLENBR1YsWUFBWSxBbkJmYixNQUFNLEdtQm1CQyxFQUFFO0VBUFYsWUFBWSxDQUdWLFlBQVksQW5CZmIsTUFBTSxHbUJvQkMsRUFBRSxDQUFDO0lBQ0gsZ0JBQWdCLEVBUkgsT0FBdUIsR0FTckM7O0FBN0JQLEFBQ0UsV0FEUztBQUFYLFdBQVcsR0FFUCxFQUFFO0FBRk4sV0FBVyxHQUdQLEVBQUUsQ0FBQztFQUNILGdCQUFnQixFekI2RlosT0FBd0QsR3lCNUY3RDs7QUFMSCxBQVFJLFdBUk8sQ0FRUCxFQUFFO0FBUk4sV0FBVyxDQVNQLEVBQUU7QUFUTixXQUFXLENBVVAsS0FBSyxDQUFDLEVBQUU7QUFWWixXQUFXLENBV1AsS0FBSyxHQUFHLEtBQUssQ0FBQztFQUNaLFlBQVksRXpCcUZWLE9BQXdELEd5QnBGM0Q7O0FBTUwsQW5CWkEsWW1CWVksQ0FHVixXQUFXLEFuQmZaLE1BQU0sQ0FBQztFbUJpQkYsZ0JBQWdCLEVBSkQsT0FBdUIsR25CYnRCO0VtQll0QixBQU9NLFlBUE0sQ0FHVixXQUFXLEFuQmZaLE1BQU0sR21CbUJDLEVBQUU7RUFQVixZQUFZLENBR1YsV0FBVyxBbkJmWixNQUFNLEdtQm9CQyxFQUFFLENBQUM7SUFDSCxnQkFBZ0IsRUFSSCxPQUF1QixHQVNyQzs7QUE3QlAsQUFDRSxhQURXO0FBQWIsYUFBYSxHQUVULEVBQUU7QUFGTixhQUFhLEdBR1QsRUFBRSxDQUFDO0VBQ0gsZ0JBQWdCLEV4QlFYLG9CQUFJLEd3QlBWOztBQWNILEFuQlpBLFltQllZLENBR1YsYUFBYSxBbkJmZCxNQUFNLENBQUM7RW1CaUJGLGdCQUFnQixFQUpELG9CQUF1QixHbkJidEI7RW1CWXRCLEFBT00sWUFQTSxDQUdWLGFBQWEsQW5CZmQsTUFBTSxHbUJtQkMsRUFBRTtFQVBWLFlBQVksQ0FHVixhQUFhLEFuQmZkLE1BQU0sR21Cb0JDLEVBQUUsQ0FBQztJQUNILGdCQUFnQixFQVJILG9CQUF1QixHQVNyQzs7QWdCNkVULEFBRUksTUFGRSxDQUNKLFdBQVcsQ0FDVCxFQUFFLENBQUM7RUFDRCxLQUFLLEV4QzNHQSxJQUFJO0V3QzRHVCxnQkFBZ0IsRXhDcEdYLE9BQU87RXdDcUdaLFlBQVksRXhDcVFZLE9BQTZCLEd3Q3BRdEQ7O0FBTkwsQUFVSSxNQVZFLENBU0osWUFBWSxDQUNWLEVBQUUsQ0FBQztFQUNELEtBQUssRXhDNUdBLE9BQU87RXdDNkdaLGdCQUFnQixFeENsSFgsT0FBTztFd0NtSFosWUFBWSxFeENsSFAsT0FBTyxHd0NtSGI7O0FBSUwsQUFBQSxXQUFXLENBQUM7RUFDVixLQUFLLEV4QzNISSxJQUFJO0V3QzRIYixnQkFBZ0IsRXhDcEhQLE9BQU8sR3dDOElqQjtFQTVCRCxBQUlFLFdBSlMsQ0FJVCxFQUFFO0VBSkosV0FBVyxDQUtULEVBQUU7RUFMSixXQUFXLENBTVQsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUNQLFlBQVksRXhDaVBjLE9BQTZCLEd3Q2hQeEQ7RUFSSCxBQVVFLFdBVlMsQUFVUixlQUFlLENBQUM7SUFDZixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBWkgsQUFlSSxXQWZPLEFBY1IsY0FBYyxDQUNiLEtBQUssQ0FBQyxFQUFFLEFBQUEsWUFBYSxDQXRFRixHQUFHLEVBc0V3QjtJQUM1QyxnQkFBZ0IsRXhDMUlYLHlCQUFJLEd3QzJJVjtFQWpCTCxBbkNySEUsV21DcUhTLEFBb0JSLFlBQVksQ0FDWCxLQUFLLENBQUMsRUFBRSxBbkMxSVQsTUFBTSxDQUFDO0ltQzRJRixLQUFLLEV4Q2pKRixJQUFJO0l3Q2tKUCxnQkFBZ0IsRXhDbEpiLDBCQUFJLEdLS1M7O0FENkRwQixNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RW9DaUcxQixBQUFELG9CQUFJLENBQU87SUFFUCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLElBQUk7SUFDaEIsMEJBQTBCLEVBQUUsS0FBSyxHQU9wQztJQVpBLEFBUUcsb0JBUkEsR0FRRSxlQUFlLENBQUM7TUFDaEIsTUFBTSxFQUFFLENBQUMsR0FDVjs7QXBDM0dMLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtFb0NpRzFCLEFBQUQsb0JBQUksQ0FBTztJQUVQLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsSUFBSTtJQUNoQiwwQkFBMEIsRUFBRSxLQUFLLEdBT3BDO0lBWkEsQUFRRyxvQkFSQSxHQVFFLGVBQWUsQ0FBQztNQUNoQixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBcEMzR0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO0VvQ2lHMUIsQUFBRCxvQkFBSSxDQUFPO0lBRVAsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLDBCQUEwQixFQUFFLEtBQUssR0FPcEM7SUFaQSxBQVFHLG9CQVJBLEdBUUUsZUFBZSxDQUFDO01BQ2hCLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FwQzNHTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RW9DaUczQixBQUFELG9CQUFJLENBQU87SUFFUCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLElBQUk7SUFDaEIsMEJBQTBCLEVBQUUsS0FBSyxHQU9wQztJQVpBLEFBUUcsb0JBUkEsR0FRRSxlQUFlLENBQUM7TUFDaEIsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFmVCxBQUtJLGlCQUxhLENBS0Y7RUFFUCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLElBQUk7RUFDaEIsMEJBQTBCLEVBQUUsS0FBSyxHQU9wQztFQWpCTCxBQWFRLGlCQWJTLEdBYVAsZUFBZSxDQUFDO0lBQ2hCLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FDOUtULEFBQUEsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRTFDOEcyQiwyQkFBNkI7RTBDN0c5RCxPQUFPLEV6QzZYcUIsUUFBTyxDQUNQLE9BQU07RUV6UTlCLFNBQVMsRUF0Q0UsSUFBQztFdUM1RWhCLFdBQVcsRXpDd1JpQixHQUFHO0V5Q3ZSL0IsV0FBVyxFekM0UmlCLEdBQUc7RXlDM1IvQixLQUFLLEV6Q0RJLE9BQU87RXlDRWhCLGdCQUFnQixFekNUUCxJQUFJO0V5Q1ViLGVBQWUsRUFBRSxXQUFXO0VBQzVCLE1BQU0sRXpDK05zQixHQUFHLEN5Qy9OSCxLQUFLLEN6Q1B4QixPQUFPO0UwQk9kLGFBQWEsRTFCa09hLE9BQU07RTZCcE85QixVQUFVLEU3QjRld0IsWUFBWSxDQUFDLEtBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEtBQUksQ0FBQyxXQUFXLEd5Q2pjakc7RVp2Q0ssTUFBTSxFQUFFLHNCQUFzQixFQUFFLE1BQU07SVlkNUMsQUFBQSxhQUFhLENBQUM7TVplTixVQUFVLEVBQUUsSUFBSSxHWXNDdkI7RUFyREQsQUFxQkUsYUFyQlcsQUFxQlYsWUFBWSxDQUFDO0lBQ1osZ0JBQWdCLEVBQUUsV0FBVztJQUM3QixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBeEJILEFBMkJFLGFBM0JXLEFBMkJWLGVBQWUsQ0FBQztJQUNmLEtBQUssRUFBRSxXQUFXO0lBQ2xCLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ3pDckJYLE9BQU8sR3lDc0JmO0VBOUJILEFsQk9FLGFrQlBXLEFsQk9WLE1BQU0sQ0FBQztJQUNOLEtBQUssRXZCQUUsT0FBTztJdUJDZCxnQkFBZ0IsRXZCUlQsSUFBSTtJdUJTWCxZQUFZLEV2QjBkd0IsT0FBa0M7SXVCemR0RSxPQUFPLEVBQUUsQ0FBQztJQUtSLFVBQVUsRXZCeVhjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUZMLE1BQUssQ0F6V3pCLHVCQUFPLEd1QlpkO0VrQmxCSCxBQW9DRSxhQXBDVyxBQW9DVixhQUFhLENBQUM7SUFDYixLQUFLLEV6QzlCRSxPQUFPO0l5Q2dDZCxPQUFPLEVBQUUsQ0FBQyxHQUNYO0VBeENILEFBK0NFLGFBL0NXLEFBK0NWLFNBQVMsRUEvQ1osYUFBYSxDQWdEVixBQUFBLFFBQUMsQUFBQSxFQUFVO0lBQ1YsZ0JBQWdCLEV6QzlDVCxPQUFPO0l5Q2dEZCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUdILEFBSUUsS0FKRyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQUlILGFBQWE7QUFIaEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQUdILGFBQWE7QUFGaEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLGdCQUFnQixBQUFyQixDQUVILGFBQWE7QUFEaEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUNILGFBQWEsQ0FBQztFQUNiLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUdILEFBQ0UsTUFESSxBQUFBLGFBQWEsQUFDaEIsTUFBTSxBQUFBLFdBQVcsQ0FBQztFQU1qQixLQUFLLEV6Qy9ERSxPQUFPO0V5Q2dFZCxnQkFBZ0IsRXpDdkVULElBQUksR3lDd0VaOztBQUlILEFBQUEsa0JBQWtCO0FBQ2xCLG1CQUFtQixDQUFDO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFTRCxBQUFBLGVBQWUsQ0FBQztFQUNkLFdBQVcsRTFDc0JzQixvQkFBNkI7RTBDckI5RCxjQUFjLEUxQ3FCbUIsb0JBQTZCO0UwQ3BCOUQsYUFBYSxFQUFFLENBQUM7RXZDM0JkLFNBQVMsRUFBQyxPQUFDO0V1QzZCYixXQUFXLEV6Q3FNaUIsR0FBRyxHeUNwTWhDOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsV0FBVyxFMUNjc0Isa0JBQTZCO0UwQ2I5RCxjQUFjLEUxQ2FtQixrQkFBNkI7RUdRMUQsU0FBUyxFQXRDRSxPQUFDO0V1Q21CaEIsV0FBVyxFekNrSWlCLEdBQUcsR3lDakloQzs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLFdBQVcsRTFDT3NCLG1CQUE2QjtFMENOOUQsY0FBYyxFMUNNbUIsbUJBQTZCO0VHUTFELFNBQVMsRUF0Q0UsUUFBQztFdUMwQmhCLFdBQVcsRXpDNEhpQixHQUFHLEd5QzNIaEM7O0FBUUQsQUFBQSx1QkFBdUIsQ0FBQztFQUN0QixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFekN3UXFCLFFBQU8sQ3lDeFFULENBQUM7RUFDM0IsYUFBYSxFQUFFLENBQUM7RXZDRFosU0FBUyxFQXRDRSxJQUFDO0V1Q3lDaEIsV0FBVyxFekN3S2lCLEdBQUc7RXlDdksvQixLQUFLLEV6Q25ISSxPQUFPO0V5Q29IaEIsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFlBQVksRXpDMkdnQixHQUFHLEN5QzNHRyxDQUFDLEdBT3BDO0VBakJELEFBWUUsdUJBWnFCLEFBWXBCLGdCQUFnQixFQVpuQix1QkFBdUIsQUFhcEIsZ0JBQWdCLENBQUM7SUFDaEIsYUFBYSxFQUFFLENBQUM7SUFDaEIsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0FBV0gsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLE1BQU0sRTFDakMyQiwwQkFBNkI7RTBDa0M5RCxPQUFPLEV6Q3dQcUIsT0FBTSxDQUNOLE1BQUs7RUVuUjdCLFNBQVMsRUF0Q0UsUUFBQztFdUNrRWhCLFdBQVcsRXpDb0ZpQixHQUFHO0UwQjdON0IsYUFBYSxFMUJvT2EsTUFBSyxHeUN6RmxDOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDZixNQUFNLEUxQ3pDMkIsd0JBQTZCO0UwQzBDOUQsT0FBTyxFekNxUHFCLE1BQUssQ0FDTCxJQUFJO0VFeFI1QixTQUFTLEVBdENFLE9BQUM7RXVDMEVoQixXQUFXLEV6QzJFaUIsR0FBRztFMEI1TjdCLGFBQWEsRTFCbU9hLE1BQUssR3lDaEZsQzs7QUFHRCxBQUNFLE1BREksQUFBQSxhQUFhLENBQ2hCLEFBQUEsSUFBQyxBQUFBLEdBREosTUFBTSxBQUFBLGFBQWEsQ0FFaEIsQUFBQSxRQUFDLEFBQUEsRUFBVTtFQUNWLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBR0gsQUFBQSxRQUFRLEFBQUEsYUFBYSxDQUFDO0VBQ3BCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBT0QsQUFBQSxXQUFXLENBQUM7RUFDVixhQUFhLEV6QytVeUIsSUFBSSxHeUM5VTNDOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEV6Q2dVNEIsT0FBTSxHeUMvVDdDOztBQU9ELEFBQUEsU0FBUyxDQUFDO0VBQ1IsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLFlBQVksRUFBRSxJQUE0QjtFQUMxQyxXQUFXLEVBQUUsSUFBNEIsR0FPMUM7RUFYRCxBQU1FLFNBTk8sR0FNTCxJQUFJO0VBTlIsU0FBUyxJQU9MLEFBQUEsS0FBQyxFQUFPLE1BQU0sQUFBYixFQUFlO0lBQ2hCLGFBQWEsRUFBRSxHQUEyQjtJQUMxQyxZQUFZLEVBQUUsR0FBMkIsR0FDMUM7O0FBUUgsQUFBQSxXQUFXLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLFlBQVksRXpDcVMwQixPQUFPLEd5Q3BTOUM7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEV6Q2lTNEIsTUFBSztFeUNoUzNDLFdBQVcsRXpDK1IyQixRQUFPLEd5Q3hSOUM7RUFWRCxBQU1FLGlCQU5lLENBTWQsQUFBQSxRQUFDLEFBQUEsSUFBWSxpQkFBaUI7RUFOakMsaUJBQWlCLEFBT2QsU0FBUyxHQUFHLGlCQUFpQixDQUFDO0lBQzdCLEtBQUssRXpDek5FLE9BQU8sR3lDME5mOztBQUdILEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixPQUFPLEVBQUUsV0FBVztFQUNwQixXQUFXLEVBQUUsTUFBTTtFQUNuQixZQUFZLEVBQUUsQ0FBQztFQUNmLFlBQVksRXpDa1IwQixPQUFNLEd5Q3pRN0M7RUFiRCxBQU9FLGtCQVBnQixDQU9oQixpQkFBaUIsQ0FBQztJQUNoQixRQUFRLEVBQUUsTUFBTTtJQUNoQixVQUFVLEVBQUUsQ0FBQztJQUNiLFlBQVksRXpDNlF3QixTQUFRO0l5QzVRNUMsV0FBVyxFQUFFLENBQUMsR0FDZjs7QWxCOU1ELEFBQUEsZUFBZSxDQUFLO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEV2QitjMEIsT0FBTTtFRXRiMUMsU0FBUyxFQUFDLEdBQUM7RXFCdkJYLEtBQUssRXZCTkMsT0FBTyxHdUJPZDs7QUFFRCxBQUFBLGNBQWMsQ0FBSztFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsSUFBSTtFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU8sRXZCcXlCeUIsT0FBTSxDQUNOLE1BQUs7RXVCcnlCckMsVUFBVSxFQUFFLEtBQUs7RXJCb0VmLFNBQVMsRUF0Q0UsUUFBQztFcUI1QmQsV0FBVyxFdkI2T2UsR0FBRztFdUI1TzdCLEtBQUssRXZCdkRFLElBQUk7RXVCd0RYLGdCQUFnQixFdkJwQlYsc0JBQU87RTBCekJiLGFBQWEsRTFCa09hLE9BQU0sR3VCbkxqQzs7QUFqQ0MsQUFvQ0EsY0FwQ2MsQ0FBQyxNQUFNLEdBb0NuQixlQUFlO0FBcENqQixjQUFjLENBQUMsTUFBTSxHQXFDbkIsY0FBYztBQXBDaEIsU0FBUyxHQW1DUCxlQUFlO0FBbkNqQixTQUFTLEdBb0NQLGNBQWMsQ0FBSztFQUNuQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQXZDRCxBQUFBLGNBQWMsQ0EwQ2hCLGFBQWEsQUExQ0ssTUFBTSxFQTBDeEIsYUFBYSxBQXpDVixTQUFTLENBQXFCO0VBMkM3QixZQUFZLEV2QmpDUixPQUFPO0V1Qm9DVCxhQUFhLEV4QndDYyxxQkFBNkI7RXdCdkN4RCxnQkFBZ0IsRXhCdEJQLCtQQUFpRTtFd0J1QjFFLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsbUJBQW1CLEVBQUUsS0FBSyxDeEJxQ0MseUJBQTZCLEN3QnJDRCxNQUFNO0VBQzdELGVBQWUsRXhCb0NZLHVCQUE2QixDQUE3Qix1QkFBNkIsR3dCcEYzRDtFQUhELEFBc0RFLGNBdERZLENBMENoQixhQUFhLEFBMUNLLE1BQU0sQUFzRG5CLE1BQU0sRUFaWCxhQUFhLEFBekNWLFNBQVMsQUFxRFAsTUFBTSxDQUFDO0lBQ04sWUFBWSxFdkI1Q1YsT0FBTztJdUI2Q1QsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDdkJxVEssTUFBSyxDQWxXekIsdUJBQU8sR3VCOENWOztBQXpESCxBQUFBLGNBQWMsQ0E4RGhCLFFBQVEsQUFBQSxhQUFhLEFBOURILE1BQU0sRUE4RHhCLFFBQVEsQUFBQSxhQUFhLEFBN0RsQixTQUFTLENBQXFCO0VBZ0UzQixhQUFhLEV4QnNCYyxxQkFBNkI7RXdCckJ4RCxtQkFBbUIsRUFBRSxHQUFHLEN4QnFCRyx5QkFBNkIsQ3dCckJILEtBQUssQ3hCcUIvQix5QkFBNkIsR3dCcEYzRDs7QUFIRCxBQUFBLGNBQWMsQ0F1RWhCLGNBQWMsQUF2RUksTUFBTSxFQXVFeEIsY0FBYyxBQXRFWCxTQUFTLENBQXFCO0VBd0U3QixZQUFZLEV2QjlEUixPQUFPO0V1QmlFVCxhQUFhLEV4QldjLHdCQUE2QjtFd0JWeEQsVUFBVSxFeEJuREQsOEtBQWlFLENDb2hCVCxTQUFTLENBQUMsS0FBSyxDQXRNMUQsT0FBTSxDQXNNOEUsZUFBK0IsRURwaEJoSSwrUEFBaUUsQ0NuRHZFLElBQUksQ3VCc0dvRSxTQUFTLENBQUMsb0VBQXlFLEdBMUVqSztFQUhELEFBZ0ZFLGNBaEZZLENBdUVoQixjQUFjLEFBdkVJLE1BQU0sQUFnRm5CLE1BQU0sRUFUWCxjQUFjLEFBdEVYLFNBQVMsQUErRVAsTUFBTSxDQUFDO0lBQ04sWUFBWSxFdkJ0RVYsT0FBTztJdUJ1RVQsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDdkIyUkssTUFBSyxDQWxXekIsdUJBQU8sR3VCd0VWOztBQW5GSCxBQXlGRSxjQXpGWSxDQXVGaEIsaUJBQWlCLEFBdkZDLE1BQU0sR0F5RmxCLGlCQUFpQixFQUZ2QixpQkFBaUIsQUF0RmQsU0FBUyxHQXdGTixpQkFBaUIsQ0FBQztFQUNsQixLQUFLLEV2Qi9FSCxPQUFPLEd1QmdGVjs7QUEzRkgsQUE2RkUsY0E3RlksQ0F1RmhCLGlCQUFpQixBQXZGQyxNQUFNLEdBNkZsQixlQUFlO0FBN0ZuQixjQUFjLENBdUZoQixpQkFBaUIsQUF2RkMsTUFBTSxHQThGbEIsY0FBYyxFQVBwQixpQkFBaUIsQUF0RmQsU0FBUyxHQTRGTixlQUFlO0FBTnJCLGlCQUFpQixBQXRGZCxTQUFTLEdBNkZOLGNBQWMsQ0FBSztFQUNuQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQWhHSCxBQXNHRSxjQXRHWSxDQW9HaEIscUJBQXFCLEFBcEdILE1BQU0sR0FzR2xCLHFCQUFxQixFQUYzQixxQkFBcUIsQUFuR2xCLFNBQVMsR0FxR04scUJBQXFCLENBQUM7RUFDdEIsS0FBSyxFdkI1RkgsT0FBTyxHdUJpR1Y7RUE1R0gsQUF5R0ksY0F6R1UsQ0FvR2hCLHFCQUFxQixBQXBHSCxNQUFNLEdBc0dsQixxQkFBcUIsQUFHcEIsUUFBUSxFQUxmLHFCQUFxQixBQW5HbEIsU0FBUyxHQXFHTixxQkFBcUIsQUFHcEIsUUFBUSxDQUFDO0lBQ1IsWUFBWSxFdkIvRlosT0FBTyxHdUJnR1I7O0FBM0dMLEFBK0dJLGNBL0dVLENBb0doQixxQkFBcUIsQUFwR0gsTUFBTSxBQThHbkIsUUFBUSxHQUNMLHFCQUFxQixBQUFBLFFBQVEsRUFYckMscUJBQXFCLEFBbkdsQixTQUFTLEFBNkdQLFFBQVEsR0FDTCxxQkFBcUIsQUFBQSxRQUFRLENBQUM7RUFDOUIsWUFBWSxFQUFFLE9BQW9CO0VLMUl4QyxnQkFBZ0IsRUwySVcsT0FBb0IsR0FDMUM7O0FBbEhMLEFBc0hJLGNBdEhVLENBb0doQixxQkFBcUIsQUFwR0gsTUFBTSxBQXFIbkIsTUFBTSxHQUNILHFCQUFxQixBQUFBLFFBQVEsRUFsQnJDLHFCQUFxQixBQW5HbEIsU0FBUyxBQW9IUCxNQUFNLEdBQ0gscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0VBQzlCLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ3ZCc1BHLE1BQUssQ0FsV3pCLHVCQUFPLEd1QjZHUjs7QUF4SEwsQUEwSEksY0ExSFUsQ0FvR2hCLHFCQUFxQixBQXBHSCxNQUFNLEFBcUhuQixNQUFNLEFBS0osSUFBSyxDQUFBLFFBQVEsSUFBSSxxQkFBcUIsQUFBQSxRQUFRLEVBdEJyRCxxQkFBcUIsQUFuR2xCLFNBQVMsQUFvSFAsTUFBTSxBQUtKLElBQUssQ0FBQSxRQUFRLElBQUkscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0VBQzlDLFlBQVksRXZCaEhaLE9BQU8sR3VCaUhSOztBQTVITCxBQW9JRSxjQXBJWSxDQWtJaEIsa0JBQWtCLEFBbElBLE1BQU0sR0FvSWxCLGtCQUFrQixFQUZ4QixrQkFBa0IsQUFqSWYsU0FBUyxHQW1JTixrQkFBa0IsQ0FBQztFQUNuQixZQUFZLEV2QjFIVixPQUFPLEd1QjJIVjs7QUF0SUgsQUF5SUksY0F6SVUsQ0FrSWhCLGtCQUFrQixBQWxJQSxNQUFNLEFBd0luQixNQUFNLEdBQ0gsa0JBQWtCLEVBUDFCLGtCQUFrQixBQWpJZixTQUFTLEFBdUlQLE1BQU0sR0FDSCxrQkFBa0IsQ0FBQztFQUNuQixZQUFZLEV2Qi9IWixPQUFPO0V1QmdJUCxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEN2QmtPRyxNQUFLLENBbFd6Qix1QkFBTyxHdUJpSVI7O0FBaElQLEFBQUEsaUJBQWlCLENBQUc7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRXZCK2MwQixPQUFNO0VFdGIxQyxTQUFTLEVBQUMsR0FBQztFcUJ2QlgsS0FBSyxFdkJUQyxPQUFPLEd1QlVkOztBQUVELEFBQUEsZ0JBQWdCLENBQUc7RUFDakIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLElBQUk7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPLEV2QnF5QnlCLE9BQU0sQ0FDTixNQUFLO0V1QnJ5QnJDLFVBQVUsRUFBRSxLQUFLO0VyQm9FZixTQUFTLEVBdENFLFFBQUM7RXFCNUJkLFdBQVcsRXZCNk9lLEdBQUc7RXVCNU83QixLQUFLLEV2QnZERSxJQUFJO0V1QndEWCxnQkFBZ0IsRXZCdkJWLHNCQUFPO0UwQnRCYixhQUFhLEUxQmtPYSxPQUFNLEd1Qm5MakM7O0FBakNDLEFBb0NBLGNBcENjLENBQUMsUUFBUSxHQW9DckIsaUJBQWlCO0FBcENuQixjQUFjLENBQUMsUUFBUSxHQXFDckIsZ0JBQWdCO0FBcENsQixXQUFXLEdBbUNULGlCQUFpQjtBQW5DbkIsV0FBVyxHQW9DVCxnQkFBZ0IsQ0FBRztFQUNuQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQXZDRCxBQUFBLGNBQWMsQ0EwQ2hCLGFBQWEsQUExQ0ssUUFBUSxFQTBDMUIsYUFBYSxBQXpDVixXQUFXLENBQW1CO0VBMkM3QixZQUFZLEV2QnBDUixPQUFPO0V1QnVDVCxhQUFhLEV4QndDYyxxQkFBNkI7RXdCdkN4RCxnQkFBZ0IsRXhCdEJQLDBUQUFpRTtFd0J1QjFFLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsbUJBQW1CLEVBQUUsS0FBSyxDeEJxQ0MseUJBQTZCLEN3QnJDRCxNQUFNO0VBQzdELGVBQWUsRXhCb0NZLHVCQUE2QixDQUE3Qix1QkFBNkIsR3dCcEYzRDtFQUhELEFBc0RFLGNBdERZLENBMENoQixhQUFhLEFBMUNLLFFBQVEsQUFzRHJCLE1BQU0sRUFaWCxhQUFhLEFBekNWLFdBQVcsQUFxRFQsTUFBTSxDQUFDO0lBQ04sWUFBWSxFdkIvQ1YsT0FBTztJdUJnRFQsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDdkJxVEssTUFBSyxDQXJXekIsdUJBQU8sR3VCaURWOztBQXpESCxBQUFBLGNBQWMsQ0E4RGhCLFFBQVEsQUFBQSxhQUFhLEFBOURILFFBQVEsRUE4RDFCLFFBQVEsQUFBQSxhQUFhLEFBN0RsQixXQUFXLENBQW1CO0VBZ0UzQixhQUFhLEV4QnNCYyxxQkFBNkI7RXdCckJ4RCxtQkFBbUIsRUFBRSxHQUFHLEN4QnFCRyx5QkFBNkIsQ3dCckJILEtBQUssQ3hCcUIvQix5QkFBNkIsR3dCcEYzRDs7QUFIRCxBQUFBLGNBQWMsQ0F1RWhCLGNBQWMsQUF2RUksUUFBUSxFQXVFMUIsY0FBYyxBQXRFWCxXQUFXLENBQW1CO0VBd0U3QixZQUFZLEV2QmpFUixPQUFPO0V1Qm9FVCxhQUFhLEV4QldjLHdCQUE2QjtFd0JWeEQsVUFBVSxFeEJuREQsOEtBQWlFLENDb2hCVCxTQUFTLENBQUMsS0FBSyxDQXRNMUQsT0FBTSxDQXNNOEUsZUFBK0IsRURwaEJoSSwwVEFBaUUsQ0NuRHZFLElBQUksQ3VCc0dvRSxTQUFTLENBQUMsb0VBQXlFLEdBMUVqSztFQUhELEFBZ0ZFLGNBaEZZLENBdUVoQixjQUFjLEFBdkVJLFFBQVEsQUFnRnJCLE1BQU0sRUFUWCxjQUFjLEFBdEVYLFdBQVcsQUErRVQsTUFBTSxDQUFDO0lBQ04sWUFBWSxFdkJ6RVYsT0FBTztJdUIwRVQsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDdkIyUkssTUFBSyxDQXJXekIsdUJBQU8sR3VCMkVWOztBQW5GSCxBQXlGRSxjQXpGWSxDQXVGaEIsaUJBQWlCLEFBdkZDLFFBQVEsR0F5RnBCLGlCQUFpQixFQUZ2QixpQkFBaUIsQUF0RmQsV0FBVyxHQXdGUixpQkFBaUIsQ0FBQztFQUNsQixLQUFLLEV2QmxGSCxPQUFPLEd1Qm1GVjs7QUEzRkgsQUE2RkUsY0E3RlksQ0F1RmhCLGlCQUFpQixBQXZGQyxRQUFRLEdBNkZwQixpQkFBaUI7QUE3RnJCLGNBQWMsQ0F1RmhCLGlCQUFpQixBQXZGQyxRQUFRLEdBOEZwQixnQkFBZ0IsRUFQdEIsaUJBQWlCLEFBdEZkLFdBQVcsR0E0RlIsaUJBQWlCO0FBTnZCLGlCQUFpQixBQXRGZCxXQUFXLEdBNkZSLGdCQUFnQixDQUFHO0VBQ25CLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBaEdILEFBc0dFLGNBdEdZLENBb0doQixxQkFBcUIsQUFwR0gsUUFBUSxHQXNHcEIscUJBQXFCLEVBRjNCLHFCQUFxQixBQW5HbEIsV0FBVyxHQXFHUixxQkFBcUIsQ0FBQztFQUN0QixLQUFLLEV2Qi9GSCxPQUFPLEd1Qm9HVjtFQTVHSCxBQXlHSSxjQXpHVSxDQW9HaEIscUJBQXFCLEFBcEdILFFBQVEsR0FzR3BCLHFCQUFxQixBQUdwQixRQUFRLEVBTGYscUJBQXFCLEFBbkdsQixXQUFXLEdBcUdSLHFCQUFxQixBQUdwQixRQUFRLENBQUM7SUFDUixZQUFZLEV2QmxHWixPQUFPLEd1Qm1HUjs7QUEzR0wsQUErR0ksY0EvR1UsQ0FvR2hCLHFCQUFxQixBQXBHSCxRQUFRLEFBOEdyQixRQUFRLEdBQ0wscUJBQXFCLEFBQUEsUUFBUSxFQVhyQyxxQkFBcUIsQUFuR2xCLFdBQVcsQUE2R1QsUUFBUSxHQUNMLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztFQUM5QixZQUFZLEVBQUUsT0FBb0I7RUsxSXhDLGdCQUFnQixFTDJJVyxPQUFvQixHQUMxQzs7QUFsSEwsQUFzSEksY0F0SFUsQ0FvR2hCLHFCQUFxQixBQXBHSCxRQUFRLEFBcUhyQixNQUFNLEdBQ0gscUJBQXFCLEFBQUEsUUFBUSxFQWxCckMscUJBQXFCLEFBbkdsQixXQUFXLEFBb0hULE1BQU0sR0FDSCxxQkFBcUIsQUFBQSxRQUFRLENBQUM7RUFDOUIsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDdkJzUEcsTUFBSyxDQXJXekIsdUJBQU8sR3VCZ0hSOztBQXhITCxBQTBISSxjQTFIVSxDQW9HaEIscUJBQXFCLEFBcEdILFFBQVEsQUFxSHJCLE1BQU0sQUFLSixJQUFLLENBQUEsUUFBUSxJQUFJLHFCQUFxQixBQUFBLFFBQVEsRUF0QnJELHFCQUFxQixBQW5HbEIsV0FBVyxBQW9IVCxNQUFNLEFBS0osSUFBSyxDQUFBLFFBQVEsSUFBSSxxQkFBcUIsQUFBQSxRQUFRLENBQUM7RUFDOUMsWUFBWSxFdkJuSFosT0FBTyxHdUJvSFI7O0FBNUhMLEFBb0lFLGNBcElZLENBa0loQixrQkFBa0IsQUFsSUEsUUFBUSxHQW9JcEIsa0JBQWtCLEVBRnhCLGtCQUFrQixBQWpJZixXQUFXLEdBbUlSLGtCQUFrQixDQUFDO0VBQ25CLFlBQVksRXZCN0hWLE9BQU8sR3VCOEhWOztBQXRJSCxBQXlJSSxjQXpJVSxDQWtJaEIsa0JBQWtCLEFBbElBLFFBQVEsQUF3SXJCLE1BQU0sR0FDSCxrQkFBa0IsRUFQMUIsa0JBQWtCLEFBaklmLFdBQVcsQUF1SVQsTUFBTSxHQUNILGtCQUFrQixDQUFDO0VBQ25CLFlBQVksRXZCbElaLE9BQU87RXVCbUlQLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ3ZCa09HLE1BQUssQ0FyV3pCLHVCQUFPLEd1Qm9JUjs7QWtCc0dULEFBQUEsWUFBWSxDQUFDO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsUUFBUTtFQUNuQixXQUFXLEVBQUUsTUFBTSxHQXFFcEI7RUF4RUQsQUFRRSxZQVJVLENBUVYsV0FBVyxDQUFDO0lBQ1YsS0FBSyxFQUFFLElBQUksR0FDWjtFckNoT0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lxQ3NONUIsQUFjSSxZQWRRLENBY1IsS0FBSyxFQWRULFlBQVksQzRENVBaLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBS0YsV0FBVyxFQS9EdkIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQzVEa01kLFlBQVksQzREN0xBLFdBQVcsQzVEMk1iO01BQ0osT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTTtNQUNuQixlQUFlLEVBQUUsTUFBTTtNQUN2QixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtJQW5CTCxBQXNCSSxZQXRCUSxDQXNCUixXQUFXLENBQUM7TUFDVixPQUFPLEVBQUUsSUFBSTtNQUNiLElBQUksRUFBRSxRQUFRO01BQ2QsU0FBUyxFQUFFLFFBQVE7TUFDbkIsV0FBVyxFQUFFLE1BQU07TUFDbkIsYUFBYSxFQUFFLENBQUMsR0FDakI7SUE1QkwsQUErQkksWUEvQlEsQ0ErQlIsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLFlBQVk7TUFDckIsS0FBSyxFQUFFLElBQUk7TUFDWCxjQUFjLEVBQUUsTUFBTSxHQUN2QjtJQW5DTCxBQXNDSSxZQXRDUSxDQXNDUix1QkFBdUIsQ0FBQztNQUN0QixPQUFPLEVBQUUsWUFBWSxHQUN0QjtJQXhDTCxBQTBDSSxZQTFDUSxDQTBDUixZQUFZO0lBMUNoQixZQUFZLENBMkNSLGNBQWMsQ0FBQztNQUNiLEtBQUssRUFBRSxJQUFJLEdBQ1o7SUE3Q0wsQUFRRSxZQVJVLENBUVYsV0FBVyxDQXlDRztNQUNWLE9BQU8sRUFBRSxJQUFJO01BQ2IsV0FBVyxFQUFFLE1BQU07TUFDbkIsZUFBZSxFQUFFLE1BQU07TUFDdkIsS0FBSyxFQUFFLElBQUk7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJQXZETCxBQXdESSxZQXhEUSxDQXdEUixpQkFBaUIsQ0FBQztNQUNoQixRQUFRLEVBQUUsUUFBUTtNQUNsQixXQUFXLEVBQUUsQ0FBQztNQUNkLFVBQVUsRUFBRSxDQUFDO01BQ2IsWUFBWSxFekNvTHNCLE9BQU07TXlDbkx4QyxXQUFXLEVBQUUsQ0FBQyxHQUNmO0lBOURMLEFBZ0VJLFlBaEVRLENBZ0VSLGVBQWUsQ0FBQztNQUNkLFdBQVcsRUFBRSxNQUFNO01BQ25CLGVBQWUsRUFBRSxNQUFNLEdBQ3hCO0lBbkVMLEFBb0VJLFlBcEVRLENBb0VSLHFCQUFxQixDQUFDO01BQ3BCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQ2xWTCxBQUFBLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxZQUFZO0VBRXJCLFdBQVcsRTFDNFJpQixHQUFHO0UwQzNSL0IsS0FBSyxFMUNNSSxPQUFPO0UwQ0xoQixVQUFVLEVBQUUsTUFBTTtFQUdsQixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEVBQUUsSUFBSTtFQUNqQixnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLE1BQU0sRTFDZ09zQixHQUFHLEMwQ2hPTCxLQUFLLENBQUMsV0FBVztFekJ1RjNDLE9BQU8sRWpCK1JxQixRQUFPLENBQ1AsT0FBTTtFRXpROUIsU0FBUyxFQXRDRSxJQUFDO0VlaUJoQixXQUFXLEVqQmdNaUIsR0FBRztFMEJ4UjdCLGFBQWEsRTFCa09hLE9BQU07RTZCcE85QixVQUFVLEU3QnFiYyxLQUFLLENBQUMsS0FBSSxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxLQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxLQUFJLENBQUMsV0FBVyxHMENsWmxKO0ViL0JLLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNO0lhZDVDLEFBQUEsSUFBSSxDQUFDO01iZUcsVUFBVSxFQUFFLElBQUksR2E4QnZCO0VBN0NELEFyQ01FLElxQ05FLEFyQ01ELE1BQU0sQ0FBQztJcUNVTixLQUFLLEUxQ05FLE9BQU87STBDT2QsZUFBZSxFQUFFLElBQUksR3JDWEQ7RXFDTnhCLEFBb0JFLElBcEJFLEFBb0JELE1BQU0sRUFwQlQsSUFBSSxBQXFCRCxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRTFDa1hnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FGTCxNQUFLLENBeld6Qix1QkFBTyxHMENOZDtFQXhCSCxBQTJCRSxJQTNCRSxBQTJCRCxTQUFTLEVBM0JaLElBQUksQUE0QkQsU0FBUyxDQUFDO0lBQ1QsT0FBTyxFMUNzWm1CLElBQUcsRzBDcFo5QjtFQS9CSCxBQWlDRSxJQWpDRSxBQWlDRCxJQUFLLENQdVVFLFNBQVMsQ092VUQsSUFBSyxDQUFBLFNBQVMsRUFBRTtJQUM5QixNQUFNLEVBQXlDLE9BQU8sR0FVdkQ7O0FBSUgsQUFBQSxDQUFDLEFBQUEsSUFBSSxBQUFBLFNBQVM7QUFDZCxRQUFRLEFBQUEsU0FBUyxDQUFDLENBQUMsQUFBQSxJQUFJLENBQUM7RUFDdEIsY0FBYyxFQUFFLElBQUksR0FDckI7O0FBUUMsQUFBQSxZQUFZLENBQUc7RXpCM0RmLEtBQUssRWpCQ0ksSUFBSTtFNEJEWCxnQkFBZ0IsRTVCOEJWLE9BQU87RWlCNUJmLFlBQVksRWpCNEJKLE9BQU8sRzBDK0JkO0VBRkQsQXJDckRBLFlxQ3FEWSxBckNyRFgsTUFBTSxDQUFDO0lZQU4sS0FBSyxFakJMRSxJQUFJO0k0QkRYLGdCQUFnQixFWEQyQyxPQUF5QjtJQVNwRixZQUFZLEVBVHlGLE9BQW9CLEdaT3JHO0VxQ3FEdEIsQXpCaERBLFl5QmdEWSxBekJoRFgsTUFBTSxFeUJnRFAsWUFBWSxBekIvQ1gsTUFBTSxDQUFDO0lBQ04sS0FBSyxFakJaRSxJQUFJO0k0QkRYLGdCQUFnQixFWEQyQyxPQUF5QjtJQWdCcEYsWUFBWSxFQWhCeUYsT0FBb0I7SUFxQnZILFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pCbVhPLE1BQUssQ2lCblhXLHVCQUF5QyxHQUVwRjtFeUJxQ0QsQXpCbENBLFl5QmtDWSxBekJsQ1gsU0FBUyxFeUJrQ1YsWUFBWSxBekJqQ1gsU0FBUyxDQUFDO0lBQ1QsS0FBSyxFakIxQkUsSUFBSTtJaUIyQlgsZ0JBQWdCLEVqQkVWLE9BQU87SWlCRGIsWUFBWSxFakJDTixPQUFPLEdpQklkO0V5QnlCRCxBekJ2QkEsWXlCdUJZLEF6QnZCWCxJQUFLLENrQm9VRSxTQUFTLENsQnBVRCxJQUFLLEN5QkhBLFNBQVMsQ3pCR0MsT0FBTyxFeUJ1QnRDLFlBQVksQXpCdEJYLElBQUssQ2tCbVVFLFNBQVMsQ2xCblVELElBQUssQ3lCSkEsU0FBUyxDekJJQyxPQUFPO0VBQ3RDLEtBQUssR3lCcUJMLFlBQVksQXpCckJILGdCQUFnQixDQUFDO0lBQ3hCLEtBQUssRWpCdENFLElBQUk7SWlCdUNYLGdCQUFnQixFQXpDK0gsT0FBd0I7SUE2Q3ZLLFlBQVksRUE3QzZLLE9BQXNCLEdBdURoTjtJeUJLRCxBekJiRSxZeUJhVSxBekJ2QlgsSUFBSyxDa0JvVUUsU0FBUyxDbEJwVUQsSUFBSyxDeUJIQSxTQUFTLEN6QkdDLE9BQU8sQUFVbkMsTUFBTSxFeUJhVCxZQUFZLEF6QnRCWCxJQUFLLENrQm1VRSxTQUFTLENsQm5VRCxJQUFLLEN5QkpBLFNBQVMsQ3pCSUMsT0FBTyxBQVNuQyxNQUFNO0lBUlQsS0FBSyxHeUJxQkwsWUFBWSxBekJyQkgsZ0JBQWdCLEFBUXRCLE1BQU0sQ0FBQztNQUtKLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pCb1ZLLE1BQUssQ2lCcFZhLHVCQUF5QyxHQUVwRjs7QXlCTUgsQUFBQSxjQUFjLENBQUM7RXpCM0RmLEtBQUssRWpCQ0ksSUFBSTtFNEJEWCxnQkFBZ0IsRTVCT1QsT0FBTztFaUJMaEIsWUFBWSxFakJLSCxPQUFPLEcwQ3NEZjtFQUZELEFyQ3JEQSxjcUNxRGMsQXJDckRiLE1BQU0sQ0FBQztJWUFOLEtBQUssRWpCTEUsSUFBSTtJNEJEWCxnQkFBZ0IsRVhEMkMsT0FBeUI7SUFTcEYsWUFBWSxFQVR5RixPQUFvQixHWk9yRztFcUNxRHRCLEF6QmhEQSxjeUJnRGMsQXpCaERiLE1BQU0sRXlCZ0RQLGNBQWMsQXpCL0NiLE1BQU0sQ0FBQztJQUNOLEtBQUssRWpCWkUsSUFBSTtJNEJEWCxnQkFBZ0IsRVhEMkMsT0FBeUI7SUFnQnBGLFlBQVksRUFoQnlGLE9BQW9CO0lBcUJ2SCxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENqQm1YTyxNQUFLLENpQm5YVyx3QkFBeUMsR0FFcEY7RXlCcUNELEF6QmxDQSxjeUJrQ2MsQXpCbENiLFNBQVMsRXlCa0NWLGNBQWMsQXpCakNiLFNBQVMsQ0FBQztJQUNULEtBQUssRWpCMUJFLElBQUk7SWlCMkJYLGdCQUFnQixFakJyQlQsT0FBTztJaUJzQmQsWUFBWSxFakJ0QkwsT0FBTyxHaUIyQmY7RXlCeUJELEF6QnZCQSxjeUJ1QmMsQXpCdkJiLElBQUssQ2tCb1VFLFNBQVMsQ2xCcFVELElBQUssQ3lCSEEsU0FBUyxDekJHQyxPQUFPLEV5QnVCdEMsY0FBYyxBekJ0QmIsSUFBSyxDa0JtVUUsU0FBUyxDbEJuVUQsSUFBSyxDeUJKQSxTQUFTLEN6QklDLE9BQU87RUFDdEMsS0FBSyxHeUJxQkwsY0FBYyxBekJyQkwsZ0JBQWdCLENBQUM7SUFDeEIsS0FBSyxFakJ0Q0UsSUFBSTtJaUJ1Q1gsZ0JBQWdCLEVBekMrSCxPQUF3QjtJQTZDdkssWUFBWSxFQTdDNkssT0FBc0IsR0F1RGhOO0l5QktELEF6QmJFLGN5QmFZLEF6QnZCYixJQUFLLENrQm9VRSxTQUFTLENsQnBVRCxJQUFLLEN5QkhBLFNBQVMsQ3pCR0MsT0FBTyxBQVVuQyxNQUFNLEV5QmFULGNBQWMsQXpCdEJiLElBQUssQ2tCbVVFLFNBQVMsQ2xCblVELElBQUssQ3lCSkEsU0FBUyxDekJJQyxPQUFPLEFBU25DLE1BQU07SUFSVCxLQUFLLEd5QnFCTCxjQUFjLEF6QnJCTCxnQkFBZ0IsQUFRdEIsTUFBTSxDQUFDO01BS0osVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakJvVkssTUFBSyxDaUJwVmEsd0JBQXlDLEdBRXBGOztBeUJNSCxBQUFBLFlBQVksQ0FBRztFekIzRGYsS0FBSyxFakJDSSxJQUFJO0U0QkRYLGdCQUFnQixFNUJxQ1YsT0FBTztFaUJuQ2YsWUFBWSxFakJtQ0osT0FBTyxHMEN3QmQ7RUFGRCxBckNyREEsWXFDcURZLEFyQ3JEWCxNQUFNLENBQUM7SVlBTixLQUFLLEVqQkxFLElBQUk7STRCRFgsZ0JBQWdCLEVYRDJDLE9BQXlCO0lBU3BGLFlBQVksRUFUeUYsT0FBb0IsR1pPckc7RXFDcUR0QixBekJoREEsWXlCZ0RZLEF6QmhEWCxNQUFNLEV5QmdEUCxZQUFZLEF6Qi9DWCxNQUFNLENBQUM7SUFDTixLQUFLLEVqQlpFLElBQUk7STRCRFgsZ0JBQWdCLEVYRDJDLE9BQXlCO0lBZ0JwRixZQUFZLEVBaEJ5RixPQUFvQjtJQXFCdkgsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakJtWE8sTUFBSyxDaUJuWFcsc0JBQXlDLEdBRXBGO0V5QnFDRCxBekJsQ0EsWXlCa0NZLEF6QmxDWCxTQUFTLEV5QmtDVixZQUFZLEF6QmpDWCxTQUFTLENBQUM7SUFDVCxLQUFLLEVqQjFCRSxJQUFJO0lpQjJCWCxnQkFBZ0IsRWpCU1YsT0FBTztJaUJSYixZQUFZLEVqQlFOLE9BQU8sR2lCSGQ7RXlCeUJELEF6QnZCQSxZeUJ1QlksQXpCdkJYLElBQUssQ2tCb1VFLFNBQVMsQ2xCcFVELElBQUssQ3lCSEEsU0FBUyxDekJHQyxPQUFPLEV5QnVCdEMsWUFBWSxBekJ0QlgsSUFBSyxDa0JtVUUsU0FBUyxDbEJuVUQsSUFBSyxDeUJKQSxTQUFTLEN6QklDLE9BQU87RUFDdEMsS0FBSyxHeUJxQkwsWUFBWSxBekJyQkgsZ0JBQWdCLENBQUM7SUFDeEIsS0FBSyxFakJ0Q0UsSUFBSTtJaUJ1Q1gsZ0JBQWdCLEVBekMrSCxPQUF3QjtJQTZDdkssWUFBWSxFQTdDNkssT0FBc0IsR0F1RGhOO0l5QktELEF6QmJFLFl5QmFVLEF6QnZCWCxJQUFLLENrQm9VRSxTQUFTLENsQnBVRCxJQUFLLEN5QkhBLFNBQVMsQ3pCR0MsT0FBTyxBQVVuQyxNQUFNLEV5QmFULFlBQVksQXpCdEJYLElBQUssQ2tCbVVFLFNBQVMsQ2xCblVELElBQUssQ3lCSkEsU0FBUyxDekJJQyxPQUFPLEFBU25DLE1BQU07SUFSVCxLQUFLLEd5QnFCTCxZQUFZLEF6QnJCSCxnQkFBZ0IsQUFRdEIsTUFBTSxDQUFDO01BS0osVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakJvVkssTUFBSyxDaUJwVmEsc0JBQXlDLEdBRXBGOztBeUJNSCxBQUFBLFNBQVMsQ0FBTTtFekIzRGYsS0FBSyxFakJDSSxJQUFJO0U0QkRYLGdCQUFnQixFNUJ1Q1YsT0FBTztFaUJyQ2YsWUFBWSxFakJxQ0osT0FBTyxHMENzQmQ7RUFGRCxBckNyREEsU3FDcURTLEFyQ3JEUixNQUFNLENBQUM7SVlBTixLQUFLLEVqQkxFLElBQUk7STRCRFgsZ0JBQWdCLEVYRDJDLE9BQXlCO0lBU3BGLFlBQVksRUFUeUYsT0FBb0IsR1pPckc7RXFDcUR0QixBekJoREEsU3lCZ0RTLEF6QmhEUixNQUFNLEV5QmdEUCxTQUFTLEF6Qi9DUixNQUFNLENBQUM7SUFDTixLQUFLLEVqQlpFLElBQUk7STRCRFgsZ0JBQWdCLEVYRDJDLE9BQXlCO0lBZ0JwRixZQUFZLEVBaEJ5RixPQUFvQjtJQXFCdkgsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakJtWE8sTUFBSyxDaUJuWFcsdUJBQXlDLEdBRXBGO0V5QnFDRCxBekJsQ0EsU3lCa0NTLEF6QmxDUixTQUFTLEV5QmtDVixTQUFTLEF6QmpDUixTQUFTLENBQUM7SUFDVCxLQUFLLEVqQjFCRSxJQUFJO0lpQjJCWCxnQkFBZ0IsRWpCV1YsT0FBTztJaUJWYixZQUFZLEVqQlVOLE9BQU8sR2lCTGQ7RXlCeUJELEF6QnZCQSxTeUJ1QlMsQXpCdkJSLElBQUssQ2tCb1VFLFNBQVMsQ2xCcFVELElBQUssQ3lCSEEsU0FBUyxDekJHQyxPQUFPLEV5QnVCdEMsU0FBUyxBekJ0QlIsSUFBSyxDa0JtVUUsU0FBUyxDbEJuVUQsSUFBSyxDeUJKQSxTQUFTLEN6QklDLE9BQU87RUFDdEMsS0FBSyxHeUJxQkwsU0FBUyxBekJyQkEsZ0JBQWdCLENBQUM7SUFDeEIsS0FBSyxFakJ0Q0UsSUFBSTtJaUJ1Q1gsZ0JBQWdCLEVBekMrSCxPQUF3QjtJQTZDdkssWUFBWSxFQTdDNkssT0FBc0IsR0F1RGhOO0l5QktELEF6QmJFLFN5QmFPLEF6QnZCUixJQUFLLENrQm9VRSxTQUFTLENsQnBVRCxJQUFLLEN5QkhBLFNBQVMsQ3pCR0MsT0FBTyxBQVVuQyxNQUFNLEV5QmFULFNBQVMsQXpCdEJSLElBQUssQ2tCbVVFLFNBQVMsQ2xCblVELElBQUssQ3lCSkEsU0FBUyxDekJJQyxPQUFPLEFBU25DLE1BQU07SUFSVCxLQUFLLEd5QnFCTCxTQUFTLEF6QnJCQSxnQkFBZ0IsQUFRdEIsTUFBTSxDQUFDO01BS0osVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakJvVkssTUFBSyxDaUJwVmEsdUJBQXlDLEdBRXBGOztBeUJNSCxBQUFBLFlBQVksQ0FBRztFekIzRGYsS0FBSyxFakJVSSxPQUFPO0U0QlZkLGdCQUFnQixFNUJvQ1YsT0FBTztFaUJsQ2YsWUFBWSxFakJrQ0osT0FBTyxHMEN5QmQ7RUFGRCxBckNyREEsWXFDcURZLEFyQ3JEWCxNQUFNLENBQUM7SVlBTixLQUFLLEVqQklFLE9BQU87STRCVmQsZ0JBQWdCLEVYRDJDLE9BQXlCO0lBU3BGLFlBQVksRUFUeUYsT0FBb0IsR1pPckc7RXFDcUR0QixBekJoREEsWXlCZ0RZLEF6QmhEWCxNQUFNLEV5QmdEUCxZQUFZLEF6Qi9DWCxNQUFNLENBQUM7SUFDTixLQUFLLEVqQkhFLE9BQU87STRCVmQsZ0JBQWdCLEVYRDJDLE9BQXlCO0lBZ0JwRixZQUFZLEVBaEJ5RixPQUFvQjtJQXFCdkgsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakJtWE8sTUFBSyxDaUJuWFcsdUJBQXlDLEdBRXBGO0V5QnFDRCxBekJsQ0EsWXlCa0NZLEF6QmxDWCxTQUFTLEV5QmtDVixZQUFZLEF6QmpDWCxTQUFTLENBQUM7SUFDVCxLQUFLLEVqQmpCRSxPQUFPO0lpQmtCZCxnQkFBZ0IsRWpCUVYsT0FBTztJaUJQYixZQUFZLEVqQk9OLE9BQU8sR2lCRmQ7RXlCeUJELEF6QnZCQSxZeUJ1QlksQXpCdkJYLElBQUssQ2tCb1VFLFNBQVMsQ2xCcFVELElBQUssQ3lCSEEsU0FBUyxDekJHQyxPQUFPLEV5QnVCdEMsWUFBWSxBekJ0QlgsSUFBSyxDa0JtVUUsU0FBUyxDbEJuVUQsSUFBSyxDeUJKQSxTQUFTLEN6QklDLE9BQU87RUFDdEMsS0FBSyxHeUJxQkwsWUFBWSxBekJyQkgsZ0JBQWdCLENBQUM7SUFDeEIsS0FBSyxFakI3QkUsT0FBTztJaUI4QmQsZ0JBQWdCLEVBekMrSCxPQUF3QjtJQTZDdkssWUFBWSxFQTdDNkssT0FBc0IsR0F1RGhOO0l5QktELEF6QmJFLFl5QmFVLEF6QnZCWCxJQUFLLENrQm9VRSxTQUFTLENsQnBVRCxJQUFLLEN5QkhBLFNBQVMsQ3pCR0MsT0FBTyxBQVVuQyxNQUFNLEV5QmFULFlBQVksQXpCdEJYLElBQUssQ2tCbVVFLFNBQVMsQ2xCblVELElBQUssQ3lCSkEsU0FBUyxDekJJQyxPQUFPLEFBU25DLE1BQU07SUFSVCxLQUFLLEd5QnFCTCxZQUFZLEF6QnJCSCxnQkFBZ0IsQUFRdEIsTUFBTSxDQUFDO01BS0osVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakJvVkssTUFBSyxDaUJwVmEsdUJBQXlDLEdBRXBGOztBeUJNSCxBQUFBLFdBQVcsQ0FBSTtFekIzRGYsS0FBSyxFakJDSSxJQUFJO0U0QkRYLGdCQUFnQixFNUJrQ1YsT0FBTztFaUJoQ2YsWUFBWSxFakJnQ0osT0FBTyxHMEMyQmQ7RUFGRCxBckNyREEsV3FDcURXLEFyQ3JEVixNQUFNLENBQUM7SVlBTixLQUFLLEVqQkxFLElBQUk7STRCRFgsZ0JBQWdCLEVYRDJDLE9BQXlCO0lBU3BGLFlBQVksRUFUeUYsT0FBb0IsR1pPckc7RXFDcUR0QixBekJoREEsV3lCZ0RXLEF6QmhEVixNQUFNLEV5QmdEUCxXQUFXLEF6Qi9DVixNQUFNLENBQUM7SUFDTixLQUFLLEVqQlpFLElBQUk7STRCRFgsZ0JBQWdCLEVYRDJDLE9BQXlCO0lBZ0JwRixZQUFZLEVBaEJ5RixPQUFvQjtJQXFCdkgsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakJtWE8sTUFBSyxDaUJuWFcsc0JBQXlDLEdBRXBGO0V5QnFDRCxBekJsQ0EsV3lCa0NXLEF6QmxDVixTQUFTLEV5QmtDVixXQUFXLEF6QmpDVixTQUFTLENBQUM7SUFDVCxLQUFLLEVqQjFCRSxJQUFJO0lpQjJCWCxnQkFBZ0IsRWpCTVYsT0FBTztJaUJMYixZQUFZLEVqQktOLE9BQU8sR2lCQWQ7RXlCeUJELEF6QnZCQSxXeUJ1QlcsQXpCdkJWLElBQUssQ2tCb1VFLFNBQVMsQ2xCcFVELElBQUssQ3lCSEEsU0FBUyxDekJHQyxPQUFPLEV5QnVCdEMsV0FBVyxBekJ0QlYsSUFBSyxDa0JtVUUsU0FBUyxDbEJuVUQsSUFBSyxDeUJKQSxTQUFTLEN6QklDLE9BQU87RUFDdEMsS0FBSyxHeUJxQkwsV0FBVyxBekJyQkYsZ0JBQWdCLENBQUM7SUFDeEIsS0FBSyxFakJ0Q0UsSUFBSTtJaUJ1Q1gsZ0JBQWdCLEVBekMrSCxPQUF3QjtJQTZDdkssWUFBWSxFQTdDNkssT0FBc0IsR0F1RGhOO0l5QktELEF6QmJFLFd5QmFTLEF6QnZCVixJQUFLLENrQm9VRSxTQUFTLENsQnBVRCxJQUFLLEN5QkhBLFNBQVMsQ3pCR0MsT0FBTyxBQVVuQyxNQUFNLEV5QmFULFdBQVcsQXpCdEJWLElBQUssQ2tCbVVFLFNBQVMsQ2xCblVELElBQUssQ3lCSkEsU0FBUyxDekJJQyxPQUFPLEFBU25DLE1BQU07SUFSVCxLQUFLLEd5QnFCTCxXQUFXLEF6QnJCRixnQkFBZ0IsQUFRdEIsTUFBTSxDQUFDO01BS0osVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakJvVkssTUFBSyxDaUJwVmEsc0JBQXlDLEdBRXBGOztBeUJNSCxBQUFBLFVBQVUsQ0FBSztFekIzRGYsS0FBSyxFakJVSSxPQUFPO0U0QlZkLGdCQUFnQixFNUJFVCxPQUFPO0VpQkFoQixZQUFZLEVqQkFILE9BQU8sRzBDMkRmO0VBRkQsQXJDckRBLFVxQ3FEVSxBckNyRFQsTUFBTSxDQUFDO0lZQU4sS0FBSyxFakJJRSxPQUFPO0k0QlZkLGdCQUFnQixFWEQyQyxPQUF5QjtJQVNwRixZQUFZLEVBVHlGLE9BQW9CLEdaT3JHO0VxQ3FEdEIsQXpCaERBLFV5QmdEVSxBekJoRFQsTUFBTSxFeUJnRFAsVUFBVSxBekIvQ1QsTUFBTSxDQUFDO0lBQ04sS0FBSyxFakJIRSxPQUFPO0k0QlZkLGdCQUFnQixFWEQyQyxPQUF5QjtJQWdCcEYsWUFBWSxFQWhCeUYsT0FBb0I7SUFxQnZILFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pCbVhPLE1BQUssQ2lCblhXLHdCQUF5QyxHQUVwRjtFeUJxQ0QsQXpCbENBLFV5QmtDVSxBekJsQ1QsU0FBUyxFeUJrQ1YsVUFBVSxBekJqQ1QsU0FBUyxDQUFDO0lBQ1QsS0FBSyxFakJqQkUsT0FBTztJaUJrQmQsZ0JBQWdCLEVqQjFCVCxPQUFPO0lpQjJCZCxZQUFZLEVqQjNCTCxPQUFPLEdpQmdDZjtFeUJ5QkQsQXpCdkJBLFV5QnVCVSxBekJ2QlQsSUFBSyxDa0JvVUUsU0FBUyxDbEJwVUQsSUFBSyxDeUJIQSxTQUFTLEN6QkdDLE9BQU8sRXlCdUJ0QyxVQUFVLEF6QnRCVCxJQUFLLENrQm1VRSxTQUFTLENsQm5VRCxJQUFLLEN5QkpBLFNBQVMsQ3pCSUMsT0FBTztFQUN0QyxLQUFLLEd5QnFCTCxVQUFVLEF6QnJCRCxnQkFBZ0IsQ0FBQztJQUN4QixLQUFLLEVqQjdCRSxPQUFPO0lpQjhCZCxnQkFBZ0IsRUF6QytILE9BQXdCO0lBNkN2SyxZQUFZLEVBN0M2SyxPQUFzQixHQXVEaE47SXlCS0QsQXpCYkUsVXlCYVEsQXpCdkJULElBQUssQ2tCb1VFLFNBQVMsQ2xCcFVELElBQUssQ3lCSEEsU0FBUyxDekJHQyxPQUFPLEFBVW5DLE1BQU0sRXlCYVQsVUFBVSxBekJ0QlQsSUFBSyxDa0JtVUUsU0FBUyxDbEJuVUQsSUFBSyxDeUJKQSxTQUFTLEN6QklDLE9BQU8sQUFTbkMsTUFBTTtJQVJULEtBQUssR3lCcUJMLFVBQVUsQXpCckJELGdCQUFnQixBQVF0QixNQUFNLENBQUM7TUFLSixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENqQm9WSyxNQUFLLENpQnBWYSx3QkFBeUMsR0FFcEY7O0F5Qk1ILEFBQUEsU0FBUyxDQUFNO0V6QjNEZixLQUFLLEVqQkNJLElBQUk7RTRCRFgsZ0JBQWdCLEU1QlNULE9BQU87RWlCUGhCLFlBQVksRWpCT0gsT0FBTyxHMENvRGY7RUFGRCxBckNyREEsU3FDcURTLEFyQ3JEUixNQUFNLENBQUM7SVlBTixLQUFLLEVqQkxFLElBQUk7STRCRFgsZ0JBQWdCLEVYRDJDLE9BQXlCO0lBU3BGLFlBQVksRUFUeUYsT0FBb0IsR1pPckc7RXFDcUR0QixBekJoREEsU3lCZ0RTLEF6QmhEUixNQUFNLEV5QmdEUCxTQUFTLEF6Qi9DUixNQUFNLENBQUM7SUFDTixLQUFLLEVqQlpFLElBQUk7STRCRFgsZ0JBQWdCLEVYRDJDLE9BQXlCO0lBZ0JwRixZQUFZLEVBaEJ5RixPQUFvQjtJQXFCdkgsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakJtWE8sTUFBSyxDaUJuWFcscUJBQXlDLEdBRXBGO0V5QnFDRCxBekJsQ0EsU3lCa0NTLEF6QmxDUixTQUFTLEV5QmtDVixTQUFTLEF6QmpDUixTQUFTLENBQUM7SUFDVCxLQUFLLEVqQjFCRSxJQUFJO0lpQjJCWCxnQkFBZ0IsRWpCbkJULE9BQU87SWlCb0JkLFlBQVksRWpCcEJMLE9BQU8sR2lCeUJmO0V5QnlCRCxBekJ2QkEsU3lCdUJTLEF6QnZCUixJQUFLLENrQm9VRSxTQUFTLENsQnBVRCxJQUFLLEN5QkhBLFNBQVMsQ3pCR0MsT0FBTyxFeUJ1QnRDLFNBQVMsQXpCdEJSLElBQUssQ2tCbVVFLFNBQVMsQ2xCblVELElBQUssQ3lCSkEsU0FBUyxDekJJQyxPQUFPO0VBQ3RDLEtBQUssR3lCcUJMLFNBQVMsQXpCckJBLGdCQUFnQixDQUFDO0lBQ3hCLEtBQUssRWpCdENFLElBQUk7SWlCdUNYLGdCQUFnQixFQXpDK0gsT0FBd0I7SUE2Q3ZLLFlBQVksRUE3QzZLLE9BQXNCLEdBdURoTjtJeUJLRCxBekJiRSxTeUJhTyxBekJ2QlIsSUFBSyxDa0JvVUUsU0FBUyxDbEJwVUQsSUFBSyxDeUJIQSxTQUFTLEN6QkdDLE9BQU8sQUFVbkMsTUFBTSxFeUJhVCxTQUFTLEF6QnRCUixJQUFLLENrQm1VRSxTQUFTLENsQm5VRCxJQUFLLEN5QkpBLFNBQVMsQ3pCSUMsT0FBTyxBQVNuQyxNQUFNO0lBUlQsS0FBSyxHeUJxQkwsU0FBUyxBekJyQkEsZ0JBQWdCLEFBUXRCLE1BQU0sQ0FBQztNQUtKLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pCb1ZLLE1BQUssQ2lCcFZhLHFCQUF5QyxHQUVwRjs7QXlCWUgsQUFBQSxvQkFBb0IsQ0FBRztFekJQdkIsS0FBSyxFakI1QkcsT0FBTztFaUI2QmYsWUFBWSxFakI3QkosT0FBTyxHMENxQ2Q7RUFGRCxBckMzREEsb0JxQzJEb0IsQXJDM0RuQixNQUFNLENBQUM7SVl3RE4sS0FBSyxFakI3REUsSUFBSTtJaUI4RFgsZ0JBQWdCLEVqQmpDVixPQUFPO0lpQmtDYixZQUFZLEVqQmxDTixPQUFPLEdLeEJPO0VxQzJEdEIsQXpCRUEsb0J5QkZvQixBekJFbkIsTUFBTSxFeUJGUCxvQkFBb0IsQXpCR25CLE1BQU0sQ0FBQztJQUNOLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pCa1VTLE1BQUssQ0F6V3pCLHNCQUFPLEdpQndDZDtFeUJMRCxBekJPQSxvQnlCUG9CLEF6Qk9uQixTQUFTLEV5QlBWLG9CQUFvQixBekJRbkIsU0FBUyxDQUFDO0lBQ1QsS0FBSyxFakI1Q0MsT0FBTztJaUI2Q2IsZ0JBQWdCLEVBQUUsV0FBVyxHQUM5QjtFeUJYRCxBekJhQSxvQnlCYm9CLEF6QmFuQixJQUFLLENrQjBSRSxTQUFTLENsQjFSRCxJQUFLLEN5QjdDQSxTQUFTLEN6QjZDQyxPQUFPLEV5QmJ0QyxvQkFBb0IsQXpCY25CLElBQUssQ2tCeVJFLFNBQVMsQ2xCelJELElBQUssQ3lCOUNBLFNBQVMsQ3pCOENDLE9BQU87RUFDdEMsS0FBSyxHeUJmTCxvQkFBb0IsQXpCZVgsZ0JBQWdCLENBQUM7SUFDeEIsS0FBSyxFakJoRkUsSUFBSTtJaUJpRlgsZ0JBQWdCLEVqQnBEVixPQUFPO0lpQnFEYixZQUFZLEVqQnJETixPQUFPLEdpQitEZDtJeUI1QkQsQXpCb0JFLG9CeUJwQmtCLEF6QmFuQixJQUFLLENrQjBSRSxTQUFTLENsQjFSRCxJQUFLLEN5QjdDQSxTQUFTLEN6QjZDQyxPQUFPLEFBT25DLE1BQU0sRXlCcEJULG9CQUFvQixBekJjbkIsSUFBSyxDa0J5UkUsU0FBUyxDbEJ6UkQsSUFBSyxDeUI5Q0EsU0FBUyxDekI4Q0MsT0FBTyxBQU1uQyxNQUFNO0lBTFQsS0FBSyxHeUJmTCxvQkFBb0IsQXpCZVgsZ0JBQWdCLEFBS3RCLE1BQU0sQ0FBQztNQUtKLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pCNlNLLE1BQUssQ0F6V3pCLHNCQUFPLEdpQjhEWjs7QXlCM0JILEFBQUEsc0JBQXNCLENBQUM7RXpCUHZCLEtBQUssRWpCbkRJLE9BQU87RWlCb0RoQixZQUFZLEVqQnBESCxPQUFPLEcwQzREZjtFQUZELEFyQzNEQSxzQnFDMkRzQixBckMzRHJCLE1BQU0sQ0FBQztJWXdETixLQUFLLEVqQjdERSxJQUFJO0lpQjhEWCxnQkFBZ0IsRWpCeERULE9BQU87SWlCeURkLFlBQVksRWpCekRMLE9BQU8sR0tETTtFcUMyRHRCLEF6QkVBLHNCeUJGc0IsQXpCRXJCLE1BQU0sRXlCRlAsc0JBQXNCLEF6QkdyQixNQUFNLENBQUM7SUFDTixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENqQmtVUyxNQUFLLENBaFl4Qix3QkFBTyxHaUIrRGY7RXlCTEQsQXpCT0Esc0J5QlBzQixBekJPckIsU0FBUyxFeUJQVixzQkFBc0IsQXpCUXJCLFNBQVMsQ0FBQztJQUNULEtBQUssRWpCbkVFLE9BQU87SWlCb0VkLGdCQUFnQixFQUFFLFdBQVcsR0FDOUI7RXlCWEQsQXpCYUEsc0J5QmJzQixBekJhckIsSUFBSyxDa0IwUkUsU0FBUyxDbEIxUkQsSUFBSyxDeUI3Q0EsU0FBUyxDekI2Q0MsT0FBTyxFeUJidEMsc0JBQXNCLEF6QmNyQixJQUFLLENrQnlSRSxTQUFTLENsQnpSRCxJQUFLLEN5QjlDQSxTQUFTLEN6QjhDQyxPQUFPO0VBQ3RDLEtBQUssR3lCZkwsc0JBQXNCLEF6QmViLGdCQUFnQixDQUFDO0lBQ3hCLEtBQUssRWpCaEZFLElBQUk7SWlCaUZYLGdCQUFnQixFakIzRVQsT0FBTztJaUI0RWQsWUFBWSxFakI1RUwsT0FBTyxHaUJzRmY7SXlCNUJELEF6Qm9CRSxzQnlCcEJvQixBekJhckIsSUFBSyxDa0IwUkUsU0FBUyxDbEIxUkQsSUFBSyxDeUI3Q0EsU0FBUyxDekI2Q0MsT0FBTyxBQU9uQyxNQUFNLEV5QnBCVCxzQkFBc0IsQXpCY3JCLElBQUssQ2tCeVJFLFNBQVMsQ2xCelJELElBQUssQ3lCOUNBLFNBQVMsQ3pCOENDLE9BQU8sQUFNbkMsTUFBTTtJQUxULEtBQUssR3lCZkwsc0JBQXNCLEF6QmViLGdCQUFnQixBQUt0QixNQUFNLENBQUM7TUFLSixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENqQjZTSyxNQUFLLENBaFl4Qix3QkFBTyxHaUJxRmI7O0F5QjNCSCxBQUFBLG9CQUFvQixDQUFHO0V6QlB2QixLQUFLLEVqQnJCRyxPQUFPO0VpQnNCZixZQUFZLEVqQnRCSixPQUFPLEcwQzhCZDtFQUZELEFyQzNEQSxvQnFDMkRvQixBckMzRG5CLE1BQU0sQ0FBQztJWXdETixLQUFLLEVqQjdERSxJQUFJO0lpQjhEWCxnQkFBZ0IsRWpCMUJWLE9BQU87SWlCMkJiLFlBQVksRWpCM0JOLE9BQU8sR0svQk87RXFDMkR0QixBekJFQSxvQnlCRm9CLEF6QkVuQixNQUFNLEV5QkZQLG9CQUFvQixBekJHbkIsTUFBTSxDQUFDO0lBQ04sVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakJrVVMsTUFBSyxDQWxXekIsc0JBQU8sR2lCaUNkO0V5QkxELEF6Qk9BLG9CeUJQb0IsQXpCT25CLFNBQVMsRXlCUFYsb0JBQW9CLEF6QlFuQixTQUFTLENBQUM7SUFDVCxLQUFLLEVqQnJDQyxPQUFPO0lpQnNDYixnQkFBZ0IsRUFBRSxXQUFXLEdBQzlCO0V5QlhELEF6QmFBLG9CeUJib0IsQXpCYW5CLElBQUssQ2tCMFJFLFNBQVMsQ2xCMVJELElBQUssQ3lCN0NBLFNBQVMsQ3pCNkNDLE9BQU8sRXlCYnRDLG9CQUFvQixBekJjbkIsSUFBSyxDa0J5UkUsU0FBUyxDbEJ6UkQsSUFBSyxDeUI5Q0EsU0FBUyxDekI4Q0MsT0FBTztFQUN0QyxLQUFLLEd5QmZMLG9CQUFvQixBekJlWCxnQkFBZ0IsQ0FBQztJQUN4QixLQUFLLEVqQmhGRSxJQUFJO0lpQmlGWCxnQkFBZ0IsRWpCN0NWLE9BQU87SWlCOENiLFlBQVksRWpCOUNOLE9BQU8sR2lCd0RkO0l5QjVCRCxBekJvQkUsb0J5QnBCa0IsQXpCYW5CLElBQUssQ2tCMFJFLFNBQVMsQ2xCMVJELElBQUssQ3lCN0NBLFNBQVMsQ3pCNkNDLE9BQU8sQUFPbkMsTUFBTSxFeUJwQlQsb0JBQW9CLEF6QmNuQixJQUFLLENrQnlSRSxTQUFTLENsQnpSRCxJQUFLLEN5QjlDQSxTQUFTLEN6QjhDQyxPQUFPLEFBTW5DLE1BQU07SUFMVCxLQUFLLEd5QmZMLG9CQUFvQixBekJlWCxnQkFBZ0IsQUFLdEIsTUFBTSxDQUFDO01BS0osVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakI2U0ssTUFBSyxDQWxXekIsc0JBQU8sR2lCdURaOztBeUIzQkgsQUFBQSxpQkFBaUIsQ0FBTTtFekJQdkIsS0FBSyxFakJuQkcsT0FBTztFaUJvQmYsWUFBWSxFakJwQkosT0FBTyxHMEM0QmQ7RUFGRCxBckMzREEsaUJxQzJEaUIsQXJDM0RoQixNQUFNLENBQUM7SVl3RE4sS0FBSyxFakI3REUsSUFBSTtJaUI4RFgsZ0JBQWdCLEVqQnhCVixPQUFPO0lpQnlCYixZQUFZLEVqQnpCTixPQUFPLEdLakNPO0VxQzJEdEIsQXpCRUEsaUJ5QkZpQixBekJFaEIsTUFBTSxFeUJGUCxpQkFBaUIsQXpCR2hCLE1BQU0sQ0FBQztJQUNOLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pCa1VTLE1BQUssQ0FoV3pCLHVCQUFPLEdpQitCZDtFeUJMRCxBekJPQSxpQnlCUGlCLEF6Qk9oQixTQUFTLEV5QlBWLGlCQUFpQixBekJRaEIsU0FBUyxDQUFDO0lBQ1QsS0FBSyxFakJuQ0MsT0FBTztJaUJvQ2IsZ0JBQWdCLEVBQUUsV0FBVyxHQUM5QjtFeUJYRCxBekJhQSxpQnlCYmlCLEF6QmFoQixJQUFLLENrQjBSRSxTQUFTLENsQjFSRCxJQUFLLEN5QjdDQSxTQUFTLEN6QjZDQyxPQUFPLEV5QmJ0QyxpQkFBaUIsQXpCY2hCLElBQUssQ2tCeVJFLFNBQVMsQ2xCelJELElBQUssQ3lCOUNBLFNBQVMsQ3pCOENDLE9BQU87RUFDdEMsS0FBSyxHeUJmTCxpQkFBaUIsQXpCZVIsZ0JBQWdCLENBQUM7SUFDeEIsS0FBSyxFakJoRkUsSUFBSTtJaUJpRlgsZ0JBQWdCLEVqQjNDVixPQUFPO0lpQjRDYixZQUFZLEVqQjVDTixPQUFPLEdpQnNEZDtJeUI1QkQsQXpCb0JFLGlCeUJwQmUsQXpCYWhCLElBQUssQ2tCMFJFLFNBQVMsQ2xCMVJELElBQUssQ3lCN0NBLFNBQVMsQ3pCNkNDLE9BQU8sQUFPbkMsTUFBTSxFeUJwQlQsaUJBQWlCLEF6QmNoQixJQUFLLENrQnlSRSxTQUFTLENsQnpSRCxJQUFLLEN5QjlDQSxTQUFTLEN6QjhDQyxPQUFPLEFBTW5DLE1BQU07SUFMVCxLQUFLLEd5QmZMLGlCQUFpQixBekJlUixnQkFBZ0IsQUFLdEIsTUFBTSxDQUFDO01BS0osVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakI2U0ssTUFBSyxDQWhXekIsdUJBQU8sR2lCcURaOztBeUIzQkgsQUFBQSxvQkFBb0IsQ0FBRztFekJQdkIsS0FBSyxFakJ0QkcsT0FBTztFaUJ1QmYsWUFBWSxFakJ2QkosT0FBTyxHMEMrQmQ7RUFGRCxBckMzREEsb0JxQzJEb0IsQXJDM0RuQixNQUFNLENBQUM7SVl3RE4sS0FBSyxFakJwREUsT0FBTztJaUJxRGQsZ0JBQWdCLEVqQjNCVixPQUFPO0lpQjRCYixZQUFZLEVqQjVCTixPQUFPLEdLOUJPO0VxQzJEdEIsQXpCRUEsb0J5QkZvQixBekJFbkIsTUFBTSxFeUJGUCxvQkFBb0IsQXpCR25CLE1BQU0sQ0FBQztJQUNOLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pCa1VTLE1BQUssQ0FuV3pCLHNCQUFPLEdpQmtDZDtFeUJMRCxBekJPQSxvQnlCUG9CLEF6Qk9uQixTQUFTLEV5QlBWLG9CQUFvQixBekJRbkIsU0FBUyxDQUFDO0lBQ1QsS0FBSyxFakJ0Q0MsT0FBTztJaUJ1Q2IsZ0JBQWdCLEVBQUUsV0FBVyxHQUM5QjtFeUJYRCxBekJhQSxvQnlCYm9CLEF6QmFuQixJQUFLLENrQjBSRSxTQUFTLENsQjFSRCxJQUFLLEN5QjdDQSxTQUFTLEN6QjZDQyxPQUFPLEV5QmJ0QyxvQkFBb0IsQXpCY25CLElBQUssQ2tCeVJFLFNBQVMsQ2xCelJELElBQUssQ3lCOUNBLFNBQVMsQ3pCOENDLE9BQU87RUFDdEMsS0FBSyxHeUJmTCxvQkFBb0IsQXpCZVgsZ0JBQWdCLENBQUM7SUFDeEIsS0FBSyxFakJ2RUUsT0FBTztJaUJ3RWQsZ0JBQWdCLEVqQjlDVixPQUFPO0lpQitDYixZQUFZLEVqQi9DTixPQUFPLEdpQnlEZDtJeUI1QkQsQXpCb0JFLG9CeUJwQmtCLEF6QmFuQixJQUFLLENrQjBSRSxTQUFTLENsQjFSRCxJQUFLLEN5QjdDQSxTQUFTLEN6QjZDQyxPQUFPLEFBT25DLE1BQU0sRXlCcEJULG9CQUFvQixBekJjbkIsSUFBSyxDa0J5UkUsU0FBUyxDbEJ6UkQsSUFBSyxDeUI5Q0EsU0FBUyxDekI4Q0MsT0FBTyxBQU1uQyxNQUFNO0lBTFQsS0FBSyxHeUJmTCxvQkFBb0IsQXpCZVgsZ0JBQWdCLEFBS3RCLE1BQU0sQ0FBQztNQUtKLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pCNlNLLE1BQUssQ0FuV3pCLHNCQUFPLEdpQndEWjs7QXlCM0JILEFBQUEsbUJBQW1CLENBQUk7RXpCUHZCLEtBQUssRWpCeEJHLE9BQU87RWlCeUJmLFlBQVksRWpCekJKLE9BQU8sRzBDaUNkO0VBRkQsQXJDM0RBLG1CcUMyRG1CLEFyQzNEbEIsTUFBTSxDQUFDO0lZd0ROLEtBQUssRWpCN0RFLElBQUk7SWlCOERYLGdCQUFnQixFakI3QlYsT0FBTztJaUI4QmIsWUFBWSxFakI5Qk4sT0FBTyxHSzVCTztFcUMyRHRCLEF6QkVBLG1CeUJGbUIsQXpCRWxCLE1BQU0sRXlCRlAsbUJBQW1CLEF6QkdsQixNQUFNLENBQUM7SUFDTixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENqQmtVUyxNQUFLLENBcld6QixzQkFBTyxHaUJvQ2Q7RXlCTEQsQXpCT0EsbUJ5QlBtQixBekJPbEIsU0FBUyxFeUJQVixtQkFBbUIsQXpCUWxCLFNBQVMsQ0FBQztJQUNULEtBQUssRWpCeENDLE9BQU87SWlCeUNiLGdCQUFnQixFQUFFLFdBQVcsR0FDOUI7RXlCWEQsQXpCYUEsbUJ5QmJtQixBekJhbEIsSUFBSyxDa0IwUkUsU0FBUyxDbEIxUkQsSUFBSyxDeUI3Q0EsU0FBUyxDekI2Q0MsT0FBTyxFeUJidEMsbUJBQW1CLEF6QmNsQixJQUFLLENrQnlSRSxTQUFTLENsQnpSRCxJQUFLLEN5QjlDQSxTQUFTLEN6QjhDQyxPQUFPO0VBQ3RDLEtBQUssR3lCZkwsbUJBQW1CLEF6QmVWLGdCQUFnQixDQUFDO0lBQ3hCLEtBQUssRWpCaEZFLElBQUk7SWlCaUZYLGdCQUFnQixFakJoRFYsT0FBTztJaUJpRGIsWUFBWSxFakJqRE4sT0FBTyxHaUIyRGQ7SXlCNUJELEF6Qm9CRSxtQnlCcEJpQixBekJhbEIsSUFBSyxDa0IwUkUsU0FBUyxDbEIxUkQsSUFBSyxDeUI3Q0EsU0FBUyxDekI2Q0MsT0FBTyxBQU9uQyxNQUFNLEV5QnBCVCxtQkFBbUIsQXpCY2xCLElBQUssQ2tCeVJFLFNBQVMsQ2xCelJELElBQUssQ3lCOUNBLFNBQVMsQ3pCOENDLE9BQU8sQUFNbkMsTUFBTTtJQUxULEtBQUssR3lCZkwsbUJBQW1CLEF6QmVWLGdCQUFnQixBQUt0QixNQUFNLENBQUM7TUFLSixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENqQjZTSyxNQUFLLENBcld6QixzQkFBTyxHaUIwRFo7O0F5QjNCSCxBQUFBLGtCQUFrQixDQUFLO0V6QlB2QixLQUFLLEVqQnhESSxPQUFPO0VpQnlEaEIsWUFBWSxFakJ6REgsT0FBTyxHMENpRWY7RUFGRCxBckMzREEsa0JxQzJEa0IsQXJDM0RqQixNQUFNLENBQUM7SVl3RE4sS0FBSyxFakJwREUsT0FBTztJaUJxRGQsZ0JBQWdCLEVqQjdEVCxPQUFPO0lpQjhEZCxZQUFZLEVqQjlETCxPQUFPLEdLSU07RXFDMkR0QixBekJFQSxrQnlCRmtCLEF6QkVqQixNQUFNLEV5QkZQLGtCQUFrQixBekJHakIsTUFBTSxDQUFDO0lBQ04sVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakJrVVMsTUFBSyxDQXJZeEIsd0JBQU8sR2lCb0VmO0V5QkxELEF6Qk9BLGtCeUJQa0IsQXpCT2pCLFNBQVMsRXlCUFYsa0JBQWtCLEF6QlFqQixTQUFTLENBQUM7SUFDVCxLQUFLLEVqQnhFRSxPQUFPO0lpQnlFZCxnQkFBZ0IsRUFBRSxXQUFXLEdBQzlCO0V5QlhELEF6QmFBLGtCeUJia0IsQXpCYWpCLElBQUssQ2tCMFJFLFNBQVMsQ2xCMVJELElBQUssQ3lCN0NBLFNBQVMsQ3pCNkNDLE9BQU8sRXlCYnRDLGtCQUFrQixBekJjakIsSUFBSyxDa0J5UkUsU0FBUyxDbEJ6UkQsSUFBSyxDeUI5Q0EsU0FBUyxDekI4Q0MsT0FBTztFQUN0QyxLQUFLLEd5QmZMLGtCQUFrQixBekJlVCxnQkFBZ0IsQ0FBQztJQUN4QixLQUFLLEVqQnZFRSxPQUFPO0lpQndFZCxnQkFBZ0IsRWpCaEZULE9BQU87SWlCaUZkLFlBQVksRWpCakZMLE9BQU8sR2lCMkZmO0l5QjVCRCxBekJvQkUsa0J5QnBCZ0IsQXpCYWpCLElBQUssQ2tCMFJFLFNBQVMsQ2xCMVJELElBQUssQ3lCN0NBLFNBQVMsQ3pCNkNDLE9BQU8sQUFPbkMsTUFBTSxFeUJwQlQsa0JBQWtCLEF6QmNqQixJQUFLLENrQnlSRSxTQUFTLENsQnpSRCxJQUFLLEN5QjlDQSxTQUFTLEN6QjhDQyxPQUFPLEFBTW5DLE1BQU07SUFMVCxLQUFLLEd5QmZMLGtCQUFrQixBekJlVCxnQkFBZ0IsQUFLdEIsTUFBTSxDQUFDO01BS0osVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakI2U0ssTUFBSyxDQXJZeEIsd0JBQU8sR2lCMEZiOztBeUIzQkgsQUFBQSxpQkFBaUIsQ0FBTTtFekJQdkIsS0FBSyxFakJqREksT0FBTztFaUJrRGhCLFlBQVksRWpCbERILE9BQU8sRzBDMERmO0VBRkQsQXJDM0RBLGlCcUMyRGlCLEFyQzNEaEIsTUFBTSxDQUFDO0lZd0ROLEtBQUssRWpCN0RFLElBQUk7SWlCOERYLGdCQUFnQixFakJ0RFQsT0FBTztJaUJ1RGQsWUFBWSxFakJ2REwsT0FBTyxHS0hNO0VxQzJEdEIsQXpCRUEsaUJ5QkZpQixBekJFaEIsTUFBTSxFeUJGUCxpQkFBaUIsQXpCR2hCLE1BQU0sQ0FBQztJQUNOLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pCa1VTLE1BQUssQ0E5WHhCLHFCQUFPLEdpQjZEZjtFeUJMRCxBekJPQSxpQnlCUGlCLEF6Qk9oQixTQUFTLEV5QlBWLGlCQUFpQixBekJRaEIsU0FBUyxDQUFDO0lBQ1QsS0FBSyxFakJqRUUsT0FBTztJaUJrRWQsZ0JBQWdCLEVBQUUsV0FBVyxHQUM5QjtFeUJYRCxBekJhQSxpQnlCYmlCLEF6QmFoQixJQUFLLENrQjBSRSxTQUFTLENsQjFSRCxJQUFLLEN5QjdDQSxTQUFTLEN6QjZDQyxPQUFPLEV5QmJ0QyxpQkFBaUIsQXpCY2hCLElBQUssQ2tCeVJFLFNBQVMsQ2xCelJELElBQUssQ3lCOUNBLFNBQVMsQ3pCOENDLE9BQU87RUFDdEMsS0FBSyxHeUJmTCxpQkFBaUIsQXpCZVIsZ0JBQWdCLENBQUM7SUFDeEIsS0FBSyxFakJoRkUsSUFBSTtJaUJpRlgsZ0JBQWdCLEVqQnpFVCxPQUFPO0lpQjBFZCxZQUFZLEVqQjFFTCxPQUFPLEdpQm9GZjtJeUI1QkQsQXpCb0JFLGlCeUJwQmUsQXpCYWhCLElBQUssQ2tCMFJFLFNBQVMsQ2xCMVJELElBQUssQ3lCN0NBLFNBQVMsQ3pCNkNDLE9BQU8sQUFPbkMsTUFBTSxFeUJwQlQsaUJBQWlCLEF6QmNoQixJQUFLLENrQnlSRSxTQUFTLENsQnpSRCxJQUFLLEN5QjlDQSxTQUFTLEN6QjhDQyxPQUFPLEFBTW5DLE1BQU07SUFMVCxLQUFLLEd5QmZMLGlCQUFpQixBekJlUixnQkFBZ0IsQUFLdEIsTUFBTSxDQUFDO01BS0osVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakI2U0ssTUFBSyxDQTlYeEIscUJBQU8sR2lCbUZiOztBeUJoQkwsQUFBQSxTQUFTLENBQUM7RUFDUixXQUFXLEUxQ2tOaUIsR0FBRztFMENqTi9CLEtBQUssRTFDaERHLE9BQU87RTBDaURmLGVBQWUsRTFDZ0d5QixJQUFJLEcwQzdFN0M7RUF0QkQsQXJDdEVFLFNxQ3NFTyxBckN0RU4sTUFBTSxDQUFDO0lxQzRFTixLQUFLLEUxQzhGaUMsT0FBd0I7STBDN0Y5RCxlQUFlLEUxQzhGdUIsU0FBUyxHSzNLM0I7RXFDc0V4QixBQVVFLFNBVk8sQUFVTixNQUFNLEVBVlQsU0FBUyxBQVdOLE1BQU0sQ0FBQztJQUNOLGVBQWUsRTFDeUZ1QixTQUFTLEcwQ3hGaEQ7RUFiSCxBQWVFLFNBZk8sQUFlTixTQUFTLEVBZlosU0FBUyxBQWdCTixTQUFTLENBQUM7SUFDVCxLQUFLLEUxQ3RGRSxPQUFPO0kwQ3VGZCxjQUFjLEVBQUUsSUFBSSxHQUNyQjs7QUFVSCxBQUFBLE9BQU8sRUdsRFAsYUFBYSxHQUFHLElBQUksQ0hrRFo7RXpCUE4sT0FBTyxFakI4U3FCLE1BQUssQ0FDTCxJQUFJO0VFeFI1QixTQUFTLEVBdENFLE9BQUM7RWVpQmhCLFdBQVcsRWpCb0lpQixHQUFHO0UwQjVON0IsYUFBYSxFMUJtT2EsTUFBSyxHMENwSWxDOztBQUVELEFBQUEsT0FBTyxFR3ZEUCxhQUFhLEdBQUcsSUFBSSxDSHVEWjtFekJYTixPQUFPLEVqQnlTcUIsT0FBTSxDQUNOLE1BQUs7RUVuUjdCLFNBQVMsRUF0Q0UsUUFBQztFZWlCaEIsV0FBVyxFakJxSWlCLEdBQUc7RTBCN043QixhQUFhLEUxQm9PYSxNQUFLLEcwQ2pJbEM7O0FBT0QsQUFBQSxVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJLEdBTVo7RUFSRCxBQUtFLFVBTFEsR0FLTixVQUFVLENBQUM7SUFDWCxVQUFVLEUxQzRUZ0IsTUFBSyxHMEMzVGhDOztBQUlILEFBR0UsS0FIRyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUdILFVBQVU7QUFGYixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBRUgsVUFBVTtBQURiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FDSCxVQUFVLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQzVJSCxBQUFBLEtBQUssQ0FBQztFZGdCQSxVQUFVLEU3QnNQYyxPQUFPLENBQUMsS0FBSSxDQUFDLE1BQU0sRzJDaFFoRDtFZGNLLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNO0ljcEI1QyxBQUFBLEtBQUssQ0FBQztNZHFCRSxVQUFVLEVBQUUsSUFBSSxHY2Z2QjtFQU5ELEFBR0UsS0FIRyxBQUdGLElBQUssQ0FBQSxLQUFLLEVBQUU7SUFDWCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUdILEFBQ0UsU0FETyxBQUNOLElBQUssQ0FOQSxLQUFLLEVBTUU7RUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUdILEFBQUEsV0FBVyxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLENBQUM7RUFDVCxRQUFRLEVBQUUsTUFBTTtFZERaLFVBQVUsRTdCdVBjLE1BQU0sQ0FBQyxLQUFJLENBQUMsSUFBSSxHMkNwUDdDO0VkQ0ssTUFBTSxFQUFFLHNCQUFzQixFQUFFLE1BQU07SWNONUMsQUFBQSxXQUFXLENBQUM7TWRPSixVQUFVLEVBQUUsSUFBSSxHY0Z2Qjs7QUNsQkQsQUFBQSxPQUFPO0FBQ1AsVUFBVTtBQUNWLFNBQVM7QUFDVCxTQUFTLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUSxHQUNuQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsV0FBVyxFQUFFLE1BQU0sR0FJcEI7RUFMRCxBMUJxQkksZ0IwQnJCWSxBMUJxQlgsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLFlBQVk7SUFDckIsV0FBVyxFbEJvT2EsT0FBa0I7SWtCbk8xQyxjQUFjLEVsQmtPVSxPQUFrQjtJa0JqTzFDLE9BQU8sRUFBRSxFQUFFO0lBaENmLFVBQVUsRWxCZ1FrQixLQUFJLENrQmhRUCxLQUFLO0lBQzlCLFlBQVksRWxCK1BnQixLQUFJLENrQi9QTCxLQUFLLENBQUMsV0FBVztJQUM1QyxhQUFhLEVBQUUsQ0FBQztJQUNoQixXQUFXLEVsQjZQaUIsS0FBSSxDa0I3UE4sS0FBSyxDQUFDLFdBQVcsR0FxQ3hDO0UwQmpDTCxBMUJpREksZ0IwQmpEWSxBMUJpRFgsTUFBTSxBQUFBLE9BQU8sQ0FBQztJQUNiLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0EwQjNDTCxBQUFBLGNBQWMsQ0FBQztFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPLEU1QzhwQjJCLElBQUk7RTRDN3BCdEMsT0FBTyxFQUFFLElBQUk7RUFDYixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRTVDb3VCeUIsS0FBSztFNENudUJ2QyxPQUFPLEU1Q291QjJCLE1BQUssQzRDcHVCVixDQUFDO0VBQzlCLE1BQU0sRTVDb3VCNEIsUUFBTyxDNENwdUJoQixDQUFDLENBQUMsQ0FBQztFMUNzR3hCLFNBQVMsRUF0Q0UsSUFBQztFMEM5RGhCLEtBQUssRTVDWEksT0FBTztFNENZaEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsZ0JBQWdCLEU1Q3ZCUCxJQUFJO0U0Q3dCYixlQUFlLEVBQUUsV0FBVztFQUM1QixNQUFNLEU1Q2lOc0IsR0FBRyxDNENqTkEsS0FBSyxDNUNmM0IsbUJBQUk7RTBCQ1gsYUFBYSxFMUJrT2EsT0FBTSxHNENqTm5DOztBQU1HLEFBQUEsbUJBQW1CLENBQVU7RUFDM0IsS0FBSyxFQUFFLElBQUk7RUFDWCxJQUFJLEVBQUUsQ0FBQyxHQUNSOztBQUVELEFBQUEsb0JBQW9CLENBQVU7RUFDNUIsS0FBSyxFQUFFLENBQUM7RUFDUixJQUFJLEVBQUUsSUFBSSxHQUNYOztBeENXRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RXdDbkJ4QixBQUFBLHNCQUFzQixDQUFPO0lBQzNCLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLENBQUMsR0FDUjtFQUVELEFBQUEsdUJBQXVCLENBQU87SUFDNUIsS0FBSyxFQUFFLENBQUM7SUFDUixJQUFJLEVBQUUsSUFBSSxHQUNYOztBeENXRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RXdDbkJ4QixBQUFBLHNCQUFzQixDQUFPO0lBQzNCLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLENBQUMsR0FDUjtFQUVELEFBQUEsdUJBQXVCLENBQU87SUFDNUIsS0FBSyxFQUFFLENBQUM7SUFDUixJQUFJLEVBQUUsSUFBSSxHQUNYOztBeENXRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RXdDbkJ4QixBQUFBLHNCQUFzQixDQUFPO0lBQzNCLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLENBQUMsR0FDUjtFQUVELEFBQUEsdUJBQXVCLENBQU87SUFDNUIsS0FBSyxFQUFFLENBQUM7SUFDUixJQUFJLEVBQUUsSUFBSSxHQUNYOztBeENXRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RXdDbkJ6QixBQUFBLHNCQUFzQixDQUFPO0lBQzNCLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLENBQUMsR0FDUjtFQUVELEFBQUEsdUJBQXVCLENBQU87SUFDNUIsS0FBSyxFQUFFLENBQUM7SUFDUixJQUFJLEVBQUUsSUFBSSxHQUNYOztBQU1MLEFBQ0UsT0FESyxDQUNMLGNBQWMsQ0FBQztFQUNiLEdBQUcsRUFBRSxJQUFJO0VBQ1QsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsQ0FBQztFQUNiLGFBQWEsRTVDaXNCbUIsUUFBTyxHNENoc0J4Qzs7QUFOSCxBMUIxQkksTzBCMEJHLENBUUwsZ0JBQWdCLEExQmxDYixPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsWUFBWTtFQUNyQixXQUFXLEVsQm9PYSxPQUFrQjtFa0JuTzFDLGNBQWMsRWxCa09VLE9BQWtCO0VrQmpPMUMsT0FBTyxFQUFFLEVBQUU7RUF6QmYsVUFBVSxFQUFFLENBQUM7RUFDYixZQUFZLEVsQndQZ0IsS0FBSSxDa0J4UEwsS0FBSyxDQUFDLFdBQVc7RUFDNUMsYUFBYSxFbEJ1UGUsS0FBSSxDa0J2UEosS0FBSztFQUNqQyxXQUFXLEVsQnNQaUIsS0FBSSxDa0J0UE4sS0FBSyxDQUFDLFdBQVcsR0E4QnhDOztBMEJjTCxBMUJFSSxPMEJGRyxDQVFMLGdCQUFnQixBMUJOYixNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2IsV0FBVyxFQUFFLENBQUMsR0FDZjs7QTBCU0wsQUFDRSxVQURRLENBQ1IsY0FBYyxDQUFDO0VBQ2IsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLElBQUksRUFBRSxJQUFJO0VBQ1YsVUFBVSxFQUFFLENBQUM7RUFDYixXQUFXLEU1Q21yQnFCLFFBQU8sRzRDbHJCeEM7O0FBUEgsQTFCdkNJLFUwQnVDTSxDQVNSLGdCQUFnQixBMUJoRGIsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLFlBQVk7RUFDckIsV0FBVyxFbEJvT2EsT0FBa0I7RWtCbk8xQyxjQUFjLEVsQmtPVSxPQUFrQjtFa0JqTzFDLE9BQU8sRUFBRSxFQUFFO0VBbEJmLFVBQVUsRWxCa1BrQixLQUFJLENrQmxQUCxLQUFLLENBQUMsV0FBVztFQUMxQyxZQUFZLEVBQUUsQ0FBQztFQUNmLGFBQWEsRWxCZ1BlLEtBQUksQ2tCaFBKLEtBQUssQ0FBQyxXQUFXO0VBQzdDLFdBQVcsRWxCK09pQixLQUFJLENrQi9PTixLQUFLLEdBdUI1Qjs7QTBCMkJMLEExQlhJLFUwQldNLENBU1IsZ0JBQWdCLEExQnBCYixNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2IsV0FBVyxFQUFFLENBQUMsR0FDZjs7QTBCU0wsQTFCdkNJLFUwQnVDTSxDQVNSLGdCQUFnQixBMUJoRGIsT0FBTyxDMEJrREM7RUFDUCxjQUFjLEVBQUUsQ0FBQyxHQUNsQjs7QUFJTCxBQUNFLFNBRE8sQ0FDUCxjQUFjLENBQUM7RUFDYixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxJQUFJO0VBQ1gsSUFBSSxFQUFFLElBQUk7RUFDVixVQUFVLEVBQUUsQ0FBQztFQUNiLFlBQVksRTVDa3FCb0IsUUFBTyxHNENqcUJ4Qzs7QUFQSCxBMUJ4REksUzBCd0RLLENBU1AsZ0JBQWdCLEExQmpFYixPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsWUFBWTtFQUNyQixXQUFXLEVsQm9PYSxPQUFrQjtFa0JuTzFDLGNBQWMsRWxCa09VLE9BQWtCO0VrQmpPMUMsT0FBTyxFQUFFLEVBQUUsR0FRWjs7QTBCNENMLEExQnhESSxTMEJ3REssQ0FTUCxnQkFBZ0IsQTFCakViLE9BQU8sQ0FlRztFQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0EwQnVDUCxBMUJyQ00sUzBCcUNHLENBU1AsZ0JBQWdCLEExQjlDWCxRQUFRLENBQUM7RUFDUixPQUFPLEVBQUUsWUFBWTtFQUNyQixZQUFZLEVsQmlOVSxPQUFrQjtFa0JoTnhDLGNBQWMsRWxCK01RLE9BQWtCO0VrQjlNeEMsT0FBTyxFQUFFLEVBQUU7RUE5QmpCLFVBQVUsRWxCMk9rQixLQUFJLENrQjNPUCxLQUFLLENBQUMsV0FBVztFQUMxQyxZQUFZLEVsQjBPZ0IsS0FBSSxDa0IxT0wsS0FBSztFQUNoQyxhQUFhLEVsQnlPZSxLQUFJLENrQnpPSixLQUFLLENBQUMsV0FBVyxHQThCeEM7O0EwQitCUCxBMUI1QkksUzBCNEJLLENBU1AsZ0JBQWdCLEExQnJDYixNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ2IsV0FBVyxFQUFFLENBQUMsR0FDZjs7QTBCMEJMLEExQnJDTSxTMEJxQ0csQ0FTUCxnQkFBZ0IsQTFCOUNYLFFBQVEsQzBCZ0REO0VBQ1IsY0FBYyxFQUFFLENBQUMsR0FDbEI7O0FBTUwsQUFDRSxjQURZLENBQ1gsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixHQURKLGNBQWMsQ0FFWCxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEdBRkosY0FBYyxDQUdYLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsR0FISixjQUFjLENBSVgsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQUFxQjtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBSUgsQUFBQSxpQkFBaUIsQ0FBQztFdEI5R2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsTUFBTSxFdEJ3c0I0QixNQUFXLENzQnhzQjNCLENBQUM7RUFDbkIsUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN0QkNaLE9BQU8sRzRDNEdqQjs7QUFLRCxBQUFBLGNBQWMsQ0FBQztFQUNiLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEU1Q3FwQjJCLE9BQU0sQ0FDTixNQUFNO0U0Q3JwQnhDLEtBQUssRUFBRSxJQUFJO0VBQ1gsV0FBVyxFNUNzS2lCLEdBQUc7RTRDcksvQixLQUFLLEU1Q2hISSxPQUFPO0U0Q2lIaEIsVUFBVSxFQUFFLE9BQU87RUFFbkIsV0FBVyxFQUFFLE1BQU07RUFDbkIsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixNQUFNLEVBQUUsQ0FBQyxHQXFDVjtFQWhERCxBdkMxR0UsY3VDMEdZLEF2QzFHWCxNQUFNLEV1QzBHVCxjQUFjLEF2Q3pHWCxNQUFNLENBQUM7SXVDbUlOLEtBQUssRTVDc25CMkIsT0FBcUI7STRDcm5CckQsZUFBZSxFQUFFLElBQUk7SWhCL0lyQixnQkFBZ0IsRTVCRVQsT0FBTyxHS1dmO0V1Q3VHSCxBQStCRSxjQS9CWSxBQStCWCxPQUFPLEVBL0JWLGNBQWMsQUFnQ1gsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFNUNwSkUsSUFBSTtJNENxSlgsZUFBZSxFQUFFLElBQUk7SWhCdEpyQixnQkFBZ0IsRTVCOEJWLE9BQU8sRzRDMEhkO0VBcENILEFBc0NFLGNBdENZLEFBc0NYLFNBQVMsRUF0Q1osY0FBYyxBQXVDWCxTQUFTLENBQUM7SUFDVCxLQUFLLEU1Q3JKRSxPQUFPO0k0Q3NKZCxjQUFjLEVBQUUsSUFBSTtJQUNwQixnQkFBZ0IsRUFBRSxXQUFXLEdBSzlCOztBQUdILEFBQUEsY0FBYyxBQUFBLEtBQUssQ0FBQztFQUNsQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUdELEFBQUEsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRTVDeWtCMkIsTUFBSyxDQXVCTCxNQUFNO0U0Qy9sQnhDLGFBQWEsRUFBRSxDQUFDO0UxQ3JEWixTQUFTLEVBdENFLFFBQUM7RTBDNkZoQixLQUFLLEU1Q3pLSSxPQUFPO0U0QzBLaEIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBR0QsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRTVDcWxCMkIsT0FBTSxDQUNOLE1BQU07RTRDcmxCeEMsS0FBSyxFNUM5S0ksT0FBTyxHNEMrS2pCOztBQzVMRCxBQUFBLFVBQVU7QUFDVixtQkFBbUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsV0FBVztFQUNwQixjQUFjLEVBQUUsTUFBTSxHQWlCdkI7RUFyQkQsQUFNRSxVQU5RLEdBTU4sSUFBSTtFQUxSLG1CQUFtQixHQUtmLElBQUksQ0FBQztJQUNMLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxRQUFRLEdBWWY7SUFwQkgsQXhDU0UsVXdDVFEsR0FNTixJQUFJLEF4Q0dMLE1BQU07SXdDUlQsbUJBQW1CLEdBS2YsSUFBSSxBeENHTCxNQUFNLENBQUM7TXdDSUosT0FBTyxFQUFFLENBQUMsR3hDSlE7SXdDVHhCLEFBZUksVUFmTSxHQU1OLElBQUksQUFTSCxNQUFNLEVBZlgsVUFBVSxHQU1OLElBQUksQUFVSCxPQUFPLEVBaEJaLFVBQVUsR0FNTixJQUFJLEFBV0gsT0FBTztJQWhCWixtQkFBbUIsR0FLZixJQUFJLEFBU0gsTUFBTTtJQWRYLG1CQUFtQixHQUtmLElBQUksQUFVSCxPQUFPO0lBZlosbUJBQW1CLEdBS2YsSUFBSSxBQVdILE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBS0wsQUFBQSxZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsZUFBZSxFQUFFLFVBQVUsR0FLNUI7RUFSRCxBQUtFLFlBTFUsQ0FLVixZQUFZLENBQUM7SUFDWCxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUdILEFBRUUsVUFGUSxHQUVOLElBQUksQUFBQSxJQUFLLENBQUEsWUFBWTtBQUZ6QixVQUFVLEdBR04sVUFBVSxBQUFBLElBQUssQ0FETixZQUFZLEVBQ1E7RUFDN0IsV0FBVyxFN0N3TWUsSUFBRyxHNkN2TTlCOztBQUxILEFBUUUsVUFSUSxHQVFOLElBQUksQUFBQSxJQUFLLENUaURMLFdBQVcsQ1NqRE0sSUFBSyxDRHJDOUIsZ0JBQWdCO0FDNkJoQixVQUFVLEdBU04sVUFBVSxBQUFBLElBQUssQ1RnRFgsV0FBVyxJU2hEZSxJQUFJLENBQUM7RW5CWm5DLHVCQUF1QixFbUJhTSxDQUFDO0VuQlo5QiwwQkFBMEIsRW1CWUcsQ0FBQyxHQUMvQjs7QUFYSCxBQWFFLFVBYlEsR0FhTixJQUFJLEFBQUEsSUFBSyxDQVhBLFlBQVk7QUFGekIsVUFBVSxHQWNOLFVBQVUsQUFBQSxJQUFLLENBWk4sWUFBWSxJQVlVLElBQUksQ0FBQztFbkJIcEMsc0JBQXNCLEVtQklNLENBQUM7RW5CSDdCLHlCQUF5QixFbUJHRyxDQUFDLEdBQzlCOztBQWVILEFBQUEsc0JBQXNCLENBQUM7RUFDckIsYUFBYSxFQUFFLFNBQW9CO0VBQ25DLFlBQVksRUFBRSxTQUFvQixHQVduQztFQWJELEFBSUUsc0JBSm9CLEFBSW5CLE9BQU87RUFDUixPQUFPLENBTFQsc0JBQXNCLEFBS1gsT0FBTztFQUNoQixVQUFVLENBTlosc0JBQXNCLEFBTVIsT0FBTyxDQUFDO0lBQ2xCLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7RUFFRCxBQUFBLFNBQVMsQ0FWWCxzQkFBc0IsQUFVVCxRQUFRLENBQUM7SUFDbEIsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0FBR0gsQUFBQSxPQUFPLEdBQUcsc0JBQXNCLEVBdkJoQyxhQUFhLEdBQUcsSUFBSSxHQXVCVixzQkFBc0IsQ0FBQztFQUMvQixhQUFhLEVBQUUsUUFBdUI7RUFDdEMsWUFBWSxFQUFFLFFBQXVCLEdBQ3RDOztBQUVELEFBQUEsT0FBTyxHQUFHLHNCQUFzQixFQTNCaEMsYUFBYSxHQUFHLElBQUksR0EyQlYsc0JBQXNCLENBQUM7RUFDL0IsYUFBYSxFQUFFLE9BQXVCO0VBQ3RDLFlBQVksRUFBRSxPQUF1QixHQUN0Qzs7QUFtQkQsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEVBQUUsVUFBVTtFQUN2QixlQUFlLEVBQUUsTUFBTSxHQXNCeEI7RUF6QkQsQUFLRSxtQkFMaUIsR0FLZixJQUFJO0VBTFIsbUJBQW1CLEdBTWYsVUFBVSxDQUFDO0lBQ1gsS0FBSyxFQUFFLElBQUksR0FDWjtFQVJILEFBVUUsbUJBVmlCLEdBVWYsSUFBSSxBQUFBLElBQUssQ0FqRkEsWUFBWTtFQXVFekIsbUJBQW1CLEdBV2YsVUFBVSxBQUFBLElBQUssQ0FsRk4sWUFBWSxFQWtGUTtJQUM3QixVQUFVLEU3Q3VIZ0IsSUFBRyxHNkN0SDlCO0VBYkgsQUFnQkUsbUJBaEJpQixHQWdCZixJQUFJLEFBQUEsSUFBSyxDVGhDTCxXQUFXLENTZ0NNLElBQUssQ0R0SDlCLGdCQUFnQjtFQ3NHaEIsbUJBQW1CLEdBaUJmLFVBQVUsQUFBQSxJQUFLLENUakNYLFdBQVcsSVNpQ2UsSUFBSSxDQUFDO0luQnRGbkMsMEJBQTBCLEVtQnVGSSxDQUFDO0luQnRGL0IseUJBQXlCLEVtQnNGSyxDQUFDLEdBQ2hDO0VBbkJILEFBcUJFLG1CQXJCaUIsR0FxQmYsSUFBSSxBQUFBLElBQUssQ0E1RkEsWUFBWTtFQXVFekIsbUJBQW1CLEdBc0JmLFVBQVUsQUFBQSxJQUFLLENBN0ZOLFlBQVksSUE2RlUsSUFBSSxDQUFDO0luQnpHcEMsc0JBQXNCLEVtQjBHSyxDQUFDO0luQnpHNUIsdUJBQXVCLEVtQnlHSSxDQUFDLEdBQzdCOztBQWdCSCxBQUNFLGlCQURlLEdBQ2IsSUFBSTtBQURSLGlCQUFpQixHQUViLFVBQVUsR0FBRyxJQUFJLENBQUM7RUFDbEIsYUFBYSxFQUFFLENBQUMsR0FRakI7RUFYSCxBQUtJLGlCQUxhLEdBQ2IsSUFBSSxDQUlKLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVo7RUFMVixpQkFBaUIsR0FDYixJQUFJLENBS0osS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZjtFQU5WLGlCQUFpQixHQUViLFVBQVUsR0FBRyxJQUFJLENBR2pCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVo7RUFMVixpQkFBaUIsR0FFYixVQUFVLEdBQUcsSUFBSSxDQUlqQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEVBQWlCO0lBQ3JCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxnQkFBZ0I7SUFDdEIsY0FBYyxFQUFFLElBQUksR0FDckI7O0FDMUpMLEFBQUEsWUFBWSxDQUFDO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxPQUFPO0VBQ3BCLEtBQUssRUFBRSxJQUFJLEdBK0NaO0VBcERELEFBT0UsWUFQVSxHQU9SLGFBQWE7RUFQakIsWUFBWSxHQVFSLHVCQUF1QjtFQVIzQixZQUFZLEdBU1IsY0FBYztFQVRsQixZQUFZLEdBVVIsWUFBWSxDQUFDO0lBQ2IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsRUFBRTtJQUNULFNBQVMsRUFBRSxDQUFDO0lBQ1osYUFBYSxFQUFFLENBQUMsR0FPakI7SUF0QkgsQUFpQkksWUFqQlEsR0FPUixhQUFhLEdBVVgsYUFBYTtJQWpCbkIsWUFBWSxHQU9SLGFBQWEsR0FXWCxjQUFjO0lBbEJwQixZQUFZLEdBT1IsYUFBYSxHQVlYLFlBQVk7SUFuQmxCLFlBQVksR0FRUix1QkFBdUIsR0FTckIsYUFBYTtJQWpCbkIsWUFBWSxHQVFSLHVCQUF1QixHQVVyQixjQUFjO0lBbEJwQixZQUFZLEdBUVIsdUJBQXVCLEdBV3JCLFlBQVk7SUFuQmxCLFlBQVksR0FTUixjQUFjLEdBUVosYUFBYTtJQWpCbkIsWUFBWSxHQVNSLGNBQWMsR0FTWixjQUFjO0lBbEJwQixZQUFZLEdBU1IsY0FBYyxHQVVaLFlBQVk7SUFuQmxCLFlBQVksR0FVUixZQUFZLEdBT1YsYUFBYTtJQWpCbkIsWUFBWSxHQVVSLFlBQVksR0FRVixjQUFjO0lBbEJwQixZQUFZLEdBVVIsWUFBWSxHQVNWLFlBQVksQ0FBQztNQUNiLFdBQVcsRTlDdU5hLElBQUcsRzhDdE41QjtFQXJCTCxBQXlCRSxZQXpCVSxHQXlCUixhQUFhLEFBQUEsTUFBTTtFQXpCdkIsWUFBWSxHQTBCUixjQUFjLEFBQUEsTUFBTTtFQTFCeEIsWUFBWSxHQTJCUixZQUFZLENBQUMsa0JBQWtCLEFBQUEsTUFBTSxHQUFHLGtCQUFrQixDQUFDO0lBQzNELE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUE3QkgsQUFnQ0UsWUFoQ1UsR0FnQ1IsWUFBWSxDQUFDLGtCQUFrQixBQUFBLE1BQU0sQ0FBQztJQUN0QyxPQUFPLEVBQUUsQ0FBQyxHQUNYO0VBbENILEFBc0NJLFlBdENRLEdBb0NSLGFBQWEsQUFFWixJQUFLLENWa0RGLFdBQVc7RVV4Rm5CLFlBQVksR0FxQ1IsY0FBYyxBQUNiLElBQUssQ1ZrREYsV0FBVyxFVWxESTtJcEJWbkIsdUJBQXVCLEVvQlUyQixDQUFDO0lwQlRuRCwwQkFBMEIsRW9CU3dCLENBQUMsR0FBSztFQXRDNUQsQUF1Q0ksWUF2Q1EsR0FvQ1IsYUFBYSxBQUdaLElBQUssQ0RORyxZQUFZO0VDakN6QixZQUFZLEdBcUNSLGNBQWMsQUFFYixJQUFLLENETkcsWUFBWSxFQ01EO0lwQkdwQixzQkFBc0IsRW9CSDRCLENBQUM7SXBCSW5ELHlCQUF5QixFb0JKeUIsQ0FBQyxHQUFLO0VBdkM1RCxBQTRDRSxZQTVDVSxHQTRDUixZQUFZLENBQUM7SUFDYixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNLEdBS3BCO0lBbkRILEFBZ0RJLFlBaERRLEdBNENSLFlBQVksQUFJWCxJQUFLLENWd0NGLFdBQVcsRVV4Q0ksa0JBQWtCO0lBaER6QyxZQUFZLEdBNENSLFlBQVksQUFLWCxJQUFLLENWdUNGLFdBQVcsRVV2Q0ksa0JBQWtCLEFBQUEsT0FBTyxDQUFDO01wQnJCN0MsdUJBQXVCLEVvQnFCcUQsQ0FBQztNcEJwQjdFLDBCQUEwQixFb0JvQmtELENBQUMsR0FBSztJQWpEdEYsQUFrREksWUFsRFEsR0E0Q1IsWUFBWSxBQU1YLElBQUssQ0RqQkcsWUFBWSxFQ2lCRCxrQkFBa0IsQ0FBQztNcEJSdkMsc0JBQXNCLEVvQlErQyxDQUFDO01wQlB0RSx5QkFBeUIsRW9CTzRDLENBQUMsR0FBSzs7QUFXL0UsQUFBQSxvQkFBb0I7QUFDcEIsbUJBQW1CLENBQUM7RUFDbEIsT0FBTyxFQUFFLElBQUksR0FvQmQ7RUF0QkQsQUFPRSxvQkFQa0IsQ0FPbEIsSUFBSTtFQU5OLG1CQUFtQixDQU1qQixJQUFJLENBQUM7SUFDSCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUtYO0lBZEgsQUFXSSxvQkFYZ0IsQ0FPbEIsSUFBSSxBQUlELE1BQU07SUFWWCxtQkFBbUIsQ0FNakIsSUFBSSxBQUlELE1BQU0sQ0FBQztNQUNOLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUFiTCxBQWdCRSxvQkFoQmtCLENBZ0JsQixJQUFJLEdBQUcsSUFBSTtFQWhCYixvQkFBb0IsQ0FpQmxCLElBQUksR0FBRyxpQkFBaUI7RUFqQjFCLG9CQUFvQixDQWtCbEIsaUJBQWlCLEdBQUcsaUJBQWlCO0VBbEJ2QyxvQkFBb0IsQ0FtQmxCLGlCQUFpQixHQUFHLElBQUk7RUFsQjFCLG1CQUFtQixDQWVqQixJQUFJLEdBQUcsSUFBSTtFQWZiLG1CQUFtQixDQWdCakIsSUFBSSxHQUFHLGlCQUFpQjtFQWhCMUIsbUJBQW1CLENBaUJqQixpQkFBaUIsR0FBRyxpQkFBaUI7RUFqQnZDLG1CQUFtQixDQWtCakIsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLFdBQVcsRTlDMEplLElBQUcsRzhDeko5Qjs7QUFHSCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsWUFBWSxFOUNzSkwsSUFBRyxHOEN0SjRCOztBQUM3RCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsV0FBVyxFOUNxSkgsSUFBRyxHOENySjBCOztBQVEzRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsT0FBTyxFOUNnU3FCLFFBQU8sQ0FDUCxPQUFNO0U4Q2hTbEMsYUFBYSxFQUFFLENBQUM7RTVDdUJaLFNBQVMsRUF0Q0UsSUFBQztFNENpQmhCLFdBQVcsRTlDMkxpQixHQUFHO0U4QzFML0IsV0FBVyxFOUMrTGlCLEdBQUc7RThDOUwvQixLQUFLLEU5QzlGSSxPQUFPO0U4QytGaEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsZ0JBQWdCLEU5Q3RHUCxPQUFPO0U4Q3VHaEIsTUFBTSxFOUNpSXNCLEdBQUcsQzhDaklILEtBQUssQzlDckd4QixPQUFPO0UwQk9kLGFBQWEsRTFCa09hLE9BQU0sRzhDNUhuQztFQXBCRCxBQWdCRSxpQkFoQmUsQ0FnQmYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWjtFQWhCUixpQkFBaUIsQ0FpQmYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixFQUFpQjtJQUNyQixVQUFVLEVBQUUsQ0FBQyxHQUNkOztBQVNILEFBQUEsZUFBZSxHQUFHLGFBQWEsQUFBQSxJQUFLLENYb1FwQyxRQUFRO0FXblFSLGVBQWUsR0FBRyxjQUFjLENBQUM7RUFDL0IsTUFBTSxFL0NYMkIsd0JBQTZCLEcrQ1kvRDs7QUFFRCxBQUFBLGVBQWUsR0FBRyxhQUFhO0FBQy9CLGVBQWUsR0FBRyxjQUFjO0FBQ2hDLGVBQWUsR0FBRyxvQkFBb0IsR0FBRyxpQkFBaUI7QUFDMUQsZUFBZSxHQUFHLG1CQUFtQixHQUFHLGlCQUFpQjtBQUN6RCxlQUFlLEdBQUcsb0JBQW9CLEdBQUcsSUFBSTtBQUM3QyxlQUFlLEdBQUcsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0VBQzNDLE9BQU8sRTlDMlFxQixNQUFLLENBQ0wsSUFBSTtFRXhSNUIsU0FBUyxFQXRDRSxPQUFDO0U0Q29EaEIsV0FBVyxFOUNpR2lCLEdBQUc7RTBCNU43QixhQUFhLEUxQm1PYSxNQUFLLEc4Q3RHbEM7O0FBRUQsQUFBQSxlQUFlLEdBQUcsYUFBYSxBQUFBLElBQUssQ1htUHBDLFFBQVE7QVdsUFIsZUFBZSxHQUFHLGNBQWMsQ0FBQztFQUMvQixNQUFNLEUvQzVCMkIsMEJBQTZCLEcrQzZCL0Q7O0FBRUQsQUFBQSxlQUFlLEdBQUcsYUFBYTtBQUMvQixlQUFlLEdBQUcsY0FBYztBQUNoQyxlQUFlLEdBQUcsb0JBQW9CLEdBQUcsaUJBQWlCO0FBQzFELGVBQWUsR0FBRyxtQkFBbUIsR0FBRyxpQkFBaUI7QUFDekQsZUFBZSxHQUFHLG9CQUFvQixHQUFHLElBQUk7QUFDN0MsZUFBZSxHQUFHLG1CQUFtQixHQUFHLElBQUksQ0FBQztFQUMzQyxPQUFPLEU5Q3FQcUIsT0FBTSxDQUNOLE1BQUs7RUVuUjdCLFNBQVMsRUF0Q0UsUUFBQztFNENxRWhCLFdBQVcsRTlDaUZpQixHQUFHO0UwQjdON0IsYUFBYSxFMUJvT2EsTUFBSyxHOEN0RmxDOztBQUVELEFBQUEsZUFBZSxHQUFHLGNBQWM7QUFDaEMsZUFBZSxHQUFHLGNBQWMsQ0FBQztFQUMvQixhQUFhLEVBQUUsT0FBMkQsR0FDM0U7O0FBVUQsQUFBQSxZQUFZLEdBQUcsb0JBQW9CLEdBQUcsSUFBSTtBQUMxQyxZQUFZLEdBQUcsb0JBQW9CLEdBQUcsaUJBQWlCO0FBQ3ZELFlBQVksR0FBRyxtQkFBbUIsQUFBQSxJQUFLLENWbkYvQixXQUFXLElVbUZtQyxJQUFJO0FBQzFELFlBQVksR0FBRyxtQkFBbUIsQUFBQSxJQUFLLENWcEYvQixXQUFXLElVb0ZtQyxpQkFBaUI7QUFDdkUsWUFBWSxHQUFHLG1CQUFtQixBQUFBLFdBQVcsR0FBRyxJQUFJLEFBQUEsSUFBSyxDVnJGakQsV0FBVyxDVXFGa0QsSUFBSyxDRjNLMUUsZ0JBQWdCO0FFNEtoQixZQUFZLEdBQUcsbUJBQW1CLEFBQUEsV0FBVyxHQUFHLGlCQUFpQixBQUFBLElBQUssQ1Z0RjlELFdBQVcsRVVzRmdFO0VwQmxKL0UsdUJBQXVCLEVvQm1KSSxDQUFDO0VwQmxKNUIsMEJBQTBCLEVvQmtKQyxDQUFDLEdBQy9COztBQUVELEFBQUEsWUFBWSxHQUFHLG1CQUFtQixHQUFHLElBQUk7QUFDekMsWUFBWSxHQUFHLG1CQUFtQixHQUFHLGlCQUFpQjtBQUN0RCxZQUFZLEdBQUcsb0JBQW9CLEFBQUEsSUFBSyxDRG5KM0IsWUFBWSxJQ21KK0IsSUFBSTtBQUM1RCxZQUFZLEdBQUcsb0JBQW9CLEFBQUEsSUFBSyxDRHBKM0IsWUFBWSxJQ29KK0IsaUJBQWlCO0FBQ3pFLFlBQVksR0FBRyxvQkFBb0IsQUFBQSxZQUFZLEdBQUcsSUFBSSxBQUFBLElBQUssQ0RySjlDLFlBQVk7QUNzSnpCLFlBQVksR0FBRyxvQkFBb0IsQUFBQSxZQUFZLEdBQUcsaUJBQWlCLEFBQUEsSUFBSyxDRHRKM0QsWUFBWSxFQ3NKNkQ7RXBCN0lsRixzQkFBc0IsRW9COElJLENBQUM7RXBCN0kzQix5QkFBeUIsRW9CNklDLENBQUMsR0FDOUI7O0FDdExELEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsTUFBbUM7RUFDL0MsWUFBWSxFQUFFLE1BQXVELEdBQ3RFOztBQUVELEFBQUEsc0JBQXNCLENBQUM7RUFDckIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsWUFBWSxFL0MrZjBCLElBQUksRytDOWYzQzs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxLQUFLLEUvQzJmaUMsSUFBSTtFK0MxZjFDLE1BQU0sRUFBRSxPQUEwRTtFQUNsRixPQUFPLEVBQUUsQ0FBQyxHQXdDWDtFQTlDRCxBQVFFLHFCQVJtQixBQVFsQixRQUFRLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0lBQ3hDLEtBQUssRS9DdkJFLElBQUk7SStDd0JYLFlBQVksRS9DS04sT0FBTztJNEI5QmIsZ0JBQWdCLEU1QjhCVixPQUFPLEcrQ0ZkO0VBYkgsQUFlRSxxQkFmbUIsQUFlbEIsTUFBTSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztJQUtwQyxVQUFVLEUvQ3NXYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FGTCxNQUFLLENBeld6Qix1QkFBTyxHK0NPZDtFQXRCSCxBQXdCRSxxQkF4Qm1CLEFBd0JsQixNQUFNLEFBQUEsSUFBSyxDeEI2R0EsUUFBUSxJd0I3R0kscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0lBQ3BELFlBQVksRS9DNGJ3QixPQUFrQyxHK0MzYnZFO0VBMUJILEFBNEJFLHFCQTVCbUIsQUE0QmxCLElBQUssQ1o2VEUsU0FBUyxDWTdURCxPQUFPLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0lBQ3RELEtBQUssRS9DM0NFLElBQUk7SStDNENYLGdCQUFnQixFL0N3ZjRCLE9BQWtDO0krQ3ZmOUUsWUFBWSxFL0N1ZmdDLE9BQWtDLEcrQ3JmL0U7RUFqQ0gsQUFzQ0kscUJBdENpQixDQW9DbEIsQUFBQSxRQUFDLEFBQUEsSUFFRSxxQkFBcUIsRUF0QzNCLHFCQUFxQixBQXFDbEIsU0FBUyxHQUNOLHFCQUFxQixDQUFDO0lBQ3RCLEtBQUssRS9DL0NBLE9BQU8sRytDb0RiO0lBNUNMLEFBeUNNLHFCQXpDZSxDQW9DbEIsQUFBQSxRQUFDLEFBQUEsSUFFRSxxQkFBcUIsQUFHcEIsUUFBUSxFQXpDZixxQkFBcUIsQUFxQ2xCLFNBQVMsR0FDTixxQkFBcUIsQUFHcEIsUUFBUSxDQUFDO01BQ1IsZ0JBQWdCLEUvQ3REYixPQUFPLEcrQ3VEWDs7QUFTUCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGFBQWEsRUFBRSxDQUFDO0VBRWhCLGNBQWMsRUFBRSxHQUFHLEdBNkJwQjtFQWpDRCxBQVFFLHFCQVJtQixBQVFsQixRQUFRLENBQUM7SUFDUixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsT0FBMEU7SUFDL0UsSUFBSSxFQUFJLE9BQXVEO0lBQy9ELE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFL0M4YitCLElBQUk7SStDN2J4QyxNQUFNLEUvQzZiOEIsSUFBSTtJK0M1YnhDLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsZ0JBQWdCLEUvQ25GVCxJQUFJO0krQ29GWCxNQUFNLEUvQy9FQyxPQUFPLEMrQytFaUMsS0FBSyxDL0NzSjFCLEdBQUcsRytDcEo5QjtFQXBCSCxBQXVCRSxxQkF2Qm1CLEFBdUJsQixPQUFPLENBQUM7SUFDUCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsT0FBMEU7SUFDL0UsSUFBSSxFQUFJLE9BQXVEO0lBQy9ELE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFL0MrYStCLElBQUk7SStDOWF4QyxNQUFNLEUvQzhhOEIsSUFBSTtJK0M3YXhDLE9BQU8sRUFBRSxFQUFFO0lBQ1gsVUFBVSxFQUFFLFNBQVMsQ0FBQyxhQUEwQyxHQUNqRTs7QUFRSCxBQUNFLGdCQURjLENBQ2QscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0VyQmhHNUIsYUFBYSxFMUJrT2EsT0FBTSxHK0NoSWpDOztBQUhILEFBTUksZ0JBTlksQ0FLZCxxQkFBcUIsQUFBQSxRQUFRLEdBQUcscUJBQXFCLEFBQ2xELE9BQU8sQ0FBQztFQUNQLGdCQUFnQixFaEQ5REwsZ05BQWlFLEdnRCtEN0U7O0FBUkwsQUFZSSxnQkFaWSxDQVdkLHFCQUFxQixBQUFBLGNBQWMsR0FBRyxxQkFBcUIsQUFDeEQsUUFBUSxDQUFDO0VBQ1IsWUFBWSxFL0MxRlIsT0FBTztFNEI5QmIsZ0JBQWdCLEU1QjhCVixPQUFPLEcrQzZGWjs7QUFoQkwsQUFpQkksZ0JBakJZLENBV2QscUJBQXFCLEFBQUEsY0FBYyxHQUFHLHFCQUFxQixBQU14RCxPQUFPLENBQUM7RUFDUCxnQkFBZ0IsRWhEekVMLDZKQUFpRSxHZ0QwRTdFOztBQW5CTCxBQXVCSSxnQkF2QlksQ0FzQmQscUJBQXFCLEFBQUEsU0FBUyxBQUMzQixRQUFRLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0VBQ3hDLGdCQUFnQixFL0NyR1osc0JBQU8sRytDc0daOztBQXpCTCxBQTBCSSxnQkExQlksQ0FzQmQscUJBQXFCLEFBQUEsU0FBUyxBQUkzQixjQUFjLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0VBQzlDLGdCQUFnQixFL0N4R1osc0JBQU8sRytDeUdaOztBQVFMLEFBQ0UsYUFEVyxDQUNYLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztFQUU1QixhQUFhLEUvQ2dhK0IsR0FBRyxHK0MvWmhEOztBQUpILEFBT0ksYUFQUyxDQU1YLHFCQUFxQixBQUFBLFFBQVEsR0FBRyxxQkFBcUIsQUFDbEQsT0FBTyxDQUFDO0VBQ1AsZ0JBQWdCLEVoRG5HTCw0SkFBaUUsR2dEb0c3RTs7QUFUTCxBQWFJLGFBYlMsQ0FZWCxxQkFBcUIsQUFBQSxTQUFTLEFBQzNCLFFBQVEsR0FBRyxxQkFBcUIsQUFBQSxRQUFRLENBQUM7RUFDeEMsZ0JBQWdCLEUvQy9IWixzQkFBTyxHK0NnSVo7O0FBU0wsQUFBQSxjQUFjLENBQUM7RUFDYixZQUFZLEVBQUUsT0FBNkMsR0FtQzVEO0VBcENELEFBSUksY0FKVSxDQUdaLHFCQUFxQixBQUNsQixRQUFRLENBQUM7SUFDUixJQUFJLEVBQUksUUFBNkM7SUFDckQsS0FBSyxFL0N3WXFDLE9BQXFDO0krQ3ZZL0UsY0FBYyxFQUFFLEdBQUc7SUFFbkIsYUFBYSxFL0NzWTZCLE1BQWtDLEcrQ3JZN0U7RUFWTCxBQVlJLGNBWlUsQ0FHWixxQkFBcUIsQUFTbEIsT0FBTyxDQUFDO0lBQ1AsR0FBRyxFaERuRTBCLG1CQUE2QjtJZ0RvRTFELElBQUksRWhEcEV5QixvQkFBNkI7SWdEcUUxRCxLQUFLLEVoRGpEd0IsZ0JBQTZCO0lnRGtEMUQsTUFBTSxFaERsRHVCLGdCQUE2QjtJZ0RtRDFELGdCQUFnQixFL0NsTFgsT0FBTztJK0NvTFosYUFBYSxFL0M0WDZCLE1BQWtDO0k2QjVpQjVFLFVBQVUsRWtCaUxVLFNBQVMsQ0FBQyxLQUFJLENBQUMsV0FBVyxFL0M2VVosZ0JBQWdCLENBQUMsS0FBSSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsS0FBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsS0FBSSxDQUFDLFdBQVcsRytDNVVoSTtJbEI5S0MsTUFBTSxFQUFFLHNCQUFzQixFQUFFLE1BQU07TWtCeUo1QyxBQVlJLGNBWlUsQ0FHWixxQkFBcUIsQUFTbEIsT0FBTyxDQUFDO1FsQnBLTCxVQUFVLEVBQUUsSUFBSSxHa0I2S25CO0VBckJMLEFBeUJJLGNBekJVLENBd0JaLHFCQUFxQixBQUFBLFFBQVEsR0FBRyxxQkFBcUIsQUFDbEQsT0FBTyxDQUFDO0lBQ1AsZ0JBQWdCLEUvQ2hNWCxJQUFJO0krQ2lNVCxTQUFTLEVBQUUsbUJBQWlFLEdBQzdFO0VBNUJMLEFBZ0NJLGNBaENVLENBK0JaLHFCQUFxQixBQUFBLFNBQVMsQUFDM0IsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztJQUN4QyxnQkFBZ0IsRS9DMUtaLHNCQUFPLEcrQzJLWjs7QUFXTCxBQUFBLGNBQWMsQ0FBQztFQUNiLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFaER0RzJCLDJCQUE2QjtFZ0R1RzlELE9BQU8sRS9DeUtxQixRQUFPLEMrQ3pLRCxPQUE2RCxDL0N5S25FLFFBQU8sQ0FDUCxPQUFNO0VFelE5QixTQUFTLEVBdENFLElBQUM7RTZDd0loQixXQUFXLEUvQ29FaUIsR0FBRztFK0NuRS9CLFdBQVcsRS9Dd0VpQixHQUFHO0UrQ3ZFL0IsS0FBSyxFL0NyTkksT0FBTztFK0NzTmhCLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFVBQVUsRS9DOU5ELElBQUksQ0RtREUsOEtBQWlFLENDb2hCVCxTQUFTLENBQUMsS0FBSyxDQXRNMUQsT0FBTSxDQXNNOEUsZUFBK0I7RStDeFcvSSxNQUFNLEUvQ1dzQixHQUFHLEMrQ1hLLEtBQUssQy9DM05oQyxPQUFPO0UwQk9kLGFBQWEsRTFCa09hLE9BQU07RStDWGxDLFVBQVUsRUFBRSxJQUFJLEdBNkNqQjtFQTVERCxBQWlCRSxjQWpCWSxBQWlCWCxNQUFNLENBQUM7SUFDTixZQUFZLEUvQzhQd0IsT0FBa0M7SStDN1B0RSxPQUFPLEVBQUUsQ0FBQztJQUtSLFVBQVUsRS9DeVdvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0E5TVgsTUFBSyxDQXpXekIsdUJBQU8sRytDME5kO0lBcENILEFBMkJJLGNBM0JVLEFBaUJYLE1BQU0sQUFVSixXQUFXLENBQUM7TUFNWCxLQUFLLEUvQzdPQSxPQUFPO00rQzhPWixnQkFBZ0IsRS9DclBYLElBQUksRytDc1BWO0VBbkNMLEFBc0NFLGNBdENZLENBc0NYLEFBQUEsUUFBQyxBQUFBLEdBdENKLGNBQWMsQ0F1Q1gsQUFBQSxJQUFDLEFBQUEsQ0FBSyxJQUFLLEVBQUEsQUFBQSxJQUFDLENBQUssR0FBRyxBQUFSLEdBQVc7SUFDdEIsTUFBTSxFQUFFLElBQUk7SUFDWixhQUFhLEUvQ3FJYSxPQUFNO0krQ3BJaEMsZ0JBQWdCLEVBQUUsSUFBSSxHQUN2QjtFQTNDSCxBQTZDRSxjQTdDWSxBQTZDWCxTQUFTLENBQUM7SUFDVCxLQUFLLEUvQzNQRSxPQUFPO0krQzRQZCxnQkFBZ0IsRS9DaFFULE9BQU8sRytDaVFmO0VBaERILEFBbURFLGNBbkRZLEFBbURYLFlBQVksQ0FBQztJQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUFyREgsQUF3REUsY0F4RFksQUF3RFgsZUFBZSxDQUFDO0lBQ2YsS0FBSyxFQUFFLFdBQVc7SUFDbEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDL0N0UVgsT0FBTyxHK0N1UWY7O0FBR0gsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixNQUFNLEVoRGxLMkIsMEJBQTZCO0VnRG1LOUQsV0FBVyxFL0N1SGlCLE9BQU07RStDdEhsQyxjQUFjLEUvQ3NIYyxPQUFNO0UrQ3JIbEMsWUFBWSxFL0NzSGdCLE1BQUs7RUVuUjdCLFNBQVMsRUF0Q0UsUUFBQyxHNkNxTWpCOztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsTUFBTSxFaEQxSzJCLHdCQUE2QjtFZ0QySzlELFdBQVcsRS9Db0hpQixNQUFLO0UrQ25IakMsY0FBYyxFL0NtSGMsTUFBSztFK0NsSGpDLFlBQVksRS9DbUhnQixJQUFJO0VFeFI1QixTQUFTLEVBdENFLE9BQUMsRzZDNk1qQjs7QUFPRCxBQUFBLFlBQVksQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFaEQxTDJCLDJCQUE2QjtFZ0QyTDlELGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRWhEbE0yQiwyQkFBNkI7RWdEbU05RCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBc0JYO0VBNUJELEFBUUUsa0JBUmdCLEFBUWYsTUFBTSxHQUFHLGtCQUFrQixDQUFDO0lBQzNCLFlBQVksRS9DNEt3QixPQUFrQztJK0MzS3RFLFVBQVUsRS9DZ0ZnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FGTCxNQUFLLENBeld6Qix1QkFBTyxHK0M0UmQ7RUFYSCxBQWNFLGtCQWRnQixDQWNmLEFBQUEsUUFBQyxBQUFBLElBQVksa0JBQWtCO0VBZGxDLGtCQUFrQixBQWVmLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQztJQUM5QixnQkFBZ0IsRS9DNVRULE9BQU8sRytDNlRmO0VBakJILEFBb0JJLGtCQXBCYyxBQW9CYixLQUFNLENBQUEsRUFBRSxJQUFJLGtCQUFrQixBQUFBLE9BQU8sQ0FBTztJQUMzQyxPQUFPLEUvQ21VUCxRQUFRLEcrQ2xVVDtFQXRCTCxBQXlCRSxrQkF6QmdCLEdBeUJkLGtCQUFrQixDQUFBLEFBQUEsV0FBQyxBQUFBLENBQVksT0FBTyxDQUFDO0lBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsR0FDM0I7O0FBR0gsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxDQUFDO0VBQ1IsSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRWhEbE8yQiwyQkFBNkI7RWdEbU85RCxPQUFPLEUvQzZDcUIsUUFBTyxDQUNQLE9BQU07RStDNUNsQyxXQUFXLEUvQ3ZEaUIsR0FBRztFK0N3RC9CLFdBQVcsRS9DbkRpQixHQUFHO0UrQ29EL0IsS0FBSyxFL0NoVkksT0FBTztFK0NpVmhCLGdCQUFnQixFL0N4VlAsSUFBSTtFK0N5VmIsTUFBTSxFL0MvR3NCLEdBQUcsQytDK0dHLEtBQUssQy9DclY5QixPQUFPO0UwQk9kLGFBQWEsRTFCa09hLE9BQU0sRytDZ0luQztFQWpDRCxBQWlCRSxrQkFqQmdCLEFBaUJmLE9BQU8sQ0FBQztJQUNQLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxDQUFDO0lBQ04sS0FBSyxFQUFFLENBQUM7SUFDUixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVoRHBQeUIscUJBQTZCO0lnRHFQNUQsT0FBTyxFL0MyQm1CLFFBQU8sQ0FDUCxPQUFNO0krQzNCaEMsV0FBVyxFL0NuRWUsR0FBRztJK0NvRTdCLEtBQUssRS9DaFdFLE9BQU87SStDaVdkLE9BQU8sRUFBRSxRQUFRO0luQnpXakIsZ0JBQWdCLEU1QkdULE9BQU87SStDd1dkLFdBQVcsRUFBRSxPQUFPO0lyQi9WcEIsYUFBYSxFcUJnV1UsQ0FBQyxDL0M5SEUsT0FBTSxDQUFOLE9BQU0sQytDOEgrQyxDQUFDLEdBQ2pGOztBQVNILEFBQUEsYUFBYSxDQUFDO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVoRDFRSSxNQUFpQjtFZ0QyUTNCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixVQUFVLEVBQUUsSUFBSSxHQWtJakI7RUF2SUQsQUFPRSxhQVBXLEFBT1YsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUksR0FPZDtJQWZILEFBWUksYUFaUyxBQU9WLE1BQU0sQUFLSixzQkFBc0IsQ0FBQztNQUFFLFVBQVUsRS9DNE9LLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0E3bUIzQyxJQUFJLEVBd1llLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUZMLE1BQUssQ0F6V3pCLHVCQUFPLEcrQ29XaUU7SUFabEYsQUFhSSxhQWJTLEFBT1YsTUFBTSxBQU1KLGtCQUFrQixDQUFLO01BQUUsVUFBVSxFL0MyT0ssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQTdtQjNDLElBQUksRUF3WWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBRkwsTUFBSyxDQXpXekIsdUJBQU8sRytDcVdpRTtJQWJsRixBQWNJLGFBZFMsQUFPVixNQUFNLEFBT0osV0FBVyxDQUFZO01BQUUsVUFBVSxFL0MwT0ssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQTdtQjNDLElBQUksRUF3WWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBRkwsTUFBSyxDQXpXekIsdUJBQU8sRytDc1dpRTtFQWRsRixBQWlCRSxhQWpCVyxBQWlCVixrQkFBa0IsQ0FBQztJQUNsQixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBbkJILEFBcUJFLGFBckJXLEFBcUJWLHNCQUFzQixDQUFDO0lBQ3RCLEtBQUssRS9DNE5vQyxJQUFJO0krQzNON0MsTUFBTSxFL0MyTm1DLElBQUk7SStDMU43QyxVQUFVLEVBQUUsUUFBNkQ7SW5COVl6RSxnQkFBZ0IsRTVCOEJWLE9BQU87SStDa1hiLE1BQU0sRS9DMk5tQyxDQUFDO0kwQi9sQjFDLGFBQWEsRTFCZ21CNEIsSUFBSTtJNkJsbUIzQyxVQUFVLEU3Qjhmd0IsZ0JBQWdCLENBQUMsS0FBSSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsS0FBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsS0FBSSxDQUFDLFdBQVc7SStDcEhqSSxVQUFVLEVBQUUsSUFBSSxHQUtqQjtJbEIzWUcsTUFBTSxFQUFFLHNCQUFzQixFQUFFLE1BQU07TWtCd1c1QyxBQXFCRSxhQXJCVyxBQXFCVixzQkFBc0IsQ0FBQztRbEI1WGxCLFVBQVUsRUFBRSxJQUFJLEdrQjBZckI7SUFuQ0gsQUFnQ0ksYUFoQ1MsQUFxQlYsc0JBQXNCLEFBV3BCLE9BQU8sQ0FBQztNbkJ0WlQsZ0JBQWdCLEU1QmduQnlCLE9BQWtDLEcrQ3hOMUU7RUFsQ0wsQUFxQ0UsYUFyQ1csQUFxQ1YsK0JBQStCLENBQUM7SUFDL0IsS0FBSyxFL0NxTTJCLElBQUk7SStDcE1wQyxNQUFNLEUvQ3FNMEIsTUFBSztJK0NwTXJDLEtBQUssRUFBRSxXQUFXO0lBQ2xCLE1BQU0sRS9Db00wQixPQUFPO0krQ25NdkMsZ0JBQWdCLEUvQzVaVCxPQUFPO0krQzZaZCxZQUFZLEVBQUUsV0FBVztJckJyWnpCLGFBQWEsRTFCeWxCbUIsSUFBSSxHK0NqTXJDO0VBOUNILEFBZ0RFLGFBaERXLEFBZ0RWLGtCQUFrQixDQUFDO0lBQ2xCLEtBQUssRS9DaU1vQyxJQUFJO0krQ2hNN0MsTUFBTSxFL0NnTW1DLElBQUk7STRCeG1CN0MsZ0JBQWdCLEU1QjhCVixPQUFPO0krQzRZYixNQUFNLEUvQ2lNbUMsQ0FBQztJMEIvbEIxQyxhQUFhLEUxQmdtQjRCLElBQUk7STZCbG1CM0MsVUFBVSxFN0I4ZndCLGdCQUFnQixDQUFDLEtBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLEtBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEtBQUksQ0FBQyxXQUFXO0krQzFGakksVUFBVSxFQUFFLElBQUksR0FLakI7SWxCcmFHLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNO01rQndXNUMsQUFnREUsYUFoRFcsQUFnRFYsa0JBQWtCLENBQUM7UWxCdlpkLFVBQVUsRUFBRSxJQUFJLEdrQm9hckI7SUE3REgsQUEwREksYUExRFMsQUFnRFYsa0JBQWtCLEFBVWhCLE9BQU8sQ0FBQztNbkJoYlQsZ0JBQWdCLEU1QmduQnlCLE9BQWtDLEcrQzlMMUU7RUE1REwsQUErREUsYUEvRFcsQUErRFYsa0JBQWtCLENBQUM7SUFDbEIsS0FBSyxFL0MySzJCLElBQUk7SStDMUtwQyxNQUFNLEUvQzJLMEIsTUFBSztJK0MxS3JDLEtBQUssRUFBRSxXQUFXO0lBQ2xCLE1BQU0sRS9DMEswQixPQUFPO0krQ3pLdkMsZ0JBQWdCLEUvQ3RiVCxPQUFPO0krQ3ViZCxZQUFZLEVBQUUsV0FBVztJckIvYXpCLGFBQWEsRTFCeWxCbUIsSUFBSSxHK0N2S3JDO0VBeEVILEFBMEVFLGFBMUVXLEFBMEVWLFdBQVcsQ0FBQztJQUNYLEtBQUssRS9DdUtvQyxJQUFJO0krQ3RLN0MsTUFBTSxFL0NzS21DLElBQUk7SStDcks3QyxVQUFVLEVBQUUsQ0FBQztJQUNiLFlBQVksRS9DN0RjLE1BQUs7SStDOEQvQixXQUFXLEUvQzlEZSxNQUFLO0k0QnZZL0IsZ0JBQWdCLEU1QjhCVixPQUFPO0krQ3lhYixNQUFNLEUvQ29LbUMsQ0FBQztJMEIvbEIxQyxhQUFhLEUxQmdtQjRCLElBQUk7STZCbG1CM0MsVUFBVSxFN0I4ZndCLGdCQUFnQixDQUFDLEtBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLEtBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEtBQUksQ0FBQyxXQUFXO0krQzdEakksVUFBVSxFQUFFLElBQUksR0FLakI7SWxCbGNHLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNO01rQndXNUMsQUEwRUUsYUExRVcsQUEwRVYsV0FBVyxDQUFDO1FsQmpiUCxVQUFVLEVBQUUsSUFBSSxHa0JpY3JCO0lBMUZILEFBdUZJLGFBdkZTLEFBMEVWLFdBQVcsQUFhVCxPQUFPLENBQUM7TW5CN2NULGdCQUFnQixFNUJnbkJ5QixPQUFrQyxHK0NqSzFFO0VBekZMLEFBNEZFLGFBNUZXLEFBNEZWLFdBQVcsQ0FBQztJQUNYLEtBQUssRS9DOEkyQixJQUFJO0krQzdJcEMsTUFBTSxFL0M4STBCLE1BQUs7SStDN0lyQyxLQUFLLEVBQUUsV0FBVztJQUNsQixNQUFNLEUvQzZJMEIsT0FBTztJK0M1SXZDLGdCQUFnQixFQUFFLFdBQVc7SUFDN0IsWUFBWSxFQUFFLFdBQVc7SUFDekIsWUFBWSxFQUFFLE1BQThCLEdBRTdDO0VBckdILEFBdUdFLGFBdkdXLEFBdUdWLGdCQUFnQixDQUFDO0lBQ2hCLGdCQUFnQixFL0MxZFQsT0FBTztJMEJRZCxhQUFhLEUxQnlsQm1CLElBQUksRytDcklyQztFQTFHSCxBQTRHRSxhQTVHVyxBQTRHVixnQkFBZ0IsQ0FBQztJQUNoQixZQUFZLEVBQUUsSUFBSTtJQUNsQixnQkFBZ0IsRS9DaGVULE9BQU87STBCUWQsYUFBYSxFMUJ5bEJtQixJQUFJLEcrQy9IckM7RUFoSEgsQUFtSEksYUFuSFMsQUFrSFYsU0FBUyxBQUNQLHNCQUFzQixDQUFDO0lBQ3RCLGdCQUFnQixFL0NwZVgsT0FBTyxHK0NxZWI7RUFySEwsQUF1SEksYUF2SFMsQUFrSFYsU0FBUyxBQUtQLCtCQUErQixDQUFDO0lBQy9CLE1BQU0sRUFBRSxPQUFPLEdBQ2hCO0VBekhMLEFBMkhJLGFBM0hTLEFBa0hWLFNBQVMsQUFTUCxrQkFBa0IsQ0FBQztJQUNsQixnQkFBZ0IsRS9DNWVYLE9BQU8sRytDNmViO0VBN0hMLEFBK0hJLGFBL0hTLEFBa0hWLFNBQVMsQUFhUCxrQkFBa0IsQ0FBQztJQUNsQixNQUFNLEVBQUUsT0FBTyxHQUNoQjtFQWpJTCxBQW1JSSxhQW5JUyxBQWtIVixTQUFTLEFBaUJQLFdBQVcsQ0FBQztJQUNYLGdCQUFnQixFL0NwZlgsT0FBTyxHK0NxZmI7O0FBSUwsQUFBQSxxQkFBcUIsQUFBQSxRQUFRO0FBQzdCLGtCQUFrQjtBQUNsQixjQUFjLENBQUM7RWxCdmZULFVBQVUsRTdCOGZ3QixnQkFBZ0IsQ0FBQyxLQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxLQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxLQUFJLENBQUMsV0FBVyxHK0NMcEk7RWxCcmZLLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNO0lrQmlmNUMsQUFBQSxxQkFBcUIsQUFBQSxRQUFRO0lBQzdCLGtCQUFrQjtJQUNsQixjQUFjLENBQUM7TWxCbGZQLFVBQVUsRUFBRSxJQUFJLEdrQm9mdkI7O0FDcGdCRCxBQUFBLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixZQUFZLEVBQUUsQ0FBQztFQUNmLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUVELEFBQUEsU0FBUyxDQUFDO0VBQ1IsT0FBTyxFQUFFLEtBQUs7RUFDZCxPQUFPLEVoRDhxQjJCLE1BQUssQ0FDTCxJQUFJLEdnRGxxQnZDO0VBZkQsQTNDR0UsUzJDSE8sQTNDR04sTUFBTSxFMkNIVCxTQUFTLEEzQ0lOLE1BQU0sQ0FBQztJMkNFTixlQUFlLEVBQUUsSUFBSSxHM0NBdEI7RTJDTkgsQUFVRSxTQVZPLEFBVU4sU0FBUyxDQUFDO0lBQ1QsS0FBSyxFaERYRSxPQUFPO0lnRFlkLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQU9ILEFBQUEsU0FBUyxDQUFDO0VBQ1IsYUFBYSxFaEQ4TWUsR0FBRyxDZ0Q5TU8sS0FBSyxDaER6QmxDLE9BQU8sR2dEMkRqQjtFQW5DRCxBQUdFLFNBSE8sQ0FHUCxTQUFTLENBQUM7SUFDUixhQUFhLEVoRDJNYSxJQUFHLEdnRDFNOUI7RUFMSCxBQU9FLFNBUE8sQ0FPUCxTQUFTLENBQUM7SUFDUixNQUFNLEVoRHVNb0IsR0FBRyxDZ0R2TUUsS0FBSyxDQUFDLFdBQVc7SXRCZmhELHNCQUFzQixFMUJ5TkksT0FBTTtJMEJ4TmhDLHVCQUF1QixFMUJ3TkcsT0FBTSxHZ0Q5TGpDO0lBcEJILEEzQ2xCRSxTMkNrQk8sQ0FPUCxTQUFTLEEzQ3pCUixNQUFNLEUyQ2tCVCxTQUFTLENBT1AsU0FBUyxBM0N4QlIsTUFBTSxDQUFDO00yQzZCSixZQUFZLEVoRHJDUCxPQUFPLENBQVAsT0FBTyxDQUNQLE9BQU8sR0tTZjtJMkNlSCxBQWVJLFNBZkssQ0FPUCxTQUFTLEFBUU4sU0FBUyxDQUFDO01BQ1QsS0FBSyxFaERyQ0EsT0FBTztNZ0RzQ1osZ0JBQWdCLEVBQUUsV0FBVztNQUM3QixZQUFZLEVBQUUsV0FBVyxHQUMxQjtFQW5CTCxBQXNCRSxTQXRCTyxDQXNCUCxTQUFTLEFBQUEsT0FBTztFQXRCbEIsU0FBUyxDQXVCUCxTQUFTLEFBQUEsS0FBSyxDQUFDLFNBQVMsQ0FBQztJQUN2QixLQUFLLEVoRDVDRSxPQUFPO0lnRDZDZCxnQkFBZ0IsRWhEcERULElBQUk7SWdEcURYLFlBQVksRWhEbERMLE9BQU8sQ0FBUCxPQUFPLENBSFAsSUFBSSxHZ0RzRFo7RUEzQkgsQUE2QkUsU0E3Qk8sQ0E2QlAsY0FBYyxDQUFDO0lBRWIsVUFBVSxFaERnTGdCLElBQUc7STBCdE43QixzQkFBc0IsRXNCd0NLLENBQUM7SXRCdkM1Qix1QkFBdUIsRXNCdUNJLENBQUMsR0FDN0I7O0FBUUgsQUFDRSxVQURRLENBQ1IsU0FBUyxDQUFDO0V0QjNEUixhQUFhLEUxQmtPYSxPQUFNLEdnRHJLakM7O0FBSEgsQUFLRSxVQUxRLENBS1IsU0FBUyxBQUFBLE9BQU87QUFMbEIsVUFBVSxDQU1SLEtBQUssR0FBRyxTQUFTLENBQUM7RUFDaEIsS0FBSyxFaEQ1RUUsSUFBSTtFZ0Q2RVgsZ0JBQWdCLEVoRGhEVixPQUFPLEdnRGlEZDs7QUFRSCxBQUNFLFNBRE8sQ0FDUCxTQUFTLENBQUM7RUFDUixJQUFJLEVBQUUsUUFBUTtFQUNkLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQUdILEFBQ0UsY0FEWSxDQUNaLFNBQVMsQ0FBQztFQUNSLFVBQVUsRUFBRSxDQUFDO0VBQ2IsU0FBUyxFQUFFLENBQUM7RUFDWixVQUFVLEVBQUUsTUFBTSxHQUNuQjs7QUFRSCxBQUNFLFlBRFUsR0FDUixTQUFTLENBQUM7RUFDVixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUhILEFBSUUsWUFKVSxHQUlSLE9BQU8sQ0FBQztFQUNSLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FDdEdILEFBQUEsT0FBTyxDQUFDO0VBQ04sUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxhQUFhO0VBQzlCLE9BQU8sRWpENHJCMkIsTUFBVyxDQXprQnRDLElBQUksR2lEOUZaO0VBM0JELEFBVUUsT0FWSyxDQWlCTCxVQUFVO0VBakJaLE9BQU8sQ0FrQkwsZ0JBQWdCLEVBbEJsQixPQUFPLENWQ0gsYUFBYSxFVURqQixPQUFPLENWQ0gsYUFBYSxFVURqQixPQUFPLENWQ0gsYUFBYSxFVURqQixPQUFPLENWQ0gsYUFBYSxDVVNZO0lBQ3pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsTUFBTTtJQUNuQixlQUFlLEVBQUUsYUFBYSxHQUMvQjs7QUFtQkgsQUFBQSxhQUFhLENBQUM7RUFDWixPQUFPLEVBQUUsWUFBWTtFQUNyQixXQUFXLEVqRHVxQnVCLFNBQTZDO0VpRHRxQi9FLGNBQWMsRWpEc3FCb0IsU0FBNkM7RWlEcnFCL0UsWUFBWSxFakRtRkwsSUFBSTtFRVhQLFNBQVMsRUF0Q0UsT0FBQztFK0NoQ2hCLFdBQVcsRUFBRSxPQUFPO0VBQ3BCLFdBQVcsRUFBRSxNQUFNLEdBS3BCO0VBWkQsQTVDbkNFLGE0Q21DVyxBNUNuQ1YsTUFBTSxFNENtQ1QsYUFBYSxBNUNsQ1YsTUFBTSxDQUFDO0k0QzRDTixlQUFlLEVBQUUsSUFBSSxHNUMxQ3RCOztBNENtREgsQUFBQSxXQUFXLENBQUM7RUFDVixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFlBQVksRUFBRSxDQUFDO0VBQ2YsYUFBYSxFQUFFLENBQUM7RUFDaEIsVUFBVSxFQUFFLElBQUksR0FXakI7RUFoQkQsQUFPRSxXQVBTLENBT1QsU0FBUyxDQUFDO0lBQ1IsYUFBYSxFQUFFLENBQUM7SUFDaEIsWUFBWSxFQUFFLENBQUMsR0FDaEI7RUFWSCxBQVlFLFdBWlMsQ0FZVCxjQUFjLENBQUM7SUFDYixRQUFRLEVBQUUsTUFBTTtJQUNoQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQVFILEFBQUEsWUFBWSxDQUFDO0VBQ1gsT0FBTyxFQUFFLFlBQVk7RUFDckIsV0FBVyxFakQ4bEJ1QixNQUFLO0VpRDdsQnZDLGNBQWMsRWpENmxCb0IsTUFBSyxHaUQ1bEJ4Qzs7QUFXRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsVUFBVSxFQUFFLElBQUk7RUFDaEIsU0FBUyxFQUFFLENBQUM7RUFHWixXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QUFHRCxBQUFBLGVBQWUsQ0FBQztFQUNkLE9BQU8sRWpEd21CMkIsT0FBTSxDQUNOLE9BQU07RUVobUJwQyxTQUFTLEVBdENFLE9BQUM7RStDK0JoQixXQUFXLEVBQUUsQ0FBQztFQUNkLGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsTUFBTSxFakR1SHNCLEdBQUcsQ2lEdkhULEtBQUssQ0FBQyxXQUFXO0V2QnhHckMsYUFBYSxFMUJrT2EsT0FBTSxHaURwSG5DO0VBWEQsQTVDckdFLGU0Q3FHYSxBNUNyR1osTUFBTSxFNENxR1QsZUFBZSxBNUNwR1osTUFBTSxDQUFDO0k0QzZHTixlQUFlLEVBQUUsSUFBSSxHNUMzR3RCOztBNENpSEgsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxLQUFLO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsT0FBTyxFQUFFLEVBQUU7RUFDWCxVQUFVLEVBQUUsdUJBQXVCO0VBQ25DLGVBQWUsRUFBRSxTQUFTLEdBQzNCOztBN0NuRUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO0U2QzRFMUIsQUFFRyxpQkFGQSxHQU9FLFVBQVU7RUFQZixpQkFBRyxHQVFFLGdCQUFnQixFQVJyQixpQkFBRyxHVm5JSixhQUFhLEVVbUlaLGlCQUFHLEdWbklKLGFBQWEsRVVtSVosaUJBQUcsR1ZuSUosYUFBYSxFVW1JWixpQkFBRyxHVm5JSixhQUFhLENVcUkrQjtJQUN0QyxhQUFhLEVBQUUsQ0FBQztJQUNoQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QTdDOUZMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFNkN5RnZCLEFBQUQsaUJBQUksQ0FBTztJQW9CUCxTQUFTLEVBQUUsVUFBVTtJQUNyQixlQUFlLEVBQUUsVUFBVSxHQTBDOUI7SUEvREEsQUF1QkcsaUJBdkJBLENBdUJBLFdBQVcsQ0FBQztNQUNWLGNBQWMsRUFBRSxHQUFHLEdBVXBCO01BbENKLEFBMEJLLGlCQTFCRixDQXVCQSxXQUFXLENBR1QsY0FBYyxDQUFDO1FBQ2IsUUFBUSxFQUFFLFFBQVEsR0FDbkI7TUE1Qk4sQUE4QkssaUJBOUJGLENBdUJBLFdBQVcsQ0FPVCxTQUFTLENBQUM7UUFDUixhQUFhLEVqRGtpQlcsTUFBSztRaURqaUI3QixZQUFZLEVqRGlpQlksTUFBSyxHaURoaUI5QjtJQWpDTixBQXFDRyxpQkFyQ0EsR0FPRSxVQUFVO0lBUGYsaUJBQUcsR0FRRSxnQkFBZ0IsRUFSckIsaUJBQUcsR1ZuSUosYUFBYSxFVW1JWixpQkFBRyxHVm5JSixhQUFhLEVVbUlaLGlCQUFHLEdWbklKLGFBQWEsRVVtSVosaUJBQUcsR1ZuSUosYUFBYSxDVXdLeUI7TUFDaEMsU0FBUyxFQUFFLE1BQU0sR0FDbEI7SUF2Q0osQUFvREcsaUJBcERBLENBb0RBLGdCQUFnQixDQUFDO01BQ2YsT0FBTyxFQUFFLGVBQWU7TUFHeEIsVUFBVSxFQUFFLElBQUksR0FDakI7SUF6REosQUEyREcsaUJBM0RBLENBMkRBLGVBQWUsQ0FBQztNQUNkLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0E3Q3pJTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RTZDNEUxQixBQUVHLGlCQUZBLEdBT0UsVUFBVTtFQVBmLGlCQUFHLEdBUUUsZ0JBQWdCLEVBUnJCLGlCQUFHLEdWbklKLGFBQWEsRVVtSVosaUJBQUcsR1ZuSUosYUFBYSxFVW1JWixpQkFBRyxHVm5JSixhQUFhLEVVbUlaLGlCQUFHLEdWbklKLGFBQWEsQ1VxSStCO0lBQ3RDLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBN0M5RkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0U2Q3lGdkIsQUFBRCxpQkFBSSxDQUFPO0lBb0JQLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLGVBQWUsRUFBRSxVQUFVLEdBMEM5QjtJQS9EQSxBQXVCRyxpQkF2QkEsQ0F1QkEsV0FBVyxDQUFDO01BQ1YsY0FBYyxFQUFFLEdBQUcsR0FVcEI7TUFsQ0osQUEwQkssaUJBMUJGLENBdUJBLFdBQVcsQ0FHVCxjQUFjLENBQUM7UUFDYixRQUFRLEVBQUUsUUFBUSxHQUNuQjtNQTVCTixBQThCSyxpQkE5QkYsQ0F1QkEsV0FBVyxDQU9ULFNBQVMsQ0FBQztRQUNSLGFBQWEsRWpEa2lCVyxNQUFLO1FpRGppQjdCLFlBQVksRWpEaWlCWSxNQUFLLEdpRGhpQjlCO0lBakNOLEFBcUNHLGlCQXJDQSxHQU9FLFVBQVU7SUFQZixpQkFBRyxHQVFFLGdCQUFnQixFQVJyQixpQkFBRyxHVm5JSixhQUFhLEVVbUlaLGlCQUFHLEdWbklKLGFBQWEsRVVtSVosaUJBQUcsR1ZuSUosYUFBYSxFVW1JWixpQkFBRyxHVm5JSixhQUFhLENVd0t5QjtNQUNoQyxTQUFTLEVBQUUsTUFBTSxHQUNsQjtJQXZDSixBQW9ERyxpQkFwREEsQ0FvREEsZ0JBQWdCLENBQUM7TUFDZixPQUFPLEVBQUUsZUFBZTtNQUd4QixVQUFVLEVBQUUsSUFBSSxHQUNqQjtJQXpESixBQTJERyxpQkEzREEsQ0EyREEsZUFBZSxDQUFDO01BQ2QsT0FBTyxFQUFFLElBQUksR0FDZDs7QTdDeklMLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtFNkM0RTFCLEFBRUcsaUJBRkEsR0FPRSxVQUFVO0VBUGYsaUJBQUcsR0FRRSxnQkFBZ0IsRUFSckIsaUJBQUcsR1ZuSUosYUFBYSxFVW1JWixpQkFBRyxHVm5JSixhQUFhLEVVbUlaLGlCQUFHLEdWbklKLGFBQWEsRVVtSVosaUJBQUcsR1ZuSUosYUFBYSxDVXFJK0I7SUFDdEMsYUFBYSxFQUFFLENBQUM7SUFDaEIsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0E3QzlGTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RTZDeUZ2QixBQUFELGlCQUFJLENBQU87SUFvQlAsU0FBUyxFQUFFLFVBQVU7SUFDckIsZUFBZSxFQUFFLFVBQVUsR0EwQzlCO0lBL0RBLEFBdUJHLGlCQXZCQSxDQXVCQSxXQUFXLENBQUM7TUFDVixjQUFjLEVBQUUsR0FBRyxHQVVwQjtNQWxDSixBQTBCSyxpQkExQkYsQ0F1QkEsV0FBVyxDQUdULGNBQWMsQ0FBQztRQUNiLFFBQVEsRUFBRSxRQUFRLEdBQ25CO01BNUJOLEFBOEJLLGlCQTlCRixDQXVCQSxXQUFXLENBT1QsU0FBUyxDQUFDO1FBQ1IsYUFBYSxFakRraUJXLE1BQUs7UWlEamlCN0IsWUFBWSxFakRpaUJZLE1BQUssR2lEaGlCOUI7SUFqQ04sQUFxQ0csaUJBckNBLEdBT0UsVUFBVTtJQVBmLGlCQUFHLEdBUUUsZ0JBQWdCLEVBUnJCLGlCQUFHLEdWbklKLGFBQWEsRVVtSVosaUJBQUcsR1ZuSUosYUFBYSxFVW1JWixpQkFBRyxHVm5JSixhQUFhLEVVbUlaLGlCQUFHLEdWbklKLGFBQWEsQ1V3S3lCO01BQ2hDLFNBQVMsRUFBRSxNQUFNLEdBQ2xCO0lBdkNKLEFBb0RHLGlCQXBEQSxDQW9EQSxnQkFBZ0IsQ0FBQztNQUNmLE9BQU8sRUFBRSxlQUFlO01BR3hCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0lBekRKLEFBMkRHLGlCQTNEQSxDQTJEQSxlQUFlLENBQUM7TUFDZCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBN0N6SUwsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U2QzRFM0IsQUFFRyxpQkFGQSxHQU9FLFVBQVU7RUFQZixpQkFBRyxHQVFFLGdCQUFnQixFQVJyQixpQkFBRyxHVm5JSixhQUFhLEVVbUlaLGlCQUFHLEdWbklKLGFBQWEsRVVtSVosaUJBQUcsR1ZuSUosYUFBYSxFVW1JWixpQkFBRyxHVm5JSixhQUFhLENVcUkrQjtJQUN0QyxhQUFhLEVBQUUsQ0FBQztJQUNoQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QTdDOUZMLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFNkN5RnhCLEFBQUQsaUJBQUksQ0FBTztJQW9CUCxTQUFTLEVBQUUsVUFBVTtJQUNyQixlQUFlLEVBQUUsVUFBVSxHQTBDOUI7SUEvREEsQUF1QkcsaUJBdkJBLENBdUJBLFdBQVcsQ0FBQztNQUNWLGNBQWMsRUFBRSxHQUFHLEdBVXBCO01BbENKLEFBMEJLLGlCQTFCRixDQXVCQSxXQUFXLENBR1QsY0FBYyxDQUFDO1FBQ2IsUUFBUSxFQUFFLFFBQVEsR0FDbkI7TUE1Qk4sQUE4QkssaUJBOUJGLENBdUJBLFdBQVcsQ0FPVCxTQUFTLENBQUM7UUFDUixhQUFhLEVqRGtpQlcsTUFBSztRaURqaUI3QixZQUFZLEVqRGlpQlksTUFBSyxHaURoaUI5QjtJQWpDTixBQXFDRyxpQkFyQ0EsR0FPRSxVQUFVO0lBUGYsaUJBQUcsR0FRRSxnQkFBZ0IsRUFSckIsaUJBQUcsR1ZuSUosYUFBYSxFVW1JWixpQkFBRyxHVm5JSixhQUFhLEVVbUlaLGlCQUFHLEdWbklKLGFBQWEsRVVtSVosaUJBQUcsR1ZuSUosYUFBYSxDVXdLeUI7TUFDaEMsU0FBUyxFQUFFLE1BQU0sR0FDbEI7SUF2Q0osQUFvREcsaUJBcERBLENBb0RBLGdCQUFnQixDQUFDO01BQ2YsT0FBTyxFQUFFLGVBQWU7TUFHeEIsVUFBVSxFQUFFLElBQUksR0FDakI7SUF6REosQUEyREcsaUJBM0RBLENBMkRBLGVBQWUsQ0FBQztNQUNkLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBbEVULEFBS0ksY0FMVSxDQUtDO0VBb0JQLFNBQVMsRUFBRSxVQUFVO0VBQ3JCLGVBQWUsRUFBRSxVQUFVLEdBMEM5QjtFQXBFTCxBQU9RLGNBUE0sR0FZSixVQUFVO0VBWnBCLGNBQWMsR0FhSixnQkFBZ0IsRUFiMUIsY0FBYyxHVjlIVixhQUFhLEVVOEhqQixjQUFjLEdWOUhWLGFBQWEsRVU4SGpCLGNBQWMsR1Y5SFYsYUFBYSxFVThIakIsY0FBYyxHVjlIVixhQUFhLENVcUkrQjtJQUN0QyxhQUFhLEVBQUUsQ0FBQztJQUNoQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFQVZULEFBNEJRLGNBNUJNLENBNEJOLFdBQVcsQ0FBQztJQUNWLGNBQWMsRUFBRSxHQUFHLEdBVXBCO0lBdkNULEFBK0JVLGNBL0JJLENBNEJOLFdBQVcsQ0FHVCxjQUFjLENBQUM7TUFDYixRQUFRLEVBQUUsUUFBUSxHQUNuQjtJQWpDWCxBQW1DVSxjQW5DSSxDQTRCTixXQUFXLENBT1QsU0FBUyxDQUFDO01BQ1IsYUFBYSxFakRraUJXLE1BQUs7TWlEamlCN0IsWUFBWSxFakRpaUJZLE1BQUssR2lEaGlCOUI7RUF0Q1gsQUEwQ1EsY0ExQ00sR0FZSixVQUFVO0VBWnBCLGNBQWMsR0FhSixnQkFBZ0IsRUFiMUIsY0FBYyxHVjlIVixhQUFhLEVVOEhqQixjQUFjLEdWOUhWLGFBQWEsRVU4SGpCLGNBQWMsR1Y5SFYsYUFBYSxFVThIakIsY0FBYyxHVjlIVixhQUFhLENVd0t5QjtJQUNoQyxTQUFTLEVBQUUsTUFBTSxHQUNsQjtFQTVDVCxBQXlEUSxjQXpETSxDQXlETixnQkFBZ0IsQ0FBQztJQUNmLE9BQU8sRUFBRSxlQUFlO0lBR3hCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBOURULEFBZ0VRLGNBaEVNLENBZ0VOLGVBQWUsQ0FBQztJQUNkLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBWVQsQUFDRSxhQURXLENBQ1gsYUFBYSxDQUFDO0VBQ1osS0FBSyxFakQvTUUsa0JBQUksR2lEb05aO0VBUEgsQTVDOU1FLGE0QzhNVyxDQUNYLGFBQWEsQTVDL01aLE1BQU0sRTRDOE1ULGFBQWEsQ0FDWCxhQUFhLEE1QzlNWixNQUFNLENBQUM7STRDa05KLEtBQUssRWpEbE5BLGtCQUFJLEdLRVo7O0E0QzJNSCxBQVVJLGFBVlMsQ0FTWCxXQUFXLENBQ1QsU0FBUyxDQUFDO0VBQ1IsS0FBSyxFakR4TkEsa0JBQUksR2lEaU9WO0VBcEJMLEE1QzlNRSxhNEM4TVcsQ0FTWCxXQUFXLENBQ1QsU0FBUyxBNUN4TlYsTUFBTSxFNEM4TVQsYUFBYSxDQVNYLFdBQVcsQ0FDVCxTQUFTLEE1Q3ZOVixNQUFNLENBQUM7STRDMk5GLEtBQUssRWpEM05GLGtCQUFJLEdLRVo7RTRDMk1ILEFBaUJNLGFBakJPLENBU1gsV0FBVyxDQUNULFNBQVMsQUFPTixTQUFTLENBQUM7SUFDVCxLQUFLLEVqRC9ORixrQkFBSSxHaURnT1I7O0FBbkJQLEFBc0JJLGFBdEJTLENBU1gsV0FBVyxDQWFULEtBQUssR0FBRyxTQUFTO0FBdEJyQixhQUFhLENBU1gsV0FBVyxDQWNULE9BQU8sR0FBRyxTQUFTO0FBdkJ2QixhQUFhLENBU1gsV0FBVyxDQWVULFNBQVMsQUFBQSxLQUFLO0FBeEJsQixhQUFhLENBU1gsV0FBVyxDQWdCVCxTQUFTLEFBQUEsT0FBTyxDQUFDO0VBQ2YsS0FBSyxFakR2T0Esa0JBQUksR2lEd09WOztBQTNCTCxBQThCRSxhQTlCVyxDQThCWCxlQUFlLENBQUM7RUFDZCxLQUFLLEVqRDVPRSxrQkFBSTtFaUQ2T1gsWUFBWSxFakQ3T0wsa0JBQUksR2lEOE9aOztBQWpDSCxBQW1DRSxhQW5DVyxDQW1DWCxvQkFBb0IsQ0FBQztFQUNuQixnQkFBZ0IsRWxEeE1ILGlRQUFpRSxHa0R5TS9FOztBQXJDSCxBQXVDRSxhQXZDVyxDQXVDWCxZQUFZLENBQUM7RUFDWCxLQUFLLEVqRHJQRSxrQkFBSSxHaUQ2UFo7RUFoREgsQUF5Q0ksYUF6Q1MsQ0F1Q1gsWUFBWSxDQUVWLENBQUMsQ0FBQztJQUNBLEtBQUssRWpEdlBBLGtCQUFJLEdpRDRQVjtJQS9DTCxBNUM5TUUsYTRDOE1XLENBdUNYLFlBQVksQ0FFVixDQUFDLEE1Q3ZQRixNQUFNLEU0QzhNVCxhQUFhLENBdUNYLFlBQVksQ0FFVixDQUFDLEE1Q3RQRixNQUFNLENBQUM7TTRDMFBGLEtBQUssRWpEMVBGLGtCQUFJLEdLRVo7O0E0QytQSCxBQUNFLFlBRFUsQ0FDVixhQUFhLENBQUM7RUFDWixLQUFLLEVqRDdRRSxJQUFJLEdpRGtSWjtFQVBILEE1Q2xRRSxZNENrUVUsQ0FDVixhQUFhLEE1Q25RWixNQUFNLEU0Q2tRVCxZQUFZLENBQ1YsYUFBYSxBNUNsUVosTUFBTSxDQUFDO0k0Q3NRSixLQUFLLEVqRGhSQSxJQUFJLEdLWVo7O0E0QytQSCxBQVVJLFlBVlEsQ0FTVixXQUFXLENBQ1QsU0FBUyxDQUFDO0VBQ1IsS0FBSyxFakR0UkEsd0JBQUksR2lEK1JWO0VBcEJMLEE1Q2xRRSxZNENrUVUsQ0FTVixXQUFXLENBQ1QsU0FBUyxBNUM1UVYsTUFBTSxFNENrUVQsWUFBWSxDQVNWLFdBQVcsQ0FDVCxTQUFTLEE1QzNRVixNQUFNLENBQUM7STRDK1FGLEtBQUssRWpEelJGLHlCQUFJLEdLWVo7RTRDK1BILEFBaUJNLFlBakJNLENBU1YsV0FBVyxDQUNULFNBQVMsQUFPTixTQUFTLENBQUM7SUFDVCxLQUFLLEVqRDdSRix5QkFBSSxHaUQ4UlI7O0FBbkJQLEFBc0JJLFlBdEJRLENBU1YsV0FBVyxDQWFULEtBQUssR0FBRyxTQUFTO0FBdEJyQixZQUFZLENBU1YsV0FBVyxDQWNULE9BQU8sR0FBRyxTQUFTO0FBdkJ2QixZQUFZLENBU1YsV0FBVyxDQWVULFNBQVMsQUFBQSxLQUFLO0FBeEJsQixZQUFZLENBU1YsV0FBVyxDQWdCVCxTQUFTLEFBQUEsT0FBTyxDQUFDO0VBQ2YsS0FBSyxFakRyU0EsSUFBSSxHaURzU1Y7O0FBM0JMLEFBOEJFLFlBOUJVLENBOEJWLGVBQWUsQ0FBQztFQUNkLEtBQUssRWpEMVNFLHdCQUFJO0VpRDJTWCxZQUFZLEVqRDNTTCx3QkFBSSxHaUQ0U1o7O0FBakNILEFBbUNFLFlBbkNVLENBbUNWLG9CQUFvQixDQUFDO0VBQ25CLGdCQUFnQixFbEQ1UEgsdVFBQWlFLEdrRDZQL0U7O0FBckNILEFBdUNFLFlBdkNVLENBdUNWLFlBQVksQ0FBQztFQUNYLEtBQUssRWpEblRFLHdCQUFJLEdpRDJUWjtFQWhESCxBQXlDSSxZQXpDUSxDQXVDVixZQUFZLENBRVYsQ0FBQyxDQUFDO0lBQ0EsS0FBSyxFakRyVEEsSUFBSSxHaUQwVFY7SUEvQ0wsQTVDbFFFLFk0Q2tRVSxDQXVDVixZQUFZLENBRVYsQ0FBQyxBNUMzU0YsTUFBTSxFNENrUVQsWUFBWSxDQXVDVixZQUFZLENBRVYsQ0FBQyxBNUMxU0YsTUFBTSxDQUFDO000QzhTRixLQUFLLEVqRHhURixJQUFJLEdLWVo7O0E2Q2ZILEFBQUEsS0FBSyxDQUFDO0VBQ0osUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixTQUFTLEVBQUUsQ0FBQztFQUVaLFNBQVMsRUFBRSxVQUFVO0VBQ3JCLGdCQUFnQixFbERKUCxJQUFJO0VrREtiLGVBQWUsRUFBRSxVQUFVO0VBQzNCLE1BQU0sRWxEb09zQixHQUFHLENrRHBPSixLQUFLLENsREl2QixvQkFBSTtFMEJDWCxhQUFhLEUxQmtPYSxPQUFNLEdrRGpObkM7RUEvQkQsQUFZRSxLQVpHLEdBWUQsRUFBRSxDQUFDO0lBQ0gsWUFBWSxFQUFFLENBQUM7SUFDZixXQUFXLEVBQUUsQ0FBQyxHQUNmO0VBZkgsQUFpQkUsS0FqQkcsR0FpQkQsV0FBVyxDQUFDO0lBQ1osVUFBVSxFQUFFLE9BQU87SUFDbkIsYUFBYSxFQUFFLE9BQU8sR0FXdkI7SUE5QkgsQUFxQkksS0FyQkMsR0FpQkQsV0FBVyxBQUlWLFlBQVksQ0FBQztNQUNaLGdCQUFnQixFQUFFLENBQUM7TXhCQ3JCLHNCQUFzQixFM0JnSFMsbUJBQTZCO00yQi9HNUQsdUJBQXVCLEUzQitHUSxtQkFBNkIsR21EL0czRDtJQXhCTCxBQTBCSSxLQTFCQyxHQWlCRCxXQUFXLEFBU1YsV0FBVyxDQUFFO01BQ1osbUJBQW1CLEVBQUUsQ0FBQztNeEJVeEIsMEJBQTBCLEUzQmtHSyxtQkFBNkI7TTJCakc1RCx5QkFBeUIsRTNCaUdNLG1CQUE2QixHbUQxRzNEOztBQUlMLEFBQUEsVUFBVSxDQUFDO0VBR1QsSUFBSSxFQUFFLFFBQVE7RUFHZCxVQUFVLEVBQUUsR0FBRztFQUNmLE9BQU8sRWxEc3hCMkIsT0FBTyxHa0RweEIxQzs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNWLGFBQWEsRWxEZ3hCcUIsT0FBTSxHa0Qvd0J6Qzs7QUFFRCxBQUFBLGNBQWMsQ0FBQztFQUNiLFVBQVUsRUFBRSxTQUFtQjtFQUMvQixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUFFRCxBQUFBLFVBQVUsQUFBQSxXQUFXLENBQUM7RUFDcEIsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBRUQsQTdDakRFLFU2Q2lEUSxBN0NqRFAsTUFBTSxDQUFDO0U2Q21ETixlQUFlLEVBQUUsSUFBSSxHN0NuREQ7O0E2Q2lEeEIsQUFLRSxVQUxRLEdBS04sVUFBVSxDQUFDO0VBQ1gsV0FBVyxFbEQrdkJxQixPQUFPLEdrRDl2QnhDOztBQU9ILEFBQUEsWUFBWSxDQUFDO0VBQ1gsT0FBTyxFbERxdkIyQixPQUFNLENBQ04sT0FBTztFa0RydkJ6QyxhQUFhLEVBQUUsQ0FBQztFQUVoQixnQkFBZ0IsRWxEOURQLG1CQUFJO0VrRCtEYixhQUFhLEVsRGlLZSxHQUFHLENrRGpLRyxLQUFLLENsRC9EOUIsb0JBQUksR2tEMEVkO0VBaEJELEFBT0UsWUFQVSxBQU9ULFlBQVksQ0FBQztJeEJoRVosYUFBYSxFM0J5SGtCLG1CQUE2QixDQUE3QixtQkFBNkIsQ21EeERlLENBQUMsQ0FBQyxDQUFDLEdBQy9FO0VBVEgsQUFZSSxZQVpRLEdBV1IsV0FBVyxDQUNYLGdCQUFnQixBQUFBLFlBQVksQ0FBQztJQUMzQixVQUFVLEVBQUUsQ0FBQyxHQUNkOztBQUlMLEFBQUEsWUFBWSxDQUFDO0VBQ1gsT0FBTyxFbERtdUIyQixPQUFNLENBQ04sT0FBTztFa0RsdUJ6QyxnQkFBZ0IsRWxEL0VQLG1CQUFJO0VrRGdGYixVQUFVLEVsRGdKa0IsR0FBRyxDa0RoSkEsS0FBSyxDbERoRjNCLG9CQUFJLEdrRHFGZDtFQVRELEFBTUUsWUFOVSxBQU1ULFdBQVcsQ0FBQztJeEJqRlgsYUFBYSxFd0JrRlUsQ0FBQyxDQUFDLENBQUMsQ25EdUNLLG1CQUE2QixDQUE3QixtQkFBNkIsR21EdEM3RDs7QUFRSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFlBQVksRUFBRSxTQUFtQjtFQUNqQyxhQUFhLEVsRGt0QnFCLFFBQU07RWtEanRCeEMsV0FBVyxFQUFFLFNBQW1CO0VBQ2hDLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsWUFBWSxFQUFFLFNBQW1CO0VBQ2pDLFdBQVcsRUFBRSxTQUFtQixHQUNqQzs7QUFHRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFbEQ2c0IyQixPQUFPLEdrRDVzQjFDOztBQUVELEFBQUEsU0FBUztBQUNULGFBQWE7QUFDYixnQkFBZ0IsQ0FBQztFQUNmLFdBQVcsRUFBRSxDQUFDO0VBQ2QsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFFRCxBQUFBLFNBQVM7QUFDVCxhQUFhLENBQUM7RXhCaEhWLHNCQUFzQixFM0JnSFMsbUJBQTZCO0UyQi9HNUQsdUJBQXVCLEUzQitHUSxtQkFBNkIsR21ERS9EOztBQUVELEFBQUEsU0FBUztBQUNULGdCQUFnQixDQUFDO0V4QnZHYiwwQkFBMEIsRTNCa0dLLG1CQUE2QjtFMkJqRzVELHlCQUF5QixFM0JpR00sbUJBQTZCLEdtRE8vRDs7QUFLRCxBQUNFLFVBRFEsQ0FDUixLQUFLLENBQUM7RUFDSixhQUFhLEVsRHNyQm1CLElBQXNCLEdrRHJyQnZEOztBOUM5RkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0U4QzJGNUIsQUFBQSxVQUFVLENBQUM7SUFNUCxPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxRQUFRO0lBQ25CLFlBQVksRWxEZ3JCb0IsS0FBc0I7SWtEL3FCdEQsV0FBVyxFbEQrcUJxQixLQUFzQixHa0RycUJ6RDtJQW5CRCxBQUNFLFVBRFEsQ0FDUixLQUFLLENBVUc7TUFFSixJQUFJLEVBQUUsTUFBTTtNQUNaLFlBQVksRWxEMHFCa0IsSUFBc0I7TWtEenFCcEQsYUFBYSxFQUFFLENBQUM7TUFDaEIsV0FBVyxFbER3cUJtQixJQUFzQixHa0R2cUJyRDs7QUFTTCxBQUdFLFdBSFMsR0FHUCxLQUFLLENBQUM7RUFDTixhQUFhLEVsRDBwQm1CLElBQXNCLEdrRHpwQnZEOztBOUMxSEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0U4Q3FINUIsQUFBQSxXQUFXLENBQUM7SUFRUixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxRQUFRLEdBK0N0QjtJQXhERCxBQUdFLFdBSFMsR0FHUCxLQUFLLENBU0c7TUFFTixJQUFJLEVBQUUsTUFBTTtNQUNaLGFBQWEsRUFBRSxDQUFDLEdBdUNqQjtNQXRETCxBQWlCTSxXQWpCSyxHQVlMLEtBQUssR0FLSCxLQUFLLENBQUM7UUFDTixXQUFXLEVBQUUsQ0FBQztRQUNkLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7TUFwQlAsQUF3QlEsV0F4QkcsR0FZTCxLQUFLLEFBWUYsSUFBSyxDZDNHTixXQUFXLEVjMkdRO1F4QnZLdkIsdUJBQXVCLEV3QndLWSxDQUFDO1F4QnZLcEMsMEJBQTBCLEV3QnVLUyxDQUFDLEdBWS9CO1FBckNULEFBMkJVLFdBM0JDLEdBWUwsS0FBSyxBQVlGLElBQUssQ2QzR04sV0FBVyxFYzhHVCxhQUFhO1FBM0J2QixXQUFXLEdBWUwsS0FBSyxBQVlGLElBQUssQ2QzR04sV0FBVyxFYytHVCxZQUFZLENBQUM7VUFFWCx1QkFBdUIsRUFBRSxDQUFDLEdBQzNCO1FBL0JYLEFBZ0NVLFdBaENDLEdBWUwsS0FBSyxBQVlGLElBQUssQ2QzR04sV0FBVyxFY21IVCxnQkFBZ0I7UUFoQzFCLFdBQVcsR0FZTCxLQUFLLEFBWUYsSUFBSyxDZDNHTixXQUFXLEVjb0hULFlBQVksQ0FBQztVQUVYLDBCQUEwQixFQUFFLENBQUMsR0FDOUI7TUFwQ1gsQUF1Q1EsV0F2Q0csR0FZTCxLQUFLLEFBMkJGLElBQUssQ0xqTEQsWUFBWSxFS2lMRztReEJ4S3hCLHNCQUFzQixFd0J5S1ksQ0FBQztReEJ4S25DLHlCQUF5QixFd0J3S1MsQ0FBQyxHQVk5QjtRQXBEVCxBQTBDVSxXQTFDQyxHQVlMLEtBQUssQUEyQkYsSUFBSyxDTGpMRCxZQUFZLEVLb0xmLGFBQWE7UUExQ3ZCLFdBQVcsR0FZTCxLQUFLLEFBMkJGLElBQUssQ0xqTEQsWUFBWSxFS3FMZixZQUFZLENBQUM7VUFFWCxzQkFBc0IsRUFBRSxDQUFDLEdBQzFCO1FBOUNYLEFBK0NVLFdBL0NDLEdBWUwsS0FBSyxBQTJCRixJQUFLLENMakxELFlBQVksRUt5TGYsZ0JBQWdCO1FBL0MxQixXQUFXLEdBWUwsS0FBSyxBQTJCRixJQUFLLENMakxELFlBQVksRUswTGYsWUFBWSxDQUFDO1VBRVgseUJBQXlCLEVBQUUsQ0FBQyxHQUM3Qjs7QUFZWCxBQUNFLGFBRFcsQ0FDWCxLQUFLLENBQUM7RUFDSixhQUFhLEVsRCtrQm1CLE9BQU0sR2tEOWtCdkM7O0E5Q3ZMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RThDb0w1QixBQUFBLGFBQWEsQ0FBQztJQU1WLFlBQVksRWxENGxCb0IsQ0FBQztJa0QzbEJqQyxVQUFVLEVsRDRsQnNCLE9BQU87SWtEM2xCdkMsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQyxHQU9aO0lBaEJELEFBQ0UsYUFEVyxDQUNYLEtBQUssQ0FVRztNQUNKLE9BQU8sRUFBRSxZQUFZO01BQ3JCLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBU0wsQUFDRSxVQURRLEdBQ04sS0FBSyxDQUFDO0VBQ04sUUFBUSxFQUFFLE1BQU0sR0FlakI7RUFqQkgsQUFJSSxVQUpNLEdBQ04sS0FBSyxBQUdKLElBQUssQ0FBQSxhQUFhLEVBQUU7SUFDbkIsYUFBYSxFQUFFLENBQUM7SXhCbk9sQiwwQkFBMEIsRXdCb09NLENBQUM7SXhCbk9qQyx5QkFBeUIsRXdCbU9PLENBQUMsR0FDaEM7RUFQTCxBQVNJLFVBVE0sR0FDTixLQUFLLEFBUUosSUFBSyxDQUFBLGNBQWMsRUFBRTtJeEJyUHRCLHNCQUFzQixFd0JzUE8sQ0FBQztJeEJyUDlCLHVCQUF1QixFd0JxUE0sQ0FBQyxHQUM3QjtFQVhMLEFBYUksVUFiTSxHQUNOLEtBQUssR0FZSCxZQUFZLENBQUM7SXhCbFFmLGFBQWEsRXdCbVFZLENBQUM7SUFDeEIsYUFBYSxFbERyQ1csSUFBRyxHa0RzQzVCOztBQ3ZSTCxBQUFBLFdBQVcsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPLEVuRGlpQzJCLE9BQU0sQ0FDTixJQUFJO0VtRGppQ3RDLGFBQWEsRW5Eb2lDcUIsSUFBSTtFbURsaUN0QyxVQUFVLEVBQUUsSUFBSTtFQUNoQixnQkFBZ0IsRW5ERVAsT0FBTztFMEJTZCxhQUFhLEUxQmtPYSxPQUFNLEdtRDNPbkM7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxJQUFJLEdBK0JkO0VBaENELEFBSUUsZ0JBSmMsR0FJWixnQkFBZ0IsQ0FBQztJQUNqQixZQUFZLEVuRHNoQ29CLE1BQUssR21EOWdDdEM7SUFiSCxBQU9JLGdCQVBZLEdBSVosZ0JBQWdCLEFBR2YsUUFBUSxDQUFDO01BQ1IsT0FBTyxFQUFFLFlBQVk7TUFDckIsYUFBYSxFbkRraENpQixNQUFLO01tRGpoQ25DLEtBQUssRW5EUkEsT0FBTztNbURTWixPQUFPLEVuRHVoQzZCLEdBQUcsR21EdGhDeEM7RUFaTCxBQXFCRSxnQkFyQmMsR0FxQlosZ0JBQWdCLEFBQUEsTUFBTSxBQUFBLFFBQVEsQ0FBQztJQUMvQixlQUFlLEVBQUUsU0FBUyxHQUMzQjtFQXZCSCxBQXFCRSxnQkFyQmMsR0FxQlosZ0JBQWdCLEFBQUEsTUFBTSxBQUFBLFFBQVEsQ0FJQztJQUMvQixlQUFlLEVBQUUsSUFBSSxHQUN0QjtFQTNCSCxBQTZCRSxnQkE3QmMsQUE2QmIsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFbkQ1QkUsT0FBTyxHbUQ2QmY7O0FDMUNILEFBQUEsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RWhDR2IsWUFBWSxFQUFFLENBQUM7RUFDZixVQUFVLEVBQUUsSUFBSTtFTWFkLGFBQWEsRTFCa09hLE9BQU0sR29EaFBuQzs7QUFFRCxBQUFBLFVBQVUsQ0FBQztFQUNULFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFcERreEIyQixNQUFLLENBQ0wsT0FBTTtFb0RseEJ4QyxXQUFXLEVwRHVPaUIsSUFBRztFb0R0Ty9CLFdBQVcsRXBEc3hCdUIsSUFBSTtFb0RyeEJ0QyxLQUFLLEVwRHdCRyxPQUFPO0VvRHRCZixnQkFBZ0IsRXBEUFAsSUFBSTtFb0RRYixNQUFNLEVwRGtPc0IsR0FBRyxDb0RsT0UsS0FBSyxDcERMN0IsT0FBTyxHb0RvQmpCO0VBeEJELEFBV0UsVUFYUSxBQVdQLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDO0lBQ1YsS0FBSyxFcERtS2lDLE9BQXdCO0lvRGxLOUQsZUFBZSxFQUFFLElBQUk7SUFDckIsZ0JBQWdCLEVwRFpULE9BQU87SW9EYWQsWUFBWSxFcERaTCxPQUFPLEdvRGFmO0VBakJILEFBbUJFLFVBbkJRLEFBbUJQLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDO0lBQ1YsT0FBTyxFcEQ4d0J5QixDQUFDO0lvRDd3QmpDLFVBQVUsRXBEbVhnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FGTCxNQUFLLENBeld6Qix1QkFBTyxHb0RQZDs7QUFHSCxBQUVJLFVBRk0sQUFDUCxZQUFZLENBQ1gsVUFBVSxDQUFDO0VBQ1QsV0FBVyxFQUFFLENBQUM7RTFCYWhCLHNCQUFzQixFMUJvTUksT0FBTTtFMEJuTWhDLHlCQUF5QixFMUJtTUMsT0FBTSxHb0QvTS9COztBQUxMLEFBUUksVUFSTSxBQU9QLFdBQVcsQ0FDVixVQUFVLENBQUM7RTFCTlgsdUJBQXVCLEUxQmtORyxPQUFNO0UwQmpOaEMsMEJBQTBCLEUxQmlOQSxPQUFNLEdvRDFNL0I7O0FBVkwsQUFhRSxVQWJRLEFBYVAsT0FBTyxDQUFDLFVBQVUsQ0FBQztFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLEtBQUssRXBEeENFLElBQUk7RW9EeUNYLGdCQUFnQixFcERaVixPQUFPO0VvRGFiLFlBQVksRXBEYk4sT0FBTyxHb0RjZDs7QUFsQkgsQUFvQkUsVUFwQlEsQUFvQlAsU0FBUyxDQUFDLFVBQVUsQ0FBQztFQUNwQixLQUFLLEVwRHhDRSxPQUFPO0VvRHlDZCxjQUFjLEVBQUUsSUFBSTtFQUVwQixNQUFNLEVBQUUsSUFBSTtFQUNaLGdCQUFnQixFcERsRFQsSUFBSTtFb0RtRFgsWUFBWSxFcERoREwsT0FBTyxHb0RpRGY7O0FBUUgsQWpDaEVFLGNpQ2dFWSxDakNoRVosVUFBVSxDQUFDO0VBQ1QsT0FBTyxFbkIyeEJ5QixPQUFNLENBQ04sTUFBTTtFRWpxQnBDLFNBQVMsRUF0Q0UsT0FBQztFaUJuRmQsV0FBVyxFbkJ3T2UsR0FBRyxHbUJ2TzlCOztBaUM0REgsQWpDeERNLGNpQ3dEUSxDakMxRFosVUFBVSxBQUNQLFlBQVksQ0FDWCxVQUFVLENBQUM7RU9xQ2Isc0JBQXNCLEUxQnFNSSxNQUFLO0UwQnBNL0IseUJBQXlCLEUxQm9NQyxNQUFLLEdtQnhPNUI7O0FpQ3NEUCxBakNuRE0sY2lDbURRLENqQzFEWixVQUFVLEFBTVAsV0FBVyxDQUNWLFVBQVUsQ0FBQztFT2tCYix1QkFBdUIsRTFCbU5HLE1BQUs7RTBCbE4vQiwwQkFBMEIsRTFCa05BLE1BQUssR21Cbk81Qjs7QWlDcURQLEFqQ3BFRSxjaUNvRVksQ2pDcEVaLFVBQVUsQ0FBQztFQUNULE9BQU8sRW5CeXhCeUIsT0FBTSxDQUNOLE1BQUs7RUUvcEJuQyxTQUFTLEVBdENFLFFBQUM7RWlCbkZkLFdBQVcsRW5CeU9lLEdBQUcsR21CeE85Qjs7QWlDZ0VILEFqQzVETSxjaUM0RFEsQ2pDOURaLFVBQVUsQUFDUCxZQUFZLENBQ1gsVUFBVSxDQUFDO0VPcUNiLHNCQUFzQixFMUJzTUksTUFBSztFMEJyTS9CLHlCQUF5QixFMUJxTUMsTUFBSyxHbUJ6TzVCOztBaUMwRFAsQWpDdkRNLGNpQ3VEUSxDakM5RFosVUFBVSxBQU1QLFdBQVcsQ0FDVixVQUFVLENBQUM7RU9rQmIsdUJBQXVCLEUxQm9ORyxNQUFLO0UwQm5OL0IsMEJBQTBCLEUxQm1OQSxNQUFLLEdtQnBPNUI7O0FrQ2JQLEFBQUEsTUFBTSxDQUFDO0VBQ0wsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFckQwNUIyQixNQUFLLENBQ0wsS0FBSTtFRTExQnBDLFNBQVMsRUFBQyxHQUFDO0VtRC9EYixXQUFXLEVyRDZSaUIsR0FBRztFcUQ1Ui9CLFdBQVcsRUFBRSxDQUFDO0VBQ2QsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsY0FBYyxFQUFFLFFBQVE7RTNCS3RCLGFBQWEsRTFCa09hLE9BQU07RTZCcE85QixVQUFVLEU3QnFiYyxLQUFLLENBQUMsS0FBSSxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxLQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxLQUFJLENBQUMsV0FBVyxHcUQxYWxKO0V4QlBLLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNO0l3QmY1QyxBQUFBLE1BQU0sQ0FBQztNeEJnQkMsVUFBVSxFQUFFLElBQUksR3dCTXZCO0VBVlMsQWhERFIsQ2dEQ1MsQUFBQSxNQUFNLEFoRERkLE1BQU0sRWdEQ0MsQ0FBQyxBQUFBLE1BQU0sQWhEQWQsTUFBTSxDQUFDO0lnREVKLGVBQWUsRUFBRSxJQUFJLEdoREF4QjtFZ0RkSCxBQW1CRSxNQW5CSSxBQW1CSCxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUlILEFBQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxJQUFJLEdBQ1Y7O0FBTUQsQUFBQSxXQUFXLENBQUM7RUFDVixhQUFhLEVyRGc0QnFCLEtBQUk7RXFELzNCdEMsWUFBWSxFckQrM0JzQixLQUFJO0UwQnQ1QnBDLGFBQWEsRTFCeTVCbUIsS0FBSyxHcURoNEJ4Qzs7QUFPQyxBQUFBLGNBQWMsQ0FBRztFOUNqRGpCLEtBQUssRVBNSSxJQUFJO0VPTGIsZ0JBQWdCLEVQa0NSLE9BQU8sR3FEZ0JkO0U5Q2hETyxBRllSLENFWlMsQUFBQSxjQUFjLEFGWXRCLE1BQU0sRUVaQyxDQUFDLEFBQUEsY0FBYyxBRmF0QixNQUFNLENBQUM7SUVYSixLQUFLLEVQQ0EsSUFBSTtJT0FULGdCQUFnQixFQUFFLE9BQWdCLEdGWXJDO0VFZk8sQUFNTixDQU5PLEFBQUEsY0FBYyxBQU1wQixNQUFNLEVBTkQsQ0FBQyxBQUFBLGNBQWMsQUFPcEIsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENQZ1lPLE1BQUssQ0F6V3pCLHNCQUFPLEdPdEJaOztBOENvQ0gsQUFBQSxnQkFBZ0IsQ0FBQztFOUNqRGpCLEtBQUssRVBNSSxJQUFJO0VPTGIsZ0JBQWdCLEVQV1AsT0FBTyxHcUR1Q2Y7RTlDaERPLEFGWVIsQ0VaUyxBQUFBLGdCQUFnQixBRll4QixNQUFNLEVFWkMsQ0FBQyxBQUFBLGdCQUFnQixBRmF4QixNQUFNLENBQUM7SUVYSixLQUFLLEVQQ0EsSUFBSTtJT0FULGdCQUFnQixFQUFFLE9BQWdCLEdGWXJDO0VFZk8sQUFNTixDQU5PLEFBQUEsZ0JBQWdCLEFBTXRCLE1BQU0sRUFORCxDQUFDLEFBQUEsZ0JBQWdCLEFBT3RCLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDUGdZTyxNQUFLLENBaFl4Qix3QkFBTyxHT0NiOztBOENvQ0gsQUFBQSxjQUFjLENBQUc7RTlDakRqQixLQUFLLEVQTUksSUFBSTtFT0xiLGdCQUFnQixFUHlDUixPQUFPLEdxRFNkO0U5Q2hETyxBRllSLENFWlMsQUFBQSxjQUFjLEFGWXRCLE1BQU0sRUVaQyxDQUFDLEFBQUEsY0FBYyxBRmF0QixNQUFNLENBQUM7SUVYSixLQUFLLEVQQ0EsSUFBSTtJT0FULGdCQUFnQixFQUFFLE9BQWdCLEdGWXJDO0VFZk8sQUFNTixDQU5PLEFBQUEsY0FBYyxBQU1wQixNQUFNLEVBTkQsQ0FBQyxBQUFBLGNBQWMsQUFPcEIsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENQZ1lPLE1BQUssQ0FsV3pCLHNCQUFPLEdPN0JaOztBOENvQ0gsQUFBQSxXQUFXLENBQU07RTlDakRqQixLQUFLLEVQTUksSUFBSTtFT0xiLGdCQUFnQixFUDJDUixPQUFPLEdxRE9kO0U5Q2hETyxBRllSLENFWlMsQUFBQSxXQUFXLEFGWW5CLE1BQU0sRUVaQyxDQUFDLEFBQUEsV0FBVyxBRmFuQixNQUFNLENBQUM7SUVYSixLQUFLLEVQQ0EsSUFBSTtJT0FULGdCQUFnQixFQUFFLE9BQWdCLEdGWXJDO0VFZk8sQUFNTixDQU5PLEFBQUEsV0FBVyxBQU1qQixNQUFNLEVBTkQsQ0FBQyxBQUFBLFdBQVcsQUFPakIsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENQZ1lPLE1BQUssQ0FoV3pCLHVCQUFPLEdPL0JaOztBOENvQ0gsQUFBQSxjQUFjLENBQUc7RTlDakRqQixLQUFLLEVQZUksT0FBTztFT2RoQixnQkFBZ0IsRVB3Q1IsT0FBTyxHcURVZDtFOUNoRE8sQUZZUixDRVpTLEFBQUEsY0FBYyxBRll0QixNQUFNLEVFWkMsQ0FBQyxBQUFBLGNBQWMsQUZhdEIsTUFBTSxDQUFDO0lFWEosS0FBSyxFUFVBLE9BQU87SU9UWixnQkFBZ0IsRUFBRSxPQUFnQixHRllyQztFRWZPLEFBTU4sQ0FOTyxBQUFBLGNBQWMsQUFNcEIsTUFBTSxFQU5ELENBQUMsQUFBQSxjQUFjLEFBT3BCLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDUGdZTyxNQUFLLENBbld6QixzQkFBTyxHTzVCWjs7QThDb0NILEFBQUEsYUFBYSxDQUFJO0U5Q2pEakIsS0FBSyxFUE1JLElBQUk7RU9MYixnQkFBZ0IsRVBzQ1IsT0FBTyxHcURZZDtFOUNoRE8sQUZZUixDRVpTLEFBQUEsYUFBYSxBRllyQixNQUFNLEVFWkMsQ0FBQyxBQUFBLGFBQWEsQUZhckIsTUFBTSxDQUFDO0lFWEosS0FBSyxFUENBLElBQUk7SU9BVCxnQkFBZ0IsRUFBRSxPQUFnQixHRllyQztFRWZPLEFBTU4sQ0FOTyxBQUFBLGFBQWEsQUFNbkIsTUFBTSxFQU5ELENBQUMsQUFBQSxhQUFhLEFBT25CLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDUGdZTyxNQUFLLENBcld6QixzQkFBTyxHTzFCWjs7QThDb0NILEFBQUEsWUFBWSxDQUFLO0U5Q2pEakIsS0FBSyxFUGVJLE9BQU87RU9kaEIsZ0JBQWdCLEVQTVAsT0FBTyxHcUQ0Q2Y7RTlDaERPLEFGWVIsQ0VaUyxBQUFBLFlBQVksQUZZcEIsTUFBTSxFRVpDLENBQUMsQUFBQSxZQUFZLEFGYXBCLE1BQU0sQ0FBQztJRVhKLEtBQUssRVBVQSxPQUFPO0lPVFosZ0JBQWdCLEVBQUUsT0FBZ0IsR0ZZckM7RUVmTyxBQU1OLENBTk8sQUFBQSxZQUFZLEFBTWxCLE1BQU0sRUFORCxDQUFDLEFBQUEsWUFBWSxBQU9sQixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ1BnWU8sTUFBSyxDQXJZeEIsd0JBQU8sR09NYjs7QThDb0NILEFBQUEsV0FBVyxDQUFNO0U5Q2pEakIsS0FBSyxFUE1JLElBQUk7RU9MYixnQkFBZ0IsRVBhUCxPQUFPLEdxRHFDZjtFOUNoRE8sQUZZUixDRVpTLEFBQUEsV0FBVyxBRlluQixNQUFNLEVFWkMsQ0FBQyxBQUFBLFdBQVcsQUZhbkIsTUFBTSxDQUFDO0lFWEosS0FBSyxFUENBLElBQUk7SU9BVCxnQkFBZ0IsRUFBRSxPQUFnQixHRllyQztFRWZPLEFBTU4sQ0FOTyxBQUFBLFdBQVcsQUFNakIsTUFBTSxFQU5ELENBQUMsQUFBQSxXQUFXLEFBT2pCLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDUGdZTyxNQUFLLENBOVh4QixxQkFBTyxHT0RiOztBK0NkTCxBQUFBLFVBQVUsQ0FBQztFQUNULE9BQU8sRXREeXpCMkIsSUFBSSxDc0R6ekJWLElBQXdCO0VBQ3BELGFBQWEsRXREd3pCcUIsSUFBSTtFc0R0ekJ0QyxnQkFBZ0IsRXRES1AsT0FBTztFMEJTZCxhQUFhLEUxQm1PYSxNQUFLLEdzRDNPbEM7RWxEa0RHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJa0Q1RDVCLEFBQUEsVUFBVSxDQUFDO01BUVAsT0FBTyxFQUFFLElBQXdCLEN0RGt6QkQsSUFBSSxHc0RoekJ2Qzs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsYUFBYSxFQUFFLENBQUM7RUFDaEIsWUFBWSxFQUFFLENBQUM7RTVCSWIsYUFBYSxFNEJIUSxDQUFDLEdBQ3pCOztBQ1pELEFBQUEsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFdkR1OUIyQixPQUFNLENBQ04sT0FBTztFdUR2OUJ6QyxhQUFhLEV2RHc5QnFCLElBQUk7RXVEdjlCdEMsTUFBTSxFdkR5T3NCLEdBQUcsQ3VEek9ILEtBQUssQ0FBQyxXQUFXO0U3QlUzQyxhQUFhLEUxQmtPYSxPQUFNLEd1RDFPbkM7O0FBR0QsQUFBQSxjQUFjLENBQUM7RUFFYixLQUFLLEVBQUUsT0FBTyxHQUNmOztBQUdELEFBQUEsV0FBVyxDQUFDO0VBQ1YsV0FBVyxFdkRrUmlCLEdBQUcsR3VEalJoQzs7QUFPRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLGFBQWEsRUFBRSxJQUF1QyxHQVV2RDtFQVhELEFBSUUsa0JBSmdCLENBSWhCLE1BQU0sQ0FBQztJQUNMLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxDQUFDO0lBQ04sS0FBSyxFQUFFLENBQUM7SUFDUixPQUFPLEV2RHk3QnlCLE9BQU0sQ0FDTixPQUFPO0l1RHo3QnZDLEtBQUssRUFBRSxPQUFPLEdBQ2Y7O0FBU0QsQUFBQSxjQUFjLENBQUc7RXZDOUNqQixLQUFLLEVqQnFHRyxPQUF3RDtFNkJoRzlELGdCQUFnQixFN0JnR1YsT0FBd0Q7RWlCbkdoRSxZQUFZLEVqQm1HSixPQUF3RCxHd0RyRC9EO0VBRkQsQXZDMUNBLGN1QzBDYyxDdkMxQ2QsRUFBRSxDQUFDO0lBQ0QsZ0JBQWdCLEVBQUUsT0FBbUIsR0FDdEM7RXVDd0NELEF2Q3RDQSxjdUNzQ2MsQ3ZDdENkLFdBQVcsQ0FBQztJQUNWLEtBQUssRUFBRSxPQUFtQixHQUMzQjs7QXVDb0NELEFBQUEsZ0JBQWdCLENBQUM7RXZDOUNqQixLQUFLLEVqQnFHRyxPQUF3RDtFNkJoRzlELGdCQUFnQixFN0JnR1YsT0FBd0Q7RWlCbkdoRSxZQUFZLEVqQm1HSixPQUF3RCxHd0RyRC9EO0VBRkQsQXZDMUNBLGdCdUMwQ2dCLEN2QzFDaEIsRUFBRSxDQUFDO0lBQ0QsZ0JBQWdCLEVBQUUsT0FBbUIsR0FDdEM7RXVDd0NELEF2Q3RDQSxnQnVDc0NnQixDdkN0Q2hCLFdBQVcsQ0FBQztJQUNWLEtBQUssRUFBRSxPQUFtQixHQUMzQjs7QXVDb0NELEFBQUEsY0FBYyxDQUFHO0V2QzlDakIsS0FBSyxFakJxR0csT0FBd0Q7RTZCaEc5RCxnQkFBZ0IsRTdCZ0dWLE9BQXdEO0VpQm5HaEUsWUFBWSxFakJtR0osT0FBd0QsR3dEckQvRDtFQUZELEF2QzFDQSxjdUMwQ2MsQ3ZDMUNkLEVBQUUsQ0FBQztJQUNELGdCQUFnQixFQUFFLE9BQW1CLEdBQ3RDO0V1Q3dDRCxBdkN0Q0EsY3VDc0NjLEN2Q3RDZCxXQUFXLENBQUM7SUFDVixLQUFLLEVBQUUsT0FBbUIsR0FDM0I7O0F1Q29DRCxBQUFBLFdBQVcsQ0FBTTtFdkM5Q2pCLEtBQUssRWpCcUdHLE9BQXdEO0U2QmhHOUQsZ0JBQWdCLEU3QmdHVixPQUF3RDtFaUJuR2hFLFlBQVksRWpCbUdKLE9BQXdELEd3RHJEL0Q7RUFGRCxBdkMxQ0EsV3VDMENXLEN2QzFDWCxFQUFFLENBQUM7SUFDRCxnQkFBZ0IsRUFBRSxPQUFtQixHQUN0QztFdUN3Q0QsQXZDdENBLFd1Q3NDVyxDdkN0Q1gsV0FBVyxDQUFDO0lBQ1YsS0FBSyxFQUFFLE9BQW1CLEdBQzNCOztBdUNvQ0QsQUFBQSxjQUFjLENBQUc7RXZDOUNqQixLQUFLLEVqQnFHRyxPQUF3RDtFNkJoRzlELGdCQUFnQixFN0JnR1YsT0FBd0Q7RWlCbkdoRSxZQUFZLEVqQm1HSixPQUF3RCxHd0RyRC9EO0VBRkQsQXZDMUNBLGN1QzBDYyxDdkMxQ2QsRUFBRSxDQUFDO0lBQ0QsZ0JBQWdCLEVBQUUsT0FBbUIsR0FDdEM7RXVDd0NELEF2Q3RDQSxjdUNzQ2MsQ3ZDdENkLFdBQVcsQ0FBQztJQUNWLEtBQUssRUFBRSxPQUFtQixHQUMzQjs7QXVDb0NELEFBQUEsYUFBYSxDQUFJO0V2QzlDakIsS0FBSyxFakJxR0csT0FBd0Q7RTZCaEc5RCxnQkFBZ0IsRTdCZ0dWLE9BQXdEO0VpQm5HaEUsWUFBWSxFakJtR0osT0FBd0QsR3dEckQvRDtFQUZELEF2QzFDQSxhdUMwQ2EsQ3ZDMUNiLEVBQUUsQ0FBQztJQUNELGdCQUFnQixFQUFFLE9BQW1CLEdBQ3RDO0V1Q3dDRCxBdkN0Q0EsYXVDc0NhLEN2Q3RDYixXQUFXLENBQUM7SUFDVixLQUFLLEVBQUUsT0FBbUIsR0FDM0I7O0F1Q29DRCxBQUFBLFlBQVksQ0FBSztFdkM5Q2pCLEtBQUssRWpCcUdHLE9BQXdEO0U2QmhHOUQsZ0JBQWdCLEU3QmdHVixPQUF3RDtFaUJuR2hFLFlBQVksRWpCbUdKLE9BQXdELEd3RHJEL0Q7RUFGRCxBdkMxQ0EsWXVDMENZLEN2QzFDWixFQUFFLENBQUM7SUFDRCxnQkFBZ0IsRUFBRSxPQUFtQixHQUN0QztFdUN3Q0QsQXZDdENBLFl1Q3NDWSxDdkN0Q1osV0FBVyxDQUFDO0lBQ1YsS0FBSyxFQUFFLE9BQW1CLEdBQzNCOztBdUNvQ0QsQUFBQSxXQUFXLENBQU07RXZDOUNqQixLQUFLLEVqQnFHRyxPQUF3RDtFNkJoRzlELGdCQUFnQixFN0JnR1YsT0FBd0Q7RWlCbkdoRSxZQUFZLEVqQm1HSixPQUF3RCxHd0RyRC9EO0VBRkQsQXZDMUNBLFd1QzBDVyxDdkMxQ1gsRUFBRSxDQUFDO0lBQ0QsZ0JBQWdCLEVBQUUsT0FBbUIsR0FDdEM7RXVDd0NELEF2Q3RDQSxXdUNzQ1csQ3ZDdENYLFdBQVcsQ0FBQztJQUNWLEtBQUssRUFBRSxPQUFtQixHQUMzQjs7QXdDVEQsVUFBVSxDQUFWLG9CQUFVO0VBQ1IsSUFBSTtJQUFHLG1CQUFtQixFeER3K0JNLElBQUksQ3dEeCtCUyxDQUFDO0VBQzlDLEVBQUU7SUFBRyxtQkFBbUIsRUFBRSxHQUFHOztBQUlqQyxBQUFBLFNBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFeERpK0I0QixJQUFJO0V3RGgrQnRDLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFdBQVcsRUFBRSxDQUFDO0V0RG1IVixTQUFTLEVBdENFLE9BQUM7RXNEM0VoQixnQkFBZ0IsRXhETFAsT0FBTztFMEJTZCxhQUFhLEUxQmtPYSxPQUFNLEd3RG5PbkM7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDWixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLEtBQUssRXhEakJJLElBQUk7RXdEa0JiLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGdCQUFnQixFeERTUixPQUFPO0U2QnBCWCxVQUFVLEU3Qm0rQm9CLEtBQUssQ0FBQyxJQUFHLENBQUMsSUFBSSxHd0R0OUJqRDtFM0JUSyxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsTUFBTTtJMkJENUMsQUFBQSxhQUFhLENBQUM7TTNCRU4sVUFBVSxFQUFFLElBQUksRzJCUXZCOztBQUVELEFBQUEscUJBQXFCLENBQUM7RTVCWXBCLGdCQUFnQixFQUFFLG1MQUEySDtFNEJWN0ksZUFBZSxFeEQwOEJtQixJQUFJLENBQUosSUFBSSxHd0R6OEJ2Qzs7QUFHQyxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLFNBQVMsRUFBRSxvQkFBb0IsQ3hENDhCQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsR3dEcjhCbkQ7RUFKRyxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsTUFBTTtJQUoxQyxBQUFBLHNCQUFzQixDQUFDO01BS2pCLFNBQVMsRUFBRSxJQUFJLEdBR3BCOztBQzdDSCxBQUFBLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLFVBQVUsR0FDeEI7O0FBRUQsQUFBQSxXQUFXLENBQUM7RUFDVixJQUFJLEVBQUUsQ0FBQyxHQUNSOztBQ0hELEFBQUEsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUd0QixZQUFZLEVBQUUsQ0FBQztFQUNmLGFBQWEsRUFBRSxDQUFDO0VoQ1FkLGFBQWEsRTFCa09hLE9BQU0sRzBEeE9uQzs7QUFRRCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFMURSSSxPQUFPO0UwRFNoQixVQUFVLEVBQUUsT0FBTyxHQWNwQjtFQWpCRCxBckRKRSx1QnFESXFCLEFyREpwQixNQUFNLEVxRElULHVCQUF1QixBckRIcEIsTUFBTSxDQUFDO0lxRFVOLE9BQU8sRUFBRSxDQUFDO0lBQ1YsS0FBSyxFMURkRSxPQUFPO0kwRGVkLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLGdCQUFnQixFMUR0QlQsT0FBTyxHS1dmO0VxRENILEFBYUUsdUJBYnFCLEFBYXBCLE9BQU8sQ0FBQztJQUNQLEtBQUssRTFEbEJFLE9BQU87STBEbUJkLGdCQUFnQixFMUQxQlQsT0FBTyxHMEQyQmY7O0FBUUgsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFMUQrOEIyQixPQUFNLENBQ04sT0FBTztFMEQ3OEJ6QyxnQkFBZ0IsRTFEM0NQLElBQUk7RTBENENiLE1BQU0sRTFEOExzQixHQUFHLEMwRDlMRSxLQUFLLEMxRGxDN0Isb0JBQUksRzBEbUVkO0VBeENELEFBU0UsZ0JBVGMsQUFTYixZQUFZLENBQUM7SWhDMUJaLHNCQUFzQixFZ0MyQkssT0FBTztJaEMxQmxDLHVCQUF1QixFZ0MwQkksT0FBTyxHQUNuQztFQVhILEFBYUUsZ0JBYmMsQUFhYixXQUFXLENBQUM7SWhDaEJYLDBCQUEwQixFZ0NpQkksT0FBTztJaENoQnJDLHlCQUF5QixFZ0NnQkssT0FBTyxHQUN0QztFQWZILEFBaUJFLGdCQWpCYyxBQWlCYixTQUFTLEVBakJaLGdCQUFnQixBQWtCYixTQUFTLENBQUM7SUFDVCxLQUFLLEUxRGxERSxPQUFPO0kwRG1EZCxjQUFjLEVBQUUsSUFBSTtJQUNwQixnQkFBZ0IsRTFEMURULElBQUksRzBEMkRaO0VBdEJILEFBeUJFLGdCQXpCYyxBQXlCYixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsQ0FBQztJQUNWLEtBQUssRTFEaEVFLElBQUk7STBEaUVYLGdCQUFnQixFMURwQ1YsT0FBTztJMERxQ2IsWUFBWSxFMURyQ04sT0FBTyxHMERzQ2Q7RUE5QkgsQUFnQ0UsZ0JBaENjLEdBQWhCLGdCQUFnQixDQWdDUjtJQUNKLGdCQUFnQixFQUFFLENBQUMsR0FNcEI7SUF2Q0gsQUFtQ0ksZ0JBbkNZLEdBQWhCLGdCQUFnQixBQW1DWCxPQUFPLENBQUM7TUFDUCxVQUFVLEUxRGlLYyxJQUFHO00wRGhLM0IsZ0JBQWdCLEUxRGdLUSxHQUFHLEcwRC9KNUI7O0FBYUQsQUFBQSxzQkFBc0IsQ0FBVTtFQUM5QixjQUFjLEVBQUUsR0FBRyxHQTJCcEI7RUE1QkQsQUFJSSxzQkFKa0IsR0FHbEIsZ0JBQWdCLEFBQ2YsWUFBWSxDQUFDO0loQzFCbEIseUJBQXlCLEUxQjJLQyxPQUFNO0kwQnZMaEMsdUJBQXVCLEVnQ3dDZ0IsQ0FBQyxHQUNuQztFQVBMLEFBU0ksc0JBVGtCLEdBR2xCLGdCQUFnQixBQU1mLFdBQVcsQ0FBQztJaEMzQ2pCLHVCQUF1QixFMUJ1TEcsT0FBTTtJMEIzS2hDLHlCQUF5QixFZ0NpQ2dCLENBQUMsR0FDckM7RUFaTCxBQWNJLHNCQWRrQixHQUdsQixnQkFBZ0IsQUFXZixPQUFPLENBQUM7SUFDUCxVQUFVLEVBQUUsQ0FBQyxHQUNkO0VBaEJMLEFBa0JJLHNCQWxCa0IsR0FHbEIsZ0JBQWdCLEdBZVosZ0JBQWdCLENBQUM7SUFDbkIsZ0JBQWdCLEUxRCtISSxHQUFHO0kwRDlIdkIsaUJBQWlCLEVBQUUsQ0FBQyxHQU1yQjtJQTFCTCxBQXNCTSxzQkF0QmdCLEdBR2xCLGdCQUFnQixHQWVaLGdCQUFnQixBQUlqQixPQUFPLENBQUM7TUFDUCxXQUFXLEUxRDJITyxJQUFHO00wRDFIckIsaUJBQWlCLEUxRDBIQyxHQUFHLEcwRHpIdEI7O0F0RDVEUCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RXNEbUN4QixBQUFBLHlCQUF5QixDQUFPO0lBQzlCLGNBQWMsRUFBRSxHQUFHLEdBMkJwQjtJQTVCRCxBQUlJLHlCQUpxQixHQUdyQixnQkFBZ0IsQUFDZixZQUFZLENBQUM7TWhDMUJsQix5QkFBeUIsRTFCMktDLE9BQU07TTBCdkxoQyx1QkFBdUIsRWdDd0NnQixDQUFDLEdBQ25DO0lBUEwsQUFTSSx5QkFUcUIsR0FHckIsZ0JBQWdCLEFBTWYsV0FBVyxDQUFDO01oQzNDakIsdUJBQXVCLEUxQnVMRyxPQUFNO00wQjNLaEMseUJBQXlCLEVnQ2lDZ0IsQ0FBQyxHQUNyQztJQVpMLEFBY0kseUJBZHFCLEdBR3JCLGdCQUFnQixBQVdmLE9BQU8sQ0FBQztNQUNQLFVBQVUsRUFBRSxDQUFDLEdBQ2Q7SUFoQkwsQUFrQkkseUJBbEJxQixHQUdyQixnQkFBZ0IsR0FlWixnQkFBZ0IsQ0FBQztNQUNuQixnQkFBZ0IsRTFEK0hJLEdBQUc7TTBEOUh2QixpQkFBaUIsRUFBRSxDQUFDLEdBTXJCO01BMUJMLEFBc0JNLHlCQXRCbUIsR0FHckIsZ0JBQWdCLEdBZVosZ0JBQWdCLEFBSWpCLE9BQU8sQ0FBQztRQUNQLFdBQVcsRTFEMkhPLElBQUc7UTBEMUhyQixpQkFBaUIsRTFEMEhDLEdBQUcsRzBEekh0Qjs7QXRENURQLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFc0RtQ3hCLEFBQUEseUJBQXlCLENBQU87SUFDOUIsY0FBYyxFQUFFLEdBQUcsR0EyQnBCO0lBNUJELEFBSUkseUJBSnFCLEdBR3JCLGdCQUFnQixBQUNmLFlBQVksQ0FBQztNaEMxQmxCLHlCQUF5QixFMUIyS0MsT0FBTTtNMEJ2TGhDLHVCQUF1QixFZ0N3Q2dCLENBQUMsR0FDbkM7SUFQTCxBQVNJLHlCQVRxQixHQUdyQixnQkFBZ0IsQUFNZixXQUFXLENBQUM7TWhDM0NqQix1QkFBdUIsRTFCdUxHLE9BQU07TTBCM0toQyx5QkFBeUIsRWdDaUNnQixDQUFDLEdBQ3JDO0lBWkwsQUFjSSx5QkFkcUIsR0FHckIsZ0JBQWdCLEFBV2YsT0FBTyxDQUFDO01BQ1AsVUFBVSxFQUFFLENBQUMsR0FDZDtJQWhCTCxBQWtCSSx5QkFsQnFCLEdBR3JCLGdCQUFnQixHQWVaLGdCQUFnQixDQUFDO01BQ25CLGdCQUFnQixFMUQrSEksR0FBRztNMEQ5SHZCLGlCQUFpQixFQUFFLENBQUMsR0FNckI7TUExQkwsQUFzQk0seUJBdEJtQixHQUdyQixnQkFBZ0IsR0FlWixnQkFBZ0IsQUFJakIsT0FBTyxDQUFDO1FBQ1AsV0FBVyxFMUQySE8sSUFBRztRMEQxSHJCLGlCQUFpQixFMUQwSEMsR0FBRyxHMER6SHRCOztBdEQ1RFAsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VzRG1DeEIsQUFBQSx5QkFBeUIsQ0FBTztJQUM5QixjQUFjLEVBQUUsR0FBRyxHQTJCcEI7SUE1QkQsQUFJSSx5QkFKcUIsR0FHckIsZ0JBQWdCLEFBQ2YsWUFBWSxDQUFDO01oQzFCbEIseUJBQXlCLEUxQjJLQyxPQUFNO00wQnZMaEMsdUJBQXVCLEVnQ3dDZ0IsQ0FBQyxHQUNuQztJQVBMLEFBU0kseUJBVHFCLEdBR3JCLGdCQUFnQixBQU1mLFdBQVcsQ0FBQztNaEMzQ2pCLHVCQUF1QixFMUJ1TEcsT0FBTTtNMEIzS2hDLHlCQUF5QixFZ0NpQ2dCLENBQUMsR0FDckM7SUFaTCxBQWNJLHlCQWRxQixHQUdyQixnQkFBZ0IsQUFXZixPQUFPLENBQUM7TUFDUCxVQUFVLEVBQUUsQ0FBQyxHQUNkO0lBaEJMLEFBa0JJLHlCQWxCcUIsR0FHckIsZ0JBQWdCLEdBZVosZ0JBQWdCLENBQUM7TUFDbkIsZ0JBQWdCLEUxRCtISSxHQUFHO00wRDlIdkIsaUJBQWlCLEVBQUUsQ0FBQyxHQU1yQjtNQTFCTCxBQXNCTSx5QkF0Qm1CLEdBR3JCLGdCQUFnQixHQWVaLGdCQUFnQixBQUlqQixPQUFPLENBQUM7UUFDUCxXQUFXLEUxRDJITyxJQUFHO1EwRDFIckIsaUJBQWlCLEUxRDBIQyxHQUFHLEcwRHpIdEI7O0F0RDVEUCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RXNEbUN6QixBQUFBLHlCQUF5QixDQUFPO0lBQzlCLGNBQWMsRUFBRSxHQUFHLEdBMkJwQjtJQTVCRCxBQUlJLHlCQUpxQixHQUdyQixnQkFBZ0IsQUFDZixZQUFZLENBQUM7TWhDMUJsQix5QkFBeUIsRTFCMktDLE9BQU07TTBCdkxoQyx1QkFBdUIsRWdDd0NnQixDQUFDLEdBQ25DO0lBUEwsQUFTSSx5QkFUcUIsR0FHckIsZ0JBQWdCLEFBTWYsV0FBVyxDQUFDO01oQzNDakIsdUJBQXVCLEUxQnVMRyxPQUFNO00wQjNLaEMseUJBQXlCLEVnQ2lDZ0IsQ0FBQyxHQUNyQztJQVpMLEFBY0kseUJBZHFCLEdBR3JCLGdCQUFnQixBQVdmLE9BQU8sQ0FBQztNQUNQLFVBQVUsRUFBRSxDQUFDLEdBQ2Q7SUFoQkwsQUFrQkkseUJBbEJxQixHQUdyQixnQkFBZ0IsR0FlWixnQkFBZ0IsQ0FBQztNQUNuQixnQkFBZ0IsRTFEK0hJLEdBQUc7TTBEOUh2QixpQkFBaUIsRUFBRSxDQUFDLEdBTXJCO01BMUJMLEFBc0JNLHlCQXRCbUIsR0FHckIsZ0JBQWdCLEdBZVosZ0JBQWdCLEFBSWpCLE9BQU8sQ0FBQztRQUNQLFdBQVcsRTFEMkhPLElBQUc7UTBEMUhyQixpQkFBaUIsRTFEMEhDLEdBQUcsRzBEekh0Qjs7QUFhWCxBQUFBLGlCQUFpQixDQUFDO0VoQ25IZCxhQUFhLEVnQ29IUSxDQUFDLEdBU3pCO0VBVkQsQUFHRSxpQkFIZSxHQUdiLGdCQUFnQixDQUFDO0lBQ2pCLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDMUR3R1MsR0FBRyxHMERuRzlCO0lBVEgsQUFNSSxpQkFOYSxHQUdiLGdCQUFnQixBQUdmLFdBQVcsQ0FBQztNQUNYLG1CQUFtQixFQUFFLENBQUMsR0FDdkI7O0FyQzFJSCxBQUFBLHdCQUF3QixDQUFHO0VBQ3pCLEtBQUssRXRCa0dDLE9BQXdEO0VzQmpHOUQsZ0JBQWdCLEV0QmlHVixPQUF3RCxHc0JuRi9EO0VBaEJELEFoQmFBLHdCZ0Jid0IsQUFJckIsdUJBQXVCLEFoQlN6QixNQUFNLEVnQmJQLHdCQUF3QixBQUlyQix1QkFBdUIsQWhCVXpCLE1BQU0sQ0FBQztJZ0JSRixLQUFLLEV0QjZGSCxPQUF3RDtJc0I1RjFELGdCQUFnQixFQUFFLE9BQXVCLEdoQlM5QztFZ0JoQkQsQUFVSSx3QkFWb0IsQUFJckIsdUJBQXVCLEFBTXJCLE9BQU8sQ0FBQztJQUNQLEtBQUssRXJCUEYsSUFBSTtJcUJRUCxnQkFBZ0IsRXRCdUZkLE9BQXdEO0lzQnRGMUQsWUFBWSxFdEJzRlYsT0FBd0QsR3NCckYzRDs7QUFkTCxBQUFBLDBCQUEwQixDQUFDO0VBQ3pCLEtBQUssRXRCa0dDLE9BQXdEO0VzQmpHOUQsZ0JBQWdCLEV0QmlHVixPQUF3RCxHc0JuRi9EO0VBaEJELEFoQmFBLDBCZ0JiMEIsQUFJdkIsdUJBQXVCLEFoQlN6QixNQUFNLEVnQmJQLDBCQUEwQixBQUl2Qix1QkFBdUIsQWhCVXpCLE1BQU0sQ0FBQztJZ0JSRixLQUFLLEV0QjZGSCxPQUF3RDtJc0I1RjFELGdCQUFnQixFQUFFLE9BQXVCLEdoQlM5QztFZ0JoQkQsQUFVSSwwQkFWc0IsQUFJdkIsdUJBQXVCLEFBTXJCLE9BQU8sQ0FBQztJQUNQLEtBQUssRXJCUEYsSUFBSTtJcUJRUCxnQkFBZ0IsRXRCdUZkLE9BQXdEO0lzQnRGMUQsWUFBWSxFdEJzRlYsT0FBd0QsR3NCckYzRDs7QUFkTCxBQUFBLHdCQUF3QixDQUFHO0VBQ3pCLEtBQUssRXRCa0dDLE9BQXdEO0VzQmpHOUQsZ0JBQWdCLEV0QmlHVixPQUF3RCxHc0JuRi9EO0VBaEJELEFoQmFBLHdCZ0Jid0IsQUFJckIsdUJBQXVCLEFoQlN6QixNQUFNLEVnQmJQLHdCQUF3QixBQUlyQix1QkFBdUIsQWhCVXpCLE1BQU0sQ0FBQztJZ0JSRixLQUFLLEV0QjZGSCxPQUF3RDtJc0I1RjFELGdCQUFnQixFQUFFLE9BQXVCLEdoQlM5QztFZ0JoQkQsQUFVSSx3QkFWb0IsQUFJckIsdUJBQXVCLEFBTXJCLE9BQU8sQ0FBQztJQUNQLEtBQUssRXJCUEYsSUFBSTtJcUJRUCxnQkFBZ0IsRXRCdUZkLE9BQXdEO0lzQnRGMUQsWUFBWSxFdEJzRlYsT0FBd0QsR3NCckYzRDs7QUFkTCxBQUFBLHFCQUFxQixDQUFNO0VBQ3pCLEtBQUssRXRCa0dDLE9BQXdEO0VzQmpHOUQsZ0JBQWdCLEV0QmlHVixPQUF3RCxHc0JuRi9EO0VBaEJELEFoQmFBLHFCZ0JicUIsQUFJbEIsdUJBQXVCLEFoQlN6QixNQUFNLEVnQmJQLHFCQUFxQixBQUlsQix1QkFBdUIsQWhCVXpCLE1BQU0sQ0FBQztJZ0JSRixLQUFLLEV0QjZGSCxPQUF3RDtJc0I1RjFELGdCQUFnQixFQUFFLE9BQXVCLEdoQlM5QztFZ0JoQkQsQUFVSSxxQkFWaUIsQUFJbEIsdUJBQXVCLEFBTXJCLE9BQU8sQ0FBQztJQUNQLEtBQUssRXJCUEYsSUFBSTtJcUJRUCxnQkFBZ0IsRXRCdUZkLE9BQXdEO0lzQnRGMUQsWUFBWSxFdEJzRlYsT0FBd0QsR3NCckYzRDs7QUFkTCxBQUFBLHdCQUF3QixDQUFHO0VBQ3pCLEtBQUssRXRCa0dDLE9BQXdEO0VzQmpHOUQsZ0JBQWdCLEV0QmlHVixPQUF3RCxHc0JuRi9EO0VBaEJELEFoQmFBLHdCZ0Jid0IsQUFJckIsdUJBQXVCLEFoQlN6QixNQUFNLEVnQmJQLHdCQUF3QixBQUlyQix1QkFBdUIsQWhCVXpCLE1BQU0sQ0FBQztJZ0JSRixLQUFLLEV0QjZGSCxPQUF3RDtJc0I1RjFELGdCQUFnQixFQUFFLE9BQXVCLEdoQlM5QztFZ0JoQkQsQUFVSSx3QkFWb0IsQUFJckIsdUJBQXVCLEFBTXJCLE9BQU8sQ0FBQztJQUNQLEtBQUssRXJCUEYsSUFBSTtJcUJRUCxnQkFBZ0IsRXRCdUZkLE9BQXdEO0lzQnRGMUQsWUFBWSxFdEJzRlYsT0FBd0QsR3NCckYzRDs7QUFkTCxBQUFBLHVCQUF1QixDQUFJO0VBQ3pCLEtBQUssRXRCa0dDLE9BQXdEO0VzQmpHOUQsZ0JBQWdCLEV0QmlHVixPQUF3RCxHc0JuRi9EO0VBaEJELEFoQmFBLHVCZ0JidUIsQUFJcEIsdUJBQXVCLEFoQlN6QixNQUFNLEVnQmJQLHVCQUF1QixBQUlwQix1QkFBdUIsQWhCVXpCLE1BQU0sQ0FBQztJZ0JSRixLQUFLLEV0QjZGSCxPQUF3RDtJc0I1RjFELGdCQUFnQixFQUFFLE9BQXVCLEdoQlM5QztFZ0JoQkQsQUFVSSx1QkFWbUIsQUFJcEIsdUJBQXVCLEFBTXJCLE9BQU8sQ0FBQztJQUNQLEtBQUssRXJCUEYsSUFBSTtJcUJRUCxnQkFBZ0IsRXRCdUZkLE9BQXdEO0lzQnRGMUQsWUFBWSxFdEJzRlYsT0FBd0QsR3NCckYzRDs7QUFkTCxBQUFBLHNCQUFzQixDQUFLO0VBQ3pCLEtBQUssRXRCa0dDLE9BQXdEO0VzQmpHOUQsZ0JBQWdCLEV0QmlHVixPQUF3RCxHc0JuRi9EO0VBaEJELEFoQmFBLHNCZ0Jic0IsQUFJbkIsdUJBQXVCLEFoQlN6QixNQUFNLEVnQmJQLHNCQUFzQixBQUluQix1QkFBdUIsQWhCVXpCLE1BQU0sQ0FBQztJZ0JSRixLQUFLLEV0QjZGSCxPQUF3RDtJc0I1RjFELGdCQUFnQixFQUFFLE9BQXVCLEdoQlM5QztFZ0JoQkQsQUFVSSxzQkFWa0IsQUFJbkIsdUJBQXVCLEFBTXJCLE9BQU8sQ0FBQztJQUNQLEtBQUssRXJCUEYsSUFBSTtJcUJRUCxnQkFBZ0IsRXRCdUZkLE9BQXdEO0lzQnRGMUQsWUFBWSxFdEJzRlYsT0FBd0QsR3NCckYzRDs7QUFkTCxBQUFBLHFCQUFxQixDQUFNO0VBQ3pCLEtBQUssRXRCa0dDLE9BQXdEO0VzQmpHOUQsZ0JBQWdCLEV0QmlHVixPQUF3RCxHc0JuRi9EO0VBaEJELEFoQmFBLHFCZ0JicUIsQUFJbEIsdUJBQXVCLEFoQlN6QixNQUFNLEVnQmJQLHFCQUFxQixBQUlsQix1QkFBdUIsQWhCVXpCLE1BQU0sQ0FBQztJZ0JSRixLQUFLLEV0QjZGSCxPQUF3RDtJc0I1RjFELGdCQUFnQixFQUFFLE9BQXVCLEdoQlM5QztFZ0JoQkQsQUFVSSxxQkFWaUIsQUFJbEIsdUJBQXVCLEFBTXJCLE9BQU8sQ0FBQztJQUNQLEtBQUssRXJCUEYsSUFBSTtJcUJRUCxnQkFBZ0IsRXRCdUZkLE9BQXdEO0lzQnRGMUQsWUFBWSxFdEJzRlYsT0FBd0QsR3NCckYzRDs7QXNDakJQLEFBQUEsTUFBTSxDQUFDO0VBQ0wsS0FBSyxFQUFFLEtBQUs7RXpEOEhSLFNBQVMsRUF0Q0UsTUFBQztFeUR0RmhCLFdBQVcsRTNEbVNpQixHQUFHO0UyRGxTL0IsV0FBVyxFQUFFLENBQUM7RUFDZCxLQUFLLEUzRFlJLElBQUk7RTJEWGIsV0FBVyxFM0R1bEN1QixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0F0bENoQyxJQUFJO0UyREFiLE9BQU8sRUFBRSxFQUFFLEdBYVo7RUFwQkQsQXREWUUsTXNEWkksQXREWUgsTUFBTSxDQUFDO0lzREROLEtBQUssRTNETUUsSUFBSTtJMkRMWCxlQUFlLEVBQUUsSUFBSSxHdERBRDtFc0RaeEIsQXREZ0JFLE1zRGhCSSxBQWVILElBQUssQ3hCK1ZFLFNBQVMsQ3dCL1ZELElBQUssQ2pCd0JBLFNBQVMsQ3JDdkI3QixNQUFNLEVzRGhCVCxNQUFNLEFBZUgsSUFBSyxDeEIrVkUsU0FBUyxDd0IvVkQsSUFBSyxDakJ3QkEsU0FBUyxDckN0QjdCLE1BQU0sQ0FBQztJc0RBSixPQUFPLEVBQUUsR0FBRyxHdERFZjs7QXNEU0gsQUFBQSxNQUFNLEFBQUEsTUFBTSxDQUFDO0VBQ1gsT0FBTyxFQUFFLENBQUM7RUFDVixnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBS0QsQUFBQSxDQUFDLEFBQUEsTUFBTSxBQUFBLFNBQVMsQ0FBQztFQUNmLGNBQWMsRUFBRSxJQUFJLEdBQ3JCOztBQ3ZDRCxBQUFBLE1BQU0sQ0FBQztFQUNMLFNBQVMsRTVENDRCeUIsS0FBSztFNEQzNEJ2QyxRQUFRLEVBQUUsTUFBTTtFMUQ2SFosU0FBUyxFQXRDRSxRQUFDO0UwRHBGaEIsZ0JBQWdCLEU1REVQLHlCQUFJO0U0RERiLGVBQWUsRUFBRSxXQUFXO0VBQzVCLE1BQU0sRTVENDRCNEIsR0FBRyxDNEQ1NEJULEtBQUssQzVENjRCQyxrQkFBaUI7RTRENTRCbkQsVUFBVSxFNUQ4NEJ3QixDQUFDLENBQUMsT0FBTSxDQUFDLE9BQU0sQ0FyNEJ4QyxrQkFBSTtFNERSYixlQUFlLEVBQUUsVUFBVTtFQUMzQixPQUFPLEVBQUUsQ0FBQztFbENRUixhQUFhLEUxQm00Qm1CLE9BQU0sRzREeDNCekM7RUE3QkQsQUFhRSxNQWJJLEFBYUgsSUFBSyxDeEJpRkEsV0FBVyxFd0JqRkU7SUFDakIsYUFBYSxFNURnNEJtQixPQUFNLEc0RC8zQnZDO0VBZkgsQUFpQkUsTUFqQkksQUFpQkgsUUFBUSxDQUFDO0lBQ1IsT0FBTyxFQUFFLENBQUMsR0FDWDtFQW5CSCxBQXFCRSxNQXJCSSxBQXFCSCxLQUFLLENBQUM7SUFDTCxPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUF4QkgsQUEwQkUsTUExQkksQUEwQkgsS0FBSyxDQUFDO0lBQ0wsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFHSCxBQUFBLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsT0FBTyxFNUQ2MkIyQixPQUFNLENBRE4sT0FBTTtFNEQzMkJ4QyxLQUFLLEU1RHRCSSxPQUFPO0U0RHVCaEIsZ0JBQWdCLEU1RDdCUCx5QkFBSTtFNEQ4QmIsZUFBZSxFQUFFLFdBQVc7RUFDNUIsYUFBYSxFNUQ2MkJxQixHQUFHLEM0RDcyQkYsS0FBSyxDNURvM0JOLG1CQUFrQixHNERuM0JyRDs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNWLE9BQU8sRTVEbzJCMkIsT0FBTSxHNERuMkJ6Qzs7QUNyQ0QsQUFBQSxXQUFXLENBQUM7RUFFVixRQUFRLEVBQUUsTUFBTSxHQU1qQjtFQVJELEFBSUUsV0FKUyxDQUlULE1BQU0sQ0FBQztJQUNMLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUlILEFBQUEsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLEtBQUs7RUFDZixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFN0RpcUIyQixJQUFJO0U2RGhxQnRDLE9BQU8sRUFBRSxJQUFJO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFFBQVEsRUFBRSxNQUFNO0VBR2hCLE9BQU8sRUFBRSxDQUFDLEdBSVg7O0FBR0QsQUFBQSxhQUFhLENBQUM7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRTdEZzVCNEIsTUFBSztFNkQ5NEJ2QyxjQUFjLEVBQUUsSUFBSSxHQWVyQjtFQVpDLEFBQUEsTUFBTSxBQUFBLEtBQUssQ0FSYixhQUFhLENBUUc7SWhDM0JWLFVBQVUsRTdCcThCb0IsU0FBUyxDQUFDLElBQUcsQ0FBQyxRQUFRO0k2RHg2QnRELFNBQVMsRTdEczZCdUIsbUJBQW1CLEc2RHI2QnBEO0loQzFCRyxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsTUFBTTtNZ0N1QjFDLEFBQUEsTUFBTSxBQUFBLEtBQUssQ0FSYixhQUFhLENBUUc7UWhDdEJSLFVBQVUsRUFBRSxJQUFJLEdnQ3lCckI7RUFDRCxBQUFBLE1BQU0sQUFBQSxLQUFLLENBWmIsYUFBYSxDQVlHO0lBQ1osU0FBUyxFN0RvNkJ1QixJQUFJLEc2RG42QnJDO0VBR0QsQUFBQSxNQUFNLEFBQUEsYUFBYSxDQWpCckIsYUFBYSxDQWlCVztJQUNwQixTQUFTLEU3RGk2QnVCLFdBQVcsRzZEaDZCNUM7O0FBR0gsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRTlEZ0Z1QixpQkFBNkIsRzhEakUvRDtFQWpCRCxBQUlFLHdCQUpzQixDQUl0QixjQUFjLENBQUM7SUFDYixVQUFVLEU5RDZFcUIsa0JBQTZCO0k4RDVFNUQsUUFBUSxFQUFFLE1BQU0sR0FDakI7RUFQSCxBQVNFLHdCQVRzQixDQVN0QixhQUFhO0VBVGYsd0JBQXdCLENBVXRCLGFBQWEsQ0FBQztJQUNaLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7RUFaSCxBQWNFLHdCQWRzQixDQWN0QixXQUFXLENBQUM7SUFDVixVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFHSCxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFOUQ0RHVCLGlCQUE2QixHOERwQy9EO0VBM0JELEFBTUUsc0JBTm9CLEFBTW5CLFFBQVEsQ0FBQztJQUNSLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFOUR1RHlCLGtCQUE2QjtJOER0RDVELE1BQU0sRUFBRSxXQUFXO0lBQ25CLE9BQU8sRUFBRSxFQUFFLEdBQ1o7RUFYSCxBQWNFLHNCQWRvQixBQWNuQix3QkFBd0IsQ0FBQztJQUN4QixjQUFjLEVBQUUsTUFBTTtJQUN0QixlQUFlLEVBQUUsTUFBTTtJQUN2QixNQUFNLEVBQUUsSUFBSSxHQVNiO0lBMUJILEFBbUJJLHNCQW5Ca0IsQUFjbkIsd0JBQXdCLENBS3ZCLGNBQWMsQ0FBQztNQUNiLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0lBckJMLEFBdUJJLHNCQXZCa0IsQUFjbkIsd0JBQXdCLEFBU3RCLFFBQVEsQ0FBQztNQUNSLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBS0wsQUFBQSxjQUFjLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLEtBQUssRUFBRSxJQUFJO0VBR1gsY0FBYyxFQUFFLElBQUk7RUFDcEIsZ0JBQWdCLEU3RDNHUCxJQUFJO0U2RDRHYixlQUFlLEVBQUUsV0FBVztFQUM1QixNQUFNLEU3RDZIc0IsR0FBRyxDNkQ3SEssS0FBSyxDN0RuR2hDLGtCQUFJO0UwQkNYLGFBQWEsRTFCbU9hLE1BQUs7RTZEN0hqQyxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUdELEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLEtBQUs7RUFDZixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFN0RxakIyQixJQUFJO0U2RHBqQnRDLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLEtBQUs7RUFDYixnQkFBZ0IsRTdEbEhQLElBQUksRzZEdUhkO0VBWkQsQUFVRSxlQVZhLEFBVVosS0FBSyxDQUFDO0lBQUUsT0FBTyxFQUFFLENBQUMsR0FBSTtFQVZ6QixBQVdFLGVBWGEsQUFXWixLQUFLLENBQUM7SUFBRSxPQUFPLEU3RDh6QmtCLEdBQUUsRzZEOXpCUzs7QUFLL0MsQUFBQSxhQUFhLENBQUM7RUFDWixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLGVBQWUsRUFBRSxhQUFhO0VBQzlCLE9BQU8sRTdEMHpCMkIsSUFBSSxDQUNKLElBQUk7RTZEMXpCdEMsYUFBYSxFN0RnR2UsR0FBRyxDNkRoR1csS0FBSyxDN0R2SXRDLE9BQU87RTBCaUJkLHNCQUFzQixFM0JnSFMsa0JBQTZCO0UyQi9HNUQsdUJBQXVCLEUzQitHUSxrQkFBNkIsRzhEYy9EO0VBYkQsQUFRRSxhQVJXLENBUVgsTUFBTSxDQUFDO0lBQ0wsT0FBTyxFN0RxekJ5QixJQUFJLENBQ0osSUFBSTtJNkRwekJwQyxNQUFNLEU3RG16QjBCLEtBQUksQ0FDSixLQUFJLENBREosS0FBSSxDNkRuekJxRCxJQUFJLEdBQzlGOztBQUlILEFBQUEsWUFBWSxDQUFDO0VBQ1gsYUFBYSxFQUFFLENBQUM7RUFDaEIsV0FBVyxFN0Q0SWlCLEdBQUcsRzZEM0loQzs7QUFJRCxBQUFBLFdBQVcsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBR2xCLElBQUksRUFBRSxRQUFRO0VBQ2QsT0FBTyxFN0R5d0IyQixJQUFJLEc2RHh3QnZDOztBQUdELEFBQUEsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxRQUFRO0VBQ3pCLE9BQU8sRUFBRSxPQUF1RDtFQUNoRSxVQUFVLEU3RCtEa0IsR0FBRyxDNkQvRFEsS0FBSyxDN0R4S25DLE9BQU87RTBCK0JkLDBCQUEwQixFM0JrR0ssa0JBQTZCO0UyQmpHNUQseUJBQXlCLEUzQmlHTSxrQkFBNkIsRzhEaUQvRDtFQWhCRCxBQWFFLGFBYlcsR0FhVCxDQUFDLENBQUM7SUFDRixNQUFNLEVBQUUsT0FBZ0MsR0FDekM7O0FBSUgsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsT0FBTztFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsTUFBTSxHQUNqQjs7QXpEeklHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFeUR6QjVCLEFBQUEsYUFBYSxDQXVLRztJQUNaLFNBQVMsRTdEcXdCdUIsS0FBSztJNkRwd0JyQyxNQUFNLEU3RDJ1QjBCLE9BQU8sQzZEM3VCRixJQUFJLEdBQzFDO0VBcEpILEFBQUEsd0JBQXdCLENBc0pHO0lBQ3ZCLFVBQVUsRTlEckVxQixtQkFBNkIsRzhEMEU3RDtJQTVKSCxBQUlFLHdCQUpzQixDQUl0QixjQUFjLENBcUpHO01BQ2IsVUFBVSxFOUR4RW1CLG9CQUE2QixHOER5RTNEO0VBeElMLEFBQUEsc0JBQXNCLENBMklHO0lBQ3JCLFVBQVUsRTlEN0VxQixtQkFBNkIsRzhEbUY3RDtJQWxKSCxBQU1FLHNCQU5vQixBQU1uQixRQUFRLENBd0lHO01BQ1IsTUFBTSxFOURoRnVCLG9CQUE2QjtNOERpRjFELE1BQU0sRUFBRSxXQUFXLEdBQ3BCO0VBT0gsQUFBQSxTQUFTLENBQUM7SUFBRSxTQUFTLEU3RDZ1QmEsS0FBSyxHNkQ3dUJIOztBekR4S2xDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFeUQ0SzFCLEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBQztJQUNSLFNBQVMsRTdEcXVCdUIsS0FBSyxHNkRwdUJ0Qzs7QXpEL0tDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFeURtTDNCLEFBQUEsU0FBUyxDQUFDO0lBQUUsU0FBUyxFN0QrdEJhLE1BQU0sRzZEL3RCSjs7QUM5T3RDLEFBQUEsUUFBUSxDQUFDO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFOURxckIyQixJQUFJO0U4RHByQnRDLE9BQU8sRUFBRSxLQUFLO0VBQ2QsTUFBTSxFOUQ0MUI0QixDQUFDO0VXaDJCbkMsV0FBVyxFWHlSaUIsYUFBYSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCO0VXdlJqTixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVYaVNpQixHQUFHO0VXaFMvQixXQUFXLEVYcVNpQixHQUFHO0VXcFMvQixVQUFVLEVBQUUsSUFBSTtFQUNoQixVQUFVLEVBQUUsS0FBSztFQUNqQixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsSUFBSTtFQUNwQixjQUFjLEVBQUUsTUFBTTtFQUN0QixVQUFVLEVBQUUsTUFBTTtFQUNsQixZQUFZLEVBQUUsTUFBTTtFQUNwQixXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVBQUUsSUFBSTtFVGdIWixTQUFTLEVBdENFLFFBQUM7RTREOUVoQixTQUFTLEVBQUUsVUFBVTtFQUNyQixPQUFPLEVBQUUsQ0FBQyxHQWlCWDtFQTVCRCxBQWFFLFFBYk0sQUFhTCxLQUFLLENBQUM7SUFBRSxPQUFPLEU5RGcxQmtCLEdBQUUsRzhEaDFCRTtFQWJ4QyxBQWVFLFFBZk0sQ0FlTixNQUFNLENBQUM7SUFDTCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRTlEZzFCMkIsTUFBSztJOEQvMEJyQyxNQUFNLEU5RGcxQjBCLE1BQUssRzhEeDBCdEM7SUEzQkgsQUFxQkksUUFyQkksQ0FlTixNQUFNLEFBTUgsUUFBUSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLEVBQUU7TUFDWCxZQUFZLEVBQUUsV0FBVztNQUN6QixZQUFZLEVBQUUsS0FBSyxHQUNwQjs7QUFJTCxBQUFBLGVBQWUsRUE0RGYsZ0JBQWdCLENBQ2IsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQTdEWTtFQUNkLE9BQU8sRTlEbzBCMkIsTUFBSyxDOERwMEJSLENBQUMsR0FXakM7RUFaRCxBQUdFLGVBSGEsQ0FHYixNQUFNLEVBeURSLGdCQUFnQixDQUNiLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUExREYsTUFBTSxDQUFDO0lBQ0wsTUFBTSxFQUFFLENBQUMsR0FPVjtJQVhILEFBTUksZUFOVyxDQUdiLE1BQU0sQUFHSCxRQUFRLEVBc0RiLGdCQUFnQixDQUNiLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUExREYsTUFBTSxBQUdILFFBQVEsQ0FBQztNQUNSLEdBQUcsRUFBRSxDQUFDO01BQ04sWUFBWSxFOUQ2ekJrQixNQUFLLEM4RDd6QkMsTUFBMEIsQ0FBQyxDQUFDO01BQ2hFLGdCQUFnQixFOUR2QlgsSUFBSSxHOER3QlY7O0FBSUwsQUFBQSxpQkFBaUIsRUE4Q2pCLGdCQUFnQixDQUliLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFsRGM7RUFDaEIsT0FBTyxFQUFFLENBQUMsQzlEc3pCd0IsTUFBSyxHOER6eUJ4QztFQWRELEFBR0UsaUJBSGUsQ0FHZixNQUFNLEVBMkNSLGdCQUFnQixDQUliLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUEvQ0YsTUFBTSxDQUFDO0lBQ0wsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEU5RGt6QjJCLE1BQUs7SThEanpCckMsTUFBTSxFOURnekIwQixNQUFLLEc4RHp5QnRDO0lBYkgsQUFRSSxpQkFSYSxDQUdmLE1BQU0sQUFLSCxRQUFRLEVBc0NiLGdCQUFnQixDQUliLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUEvQ0YsTUFBTSxBQUtILFFBQVEsQ0FBQztNQUNSLEtBQUssRUFBRSxDQUFDO01BQ1IsWUFBWSxFQUFFLE1BQTBCLEM5RDZ5QlYsTUFBSyxDOEQ3eUI0QixNQUEwQixDQUFDLENBQUM7TUFDM0Ysa0JBQWtCLEU5RHZDYixJQUFJLEc4RHdDVjs7QUFJTCxBQUFBLGtCQUFrQixFQThCbEIsZ0JBQWdCLENBT2IsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQXJDZTtFQUNqQixPQUFPLEU5RHN5QjJCLE1BQUssQzhEdHlCUixDQUFDLEdBV2pDO0VBWkQsQUFHRSxrQkFIZ0IsQ0FHaEIsTUFBTSxFQTJCUixnQkFBZ0IsQ0FPYixBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBbENGLE1BQU0sQ0FBQztJQUNMLEdBQUcsRUFBRSxDQUFDLEdBT1A7SUFYSCxBQU1JLGtCQU5jLENBR2hCLE1BQU0sQUFHSCxRQUFRLEVBd0JiLGdCQUFnQixDQU9iLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFsQ0YsTUFBTSxBQUdILFFBQVEsQ0FBQztNQUNSLE1BQU0sRUFBRSxDQUFDO01BQ1QsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUEwQixDOUQreEJaLE1BQUs7TThEOXhCbkMsbUJBQW1CLEU5RHJEZCxJQUFJLEc4RHNEVjs7QUFJTCxBQUFBLGdCQUFnQixFQWdCaEIsZ0JBQWdCLENBVWIsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQTFCYTtFQUNmLE9BQU8sRUFBRSxDQUFDLEM5RHd4QndCLE1BQUssRzhEM3dCeEM7RUFkRCxBQUdFLGdCQUhjLENBR2QsTUFBTSxFQWFSLGdCQUFnQixDQVViLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUF2QkYsTUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLENBQUM7SUFDUixLQUFLLEU5RG94QjJCLE1BQUs7SThEbnhCckMsTUFBTSxFOURreEIwQixNQUFLLEc4RDN3QnRDO0lBYkgsQUFRSSxnQkFSWSxDQUdkLE1BQU0sQUFLSCxRQUFRLEVBUWIsZ0JBQWdCLENBVWIsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQXZCRixNQUFNLEFBS0gsUUFBUSxDQUFDO01BQ1IsSUFBSSxFQUFFLENBQUM7TUFDUCxZQUFZLEVBQUUsTUFBMEIsQ0FBQyxDQUFDLENBQUMsTUFBMEIsQzlEK3dCdkMsTUFBSztNOEQ5d0JuQyxpQkFBaUIsRTlEckVaLElBQUksRzhEc0VWOztBQW9CTCxBQUFBLGNBQWMsQ0FBQztFQUNiLFNBQVMsRTlEOHVCeUIsS0FBSztFOEQ3dUJ2QyxPQUFPLEU5RGt2QjJCLE9BQU0sQ0FDTixNQUFLO0U4RGx2QnZDLEtBQUssRTlEdkdJLElBQUk7RThEd0diLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGdCQUFnQixFOUQvRlAsSUFBSTtFMEJDWCxhQUFhLEUxQmtPYSxPQUFNLEc4RGxJbkM7O0FDbEhELEFBQUEsUUFBUSxDQUFDO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLE9BQU8sRS9EbXJCMkIsSUFBSTtFK0RsckJ0QyxPQUFPLEVBQUUsS0FBSztFQUNkLFNBQVMsRS9EODJCeUIsS0FBSztFV24zQnZDLFdBQVcsRVh5UmlCLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGtCQUFrQjtFV3ZSak4sVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFWGlTaUIsR0FBRztFV2hTL0IsV0FBVyxFWHFTaUIsR0FBRztFV3BTL0IsVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLEtBQUs7RUFDakIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLElBQUk7RUFDcEIsY0FBYyxFQUFFLE1BQU07RUFDdEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsWUFBWSxFQUFFLE1BQU07RUFDcEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFQUFFLElBQUk7RVRnSFosU0FBUyxFQXRDRSxRQUFDO0U2RDdFaEIsU0FBUyxFQUFFLFVBQVU7RUFDckIsZ0JBQWdCLEUvRE5QLElBQUk7RStET2IsZUFBZSxFQUFFLFdBQVc7RUFDNUIsTUFBTSxFL0RrT3NCLEdBQUcsQytEbE9ELEtBQUssQy9ERTFCLGtCQUFJO0UwQkNYLGFBQWEsRTFCbU9hLE1BQUssRytEbE5sQztFQW5DRCxBQW1CRSxRQW5CTSxDQW1CTixNQUFNLENBQUM7SUFDTCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRS9EODJCMkIsSUFBSTtJK0Q3MkJwQyxNQUFNLEUvRDgyQjBCLE1BQUs7SStENzJCckMsTUFBTSxFQUFFLENBQUMsQy9ENk5pQixNQUFLLEcrRG5OaEM7SUFsQ0gsQUEwQkksUUExQkksQ0FtQk4sTUFBTSxBQU9ILFFBQVEsRUExQmIsUUFBUSxDQW1CTixNQUFNLEFBUUgsT0FBTyxDQUFDO01BQ1AsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLEtBQUs7TUFDZCxPQUFPLEVBQUUsRUFBRTtNQUNYLFlBQVksRUFBRSxXQUFXO01BQ3pCLFlBQVksRUFBRSxLQUFLLEdBQ3BCOztBQUlMLEFBQUEsZUFBZSxFQWtHZixnQkFBZ0IsQ0FDYixBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBbkdZO0VBQ2QsYUFBYSxFL0QrMUJxQixNQUFLLEcrRDkwQnhDO0VBbEJELEFBR0UsZUFIYSxHQUdYLE1BQU0sRUErRlYsZ0JBQWdCLENBQ2IsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixJQWhHQSxNQUFNLENBQUM7SUFDUCxNQUFNLEVoRWtHeUIsbUJBQTZCLEdnRXJGN0Q7SUFqQkgsQUFNSSxlQU5XLEdBR1gsTUFBTSxBQUdMLFFBQVEsRUE0RmIsZ0JBQWdCLENBQ2IsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixJQWhHQSxNQUFNLEFBR0wsUUFBUSxDQUFDO01BQ1IsTUFBTSxFQUFFLENBQUM7TUFDVCxZQUFZLEUvRHcxQmtCLE1BQUssQytEeDFCQyxNQUEwQixDQUFDLENBQUM7TUFDaEUsZ0JBQWdCLEUvRDAxQmMsbUJBQW1DLEcrRHoxQmxFO0lBVkwsQUFZSSxlQVpXLEdBR1gsTUFBTSxBQVNMLE9BQU8sRUFzRlosZ0JBQWdCLENBQ2IsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixJQWhHQSxNQUFNLEFBU0wsT0FBTyxDQUFDO01BQ1AsTUFBTSxFL0QrTGtCLEdBQUc7TStEOUwzQixZQUFZLEUvRGsxQmtCLE1BQUssQytEbDFCQyxNQUEwQixDQUFDLENBQUM7TUFDaEUsZ0JBQWdCLEUvRDdDWCxJQUFJLEcrRDhDVjs7QUFJTCxBQUFBLGlCQUFpQixFQThFakIsZ0JBQWdCLENBSWIsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixFQWxGYztFQUNoQixXQUFXLEUvRDIwQnVCLE1BQUssRytEdnpCeEM7RUFyQkQsQUFHRSxpQkFIZSxHQUdiLE1BQU0sRUEyRVYsZ0JBQWdCLENBSWIsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixJQS9FQSxNQUFNLENBQUM7SUFDUCxJQUFJLEVoRThFMkIsbUJBQTZCO0lnRTdFNUQsS0FBSyxFL0R1MEIyQixNQUFLO0krRHQwQnJDLE1BQU0sRS9EcTBCMEIsSUFBSTtJK0RwMEJwQyxNQUFNLEUvRHFMb0IsTUFBSyxDK0RyTEEsQ0FBQyxHQWFqQztJQXBCSCxBQVNJLGlCQVRhLEdBR2IsTUFBTSxBQU1MLFFBQVEsRUFxRWIsZ0JBQWdCLENBSWIsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixJQS9FQSxNQUFNLEFBTUwsUUFBUSxDQUFDO01BQ1IsSUFBSSxFQUFFLENBQUM7TUFDUCxZQUFZLEVBQUUsTUFBMEIsQy9EaTBCVixNQUFLLEMrRGowQjRCLE1BQTBCLENBQUMsQ0FBQztNQUMzRixrQkFBa0IsRS9EbTBCWSxtQkFBbUMsRytEbDBCbEU7SUFiTCxBQWVJLGlCQWZhLEdBR2IsTUFBTSxBQVlMLE9BQU8sRUErRFosZ0JBQWdCLENBSWIsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixJQS9FQSxNQUFNLEFBWUwsT0FBTyxDQUFDO01BQ1AsSUFBSSxFL0R3S29CLEdBQUc7TStEdkszQixZQUFZLEVBQUUsTUFBMEIsQy9EMnpCVixNQUFLLEMrRDN6QjRCLE1BQTBCLENBQUMsQ0FBQztNQUMzRixrQkFBa0IsRS9EcEViLElBQUksRytEcUVWOztBQUlMLEFBQUEsa0JBQWtCLEVBdURsQixnQkFBZ0IsQ0FPYixBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBOURlO0VBQ2pCLFVBQVUsRS9Eb3pCd0IsTUFBSyxHK0R2eEJ4QztFQTlCRCxBQUdFLGtCQUhnQixHQUdkLE1BQU0sRUFvRFYsZ0JBQWdCLENBT2IsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixJQTNEQSxNQUFNLENBQUM7SUFDUCxHQUFHLEVoRXVENEIsbUJBQTZCLEdnRTFDN0Q7SUFqQkgsQUFNSSxrQkFOYyxHQUdkLE1BQU0sQUFHTCxRQUFRLEVBaURiLGdCQUFnQixDQU9iLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsSUEzREEsTUFBTSxBQUdMLFFBQVEsQ0FBQztNQUNSLEdBQUcsRUFBRSxDQUFDO01BQ04sWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUEwQixDL0Q2eUJaLE1BQUssQytEN3lCOEIsTUFBMEI7TUFDM0YsbUJBQW1CLEUvRCt5QlcsbUJBQW1DLEcrRDl5QmxFO0lBVkwsQUFZSSxrQkFaYyxHQUdkLE1BQU0sQUFTTCxPQUFPLEVBMkNaLGdCQUFnQixDQU9iLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsSUEzREEsTUFBTSxBQVNMLE9BQU8sQ0FBQztNQUNQLEdBQUcsRS9Eb0pxQixHQUFHO00rRG5KM0IsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUEwQixDL0R1eUJaLE1BQUssQytEdnlCOEIsTUFBMEI7TUFDM0YsbUJBQW1CLEUvRHhGZCxJQUFJLEcrRHlGVjtFQWhCTCxBQW9CRSxrQkFwQmdCLENBb0JoQixlQUFlLEFBQUEsUUFBUSxFQW1DekIsZ0JBQWdCLENBT2IsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQTFDRixlQUFlLEFBQUEsUUFBUSxDQUFDO0lBQ3RCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxDQUFDO0lBQ04sSUFBSSxFQUFFLEdBQUc7SUFDVCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRS9EMnhCMkIsSUFBSTtJK0QxeEJwQyxXQUFXLEVBQUUsT0FBeUI7SUFDdEMsT0FBTyxFQUFFLEVBQUU7SUFDWCxhQUFhLEUvRHFJYSxHQUFHLEMrRHJJUSxLQUFLLEMvRCt3QlYsT0FBdUIsRytEOXdCeEQ7O0FBR0gsQUFBQSxnQkFBZ0IsRUF1QmhCLGdCQUFnQixDQVViLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFqQ2E7RUFDZixZQUFZLEUvRG94QnNCLE1BQUssRytEaHdCeEM7RUFyQkQsQUFHRSxnQkFIYyxHQUdaLE1BQU0sRUFvQlYsZ0JBQWdCLENBVWIsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixJQTlCQSxNQUFNLENBQUM7SUFDUCxLQUFLLEVoRXVCMEIsbUJBQTZCO0lnRXRCNUQsS0FBSyxFL0RneEIyQixNQUFLO0krRC93QnJDLE1BQU0sRS9EOHdCMEIsSUFBSTtJK0Q3d0JwQyxNQUFNLEUvRDhIb0IsTUFBSyxDK0Q5SEEsQ0FBQyxHQWFqQztJQXBCSCxBQVNJLGdCQVRZLEdBR1osTUFBTSxBQU1MLFFBQVEsRUFjYixnQkFBZ0IsQ0FVYixBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLElBOUJBLE1BQU0sQUFNTCxRQUFRLENBQUM7TUFDUixLQUFLLEVBQUUsQ0FBQztNQUNSLFlBQVksRUFBRSxNQUEwQixDQUFDLENBQUMsQ0FBQyxNQUEwQixDL0Qwd0J2QyxNQUFLO00rRHp3Qm5DLGlCQUFpQixFL0Q0d0JhLG1CQUFtQyxHK0Qzd0JsRTtJQWJMLEFBZUksZ0JBZlksR0FHWixNQUFNLEFBWUwsT0FBTyxFQVFaLGdCQUFnQixDQVViLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsSUE5QkEsTUFBTSxBQVlMLE9BQU8sQ0FBQztNQUNQLEtBQUssRS9EaUhtQixHQUFHO00rRGhIM0IsWUFBWSxFQUFFLE1BQTBCLENBQUMsQ0FBQyxDQUFDLE1BQTBCLEMvRG93QnZDLE1BQUs7TStEbndCbkMsaUJBQWlCLEUvRDNIWixJQUFJLEcrRDRIVjs7QUFxQkwsQUFBQSxlQUFlLENBQUM7RUFDZCxPQUFPLEUvRG91QjJCLE1BQUssQ0FDTCxPQUFNO0UrRHB1QnhDLGFBQWEsRUFBRSxDQUFDO0U3RDNCWixTQUFTLEVBdENFLElBQUM7RTZEb0VoQixnQkFBZ0IsRS9EOHRCa0IsT0FBdUI7RStEN3RCekQsYUFBYSxFL0RtRmUsR0FBRyxDK0RuRk0sS0FBSyxDQUFDLE9BQThCO0VyQ25JdkUsc0JBQXNCLEUzQmdIUyxrQkFBNkI7RTJCL0c1RCx1QkFBdUIsRTNCK0dRLGtCQUE2QixHZ0V5Qi9EO0VBWkQsQUFTRSxlQVRhLEFBU1osTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUksR0FDZDs7QUFHSCxBQUFBLGFBQWEsQ0FBQztFQUNaLE9BQU8sRS9Ec3RCMkIsTUFBSyxDQUNMLE9BQU07RStEdHRCeEMsS0FBSyxFL0R4SkksT0FBTyxHK0R5SmpCOztBQzVKRCxBQUFBLFNBQVMsQ0FBQztFQUNSLFFBQVEsRUFBRSxRQUFRLEdBQ25COztBQUVELEFBQUEsU0FBUyxBQUFBLGNBQWMsQ0FBQztFQUN0QixZQUFZLEVBQUUsS0FBSyxHQUNwQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLE1BQU0sR0FFakI7RUFMRCxBbENwQkUsZWtDb0JhLEFsQ3BCWixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEVBQUUsR0FDWjs7QWtDdUJILEFBQUEsY0FBYyxDQUFDO0VBQ2IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxJQUFJO0VBQ1gsWUFBWSxFQUFFLEtBQUs7RUFDbkIsbUJBQW1CLEVBQUUsTUFBTTtFbkNsQnZCLFVBQVUsRTdCMGpDcUIsU0FBUyxDQURULElBQUcsQ0FDcUMsV0FBVyxHZ0V0aUN2RjtFbkNoQkssTUFBTSxFQUFFLHNCQUFzQixFQUFFLE1BQU07SW1DUTVDLEFBQUEsY0FBYyxDQUFDO01uQ1BQLFVBQVUsRUFBRSxJQUFJLEdtQ2V2Qjs7QUFFRCxBQUFBLGNBQWMsQUFBQSxPQUFPO0FBQ3JCLG1CQUFtQjtBQUNuQixtQkFBbUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVELEFBQUEsbUJBQW1CLEFBQUEsSUFBSyxDQUFBLG1CQUFtQjtBQUMzQyxPQUFPLEFBQUEsb0JBQW9CLENBQUM7RUFDMUIsU0FBUyxFQUFFLGdCQUFnQixHQUM1Qjs7QUFFRCxBQUFBLG1CQUFtQixBQUFBLElBQUssQ0FBQSxvQkFBb0I7QUFDNUMsT0FBTyxBQUFBLG1CQUFtQixDQUFDO0VBQ3pCLFNBQVMsRUFBRSxpQkFBaUIsR0FDN0I7O0FBT0QsQUFDRSxjQURZLENBQ1osY0FBYyxDQUFDO0VBQ2IsT0FBTyxFQUFFLENBQUM7RUFDVixtQkFBbUIsRUFBRSxPQUFPO0VBQzVCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBQUxILEFBT0UsY0FQWSxDQU9aLGNBQWMsQUFBQSxPQUFPO0FBUHZCLGNBQWMsQ0FRWixtQkFBbUIsQUFBQSxtQkFBbUI7QUFSeEMsY0FBYyxDQVNaLG1CQUFtQixBQUFBLG9CQUFvQixDQUFDO0VBQ3RDLE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFaSCxBQWNFLGNBZFksQ0FjWixPQUFPLEFBQUEsbUJBQW1CO0FBZDVCLGNBQWMsQ0FlWixPQUFPLEFBQUEsb0JBQW9CLENBQUM7RUFDMUIsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsQ0FBQztFbkM1RFIsVUFBVSxFbUM2RFEsT0FBTyxDQUFDLEVBQUUsQ2hFNC9CRyxJQUFHLEdnRTMvQnJDO0VuQzFERyxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsTUFBTTtJbUN1QzVDLEFBY0UsY0FkWSxDQWNaLE9BQU8sQUFBQSxtQkFBbUI7SUFkNUIsY0FBYyxDQWVaLE9BQU8sQUFBQSxvQkFBb0IsQ0FBQztNbkNyRHRCLFVBQVUsRUFBRSxJQUFJLEdtQ3lEckI7O0FBUUgsQUFBQSxzQkFBc0I7QUFDdEIsc0JBQXNCLENBQUM7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBRVYsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtFQUN2QixLQUFLLEVoRXE5QjhCLEdBQUc7RWdFcDlCdEMsS0FBSyxFaEUxRkksSUFBSTtFZ0UyRmIsVUFBVSxFQUFFLE1BQU07RUFDbEIsT0FBTyxFaEVtOUI0QixHQUFFO0U2QnRpQ2pDLFVBQVUsRTdCd2lDcUIsT0FBTyxDQUFDLEtBQUksQ0FBQyxJQUFJLEdnRTM4QnJEO0VuQ3pGSyxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsTUFBTTtJbUNrRTVDLEFBQUEsc0JBQXNCO0lBQ3RCLHNCQUFzQixDQUFDO01uQ2xFZixVQUFVLEVBQUUsSUFBSSxHbUN3RnZCO0VBdkJELEEzRHRFRSxzQjJEc0VvQixBM0R0RW5CLE1BQU0sRTJEc0VULHNCQUFzQixBM0RyRW5CLE1BQU07RTJEc0VULHNCQUFzQixBM0R2RW5CLE1BQU07RTJEdUVULHNCQUFzQixBM0R0RW5CLE1BQU0sQ0FBQztJMkR1Rk4sS0FBSyxFaEVqR0UsSUFBSTtJZ0VrR1gsZUFBZSxFQUFFLElBQUk7SUFDckIsT0FBTyxFQUFFLENBQUM7SUFDVixPQUFPLEVoRTQ4QjBCLEdBQUUsR0twaUNwQzs7QTJEMkZILEFBQUEsc0JBQXNCLENBQUM7RUFDckIsSUFBSSxFQUFFLENBQUMsR0FJUjs7QUFDRCxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLEtBQUssRUFBRSxDQUFDLEdBSVQ7O0FBR0QsQUFBQSwyQkFBMkI7QUFDM0IsMkJBQTJCLENBQUM7RUFDMUIsT0FBTyxFQUFFLFlBQVk7RUFDckIsS0FBSyxFaEVxOEI4QixJQUFJO0VnRXA4QnZDLE1BQU0sRWhFbzhCNkIsSUFBSTtFZ0VuOEJ2QyxVQUFVLEVBQUUseUJBQXlCLEdBQ3RDOztBQUNELEFBQUEsMkJBQTJCLENBQUM7RUFDMUIsZ0JBQWdCLEVqRTFFRCxvTUFBaUUsR2lFMkVqRjs7QUFDRCxBQUFBLDJCQUEyQixDQUFDO0VBQzFCLGdCQUFnQixFakU3RUQscU1BQWlFLEdpRThFakY7O0FBUUQsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLE1BQU07RUFDdkIsWUFBWSxFQUFFLENBQUM7RUFFZixZQUFZLEVoRTI1QnVCLEdBQUc7RWdFMTVCdEMsV0FBVyxFaEUwNUJ3QixHQUFHO0VnRXo1QnRDLFVBQVUsRUFBRSxJQUFJLEdBdUJqQjtFQW5DRCxBQWNFLG9CQWRrQixDQWNsQixFQUFFLENBQUM7SUFDRCxVQUFVLEVBQUUsV0FBVztJQUN2QixJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRWhFeTVCNEIsSUFBSTtJZ0V4NUJyQyxNQUFNLEVoRXk1QjJCLEdBQUc7SWdFeDVCcEMsWUFBWSxFaEUwNUJxQixHQUFHO0lnRXo1QnBDLFdBQVcsRWhFeTVCc0IsR0FBRztJZ0V4NUJwQyxXQUFXLEVBQUUsTUFBTTtJQUNuQixNQUFNLEVBQUUsT0FBTztJQUNmLGdCQUFnQixFaEVoS1QsSUFBSTtJZ0VpS1gsZUFBZSxFQUFFLFdBQVc7SUFFNUIsVUFBVSxFaEVrNUJ1QixJQUFJLENnRWw1QlcsS0FBSyxDQUFDLFdBQVc7SUFDakUsYUFBYSxFaEVpNUJvQixJQUFJLENnRWo1QmMsS0FBSyxDQUFDLFdBQVc7SUFDcEUsT0FBTyxFQUFFLEVBQUU7SW5DNUpULFVBQVUsRTdCK2lDcUIsT0FBTyxDQUFDLElBQUcsQ0FBQyxJQUFJLEdnRWo1QmxEO0luQzFKRyxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsTUFBTTtNbUM0SDVDLEFBY0Usb0JBZGtCLENBY2xCLEVBQUUsQ0FBQztRbkN6SUcsVUFBVSxFQUFFLElBQUksR21DeUpyQjtFQTlCSCxBQWdDRSxvQkFoQ2tCLENBZ0NsQixPQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQVFILEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEdBQW9DO0VBQzNDLE1BQU0sRUFBRSxJQUFJO0VBQ1osSUFBSSxFQUFFLEdBQW9DO0VBQzFDLE9BQU8sRUFBRSxFQUFFO0VBQ1gsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLElBQUk7RUFDcEIsS0FBSyxFaEUzTEksSUFBSTtFZ0U0TGIsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FDaE1ELFVBQVUsQ0FBVixjQUFVO0VBQ1IsRUFBRTtJQUFHLFNBQVMsRUFBRSxjQUFjOztBQUdoQyxBQUFBLGVBQWUsQ0FBQztFQUNkLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRWpFcWtDaUIsSUFBSTtFaUVwa0MxQixNQUFNLEVqRW9rQ2dCLElBQUk7RWlFbmtDMUIsY0FBYyxFQUFFLFdBQVc7RUFDM0IsTUFBTSxFakVva0NnQixNQUFLLENpRXBrQ0csS0FBSyxDQUFDLFlBQVk7RUFDaEQsa0JBQWtCLEVBQUUsV0FBVztFQUUvQixhQUFhLEVBQUUsR0FBRztFQUNsQixTQUFTLEVBQUUsbUNBQW1DLEdBQy9DOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsS0FBSyxFakU4akNtQixJQUFJO0VpRTdqQzVCLE1BQU0sRWpFNmpDa0IsSUFBSTtFaUU1akM1QixZQUFZLEVqRThqQ1ksS0FBSSxHaUU3akM3Qjs7QUFNRCxVQUFVLENBQVYsWUFBVTtFQUNSLEVBQUU7SUFDQSxTQUFTLEVBQUUsUUFBUTtFQUVyQixHQUFHO0lBQ0QsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsSUFBSTs7QUFJbkIsQUFBQSxhQUFhLENBQUM7RUFDWixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVqRXFpQ2lCLElBQUk7RWlFcGlDMUIsTUFBTSxFakVvaUNnQixJQUFJO0VpRW5pQzFCLGNBQWMsRUFBRSxXQUFXO0VBQzNCLGdCQUFnQixFQUFFLFlBQVk7RUFFOUIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixTQUFTLEVBQUUsaUNBQWlDLEdBQzdDOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDZixLQUFLLEVqRThoQ21CLElBQUk7RWlFN2hDNUIsTUFBTSxFakU2aENrQixJQUFJLEdpRTVoQzdCOztBRXJERCxBQUFBLGVBQWUsQ0FBSTtFQUFFLGNBQWMsRUFBRSxtQkFBbUIsR0FBSTs7QUFDNUQsQUFBQSxVQUFVLENBQVM7RUFBRSxjQUFjLEVBQUUsY0FBYyxHQUFJOztBQUN2RCxBQUFBLGFBQWEsQ0FBTTtFQUFFLGNBQWMsRUFBRSxpQkFBaUIsR0FBSTs7QUFDMUQsQUFBQSxhQUFhLENBQU07RUFBRSxjQUFjLEVBQUUsaUJBQWlCLEdBQUk7O0FBQzFELEFBQUEsa0JBQWtCLENBQUM7RUFBRSxjQUFjLEVBQUUsc0JBQXNCLEdBQUk7O0FBQy9ELEFBQUEsZUFBZSxDQUFJO0VBQUUsY0FBYyxFQUFFLG1CQUFtQixHQUFJOztBMUNGMUQsQUFBQSxXQUFXLENBQUE7RUFDVCxnQkFBZ0IsRXpCOEJWLE9BQU8sQ3lCOUJZLFVBQVUsR0FDcEM7O0FBQ0QsQXBCUUEsQ29CUkMsQUFBQSxXQUFXLEFwQlFYLE1BQU0sRW9CUlAsQ0FBQyxBQUFBLFdBQVcsQXBCU1gsTUFBTTtBb0JSUCxNQUFNLEFBQUEsV0FBVyxBcEJPaEIsTUFBTTtBb0JQUCxNQUFNLEFBQUEsV0FBVyxBcEJRaEIsTUFBTSxDQUFDO0VvQk5KLGdCQUFnQixFQUFFLE9BQW1CLENBQUMsVUFBVSxHcEJRbkQ7O0FvQmRELEFBQUEsYUFBYSxDQUFGO0VBQ1QsZ0JBQWdCLEV6Qk9ULE9BQU8sQ3lCUFcsVUFBVSxHQUNwQzs7QUFDRCxBcEJRQSxDb0JSQyxBQUFBLGFBQWEsQXBCUWIsTUFBTSxFb0JSUCxDQUFDLEFBQUEsYUFBYSxBcEJTYixNQUFNO0FvQlJQLE1BQU0sQUFBQSxhQUFhLEFwQk9sQixNQUFNO0FvQlBQLE1BQU0sQUFBQSxhQUFhLEFwQlFsQixNQUFNLENBQUM7RW9CTkosZ0JBQWdCLEVBQUUsT0FBbUIsQ0FBQyxVQUFVLEdwQlFuRDs7QW9CZEQsQUFBQSxXQUFXLENBQUE7RUFDVCxnQkFBZ0IsRXpCcUNWLE9BQU8sQ3lCckNZLFVBQVUsR0FDcEM7O0FBQ0QsQXBCUUEsQ29CUkMsQUFBQSxXQUFXLEFwQlFYLE1BQU0sRW9CUlAsQ0FBQyxBQUFBLFdBQVcsQXBCU1gsTUFBTTtBb0JSUCxNQUFNLEFBQUEsV0FBVyxBcEJPaEIsTUFBTTtBb0JQUCxNQUFNLEFBQUEsV0FBVyxBcEJRaEIsTUFBTSxDQUFDO0VvQk5KLGdCQUFnQixFQUFFLE9BQW1CLENBQUMsVUFBVSxHcEJRbkQ7O0FvQmRELEFBQUEsUUFBUSxDQUFHO0VBQ1QsZ0JBQWdCLEV6QnVDVixPQUFPLEN5QnZDWSxVQUFVLEdBQ3BDOztBQUNELEFwQlFBLENvQlJDLEFBQUEsUUFBUSxBcEJRUixNQUFNLEVvQlJQLENBQUMsQUFBQSxRQUFRLEFwQlNSLE1BQU07QW9CUlAsTUFBTSxBQUFBLFFBQVEsQXBCT2IsTUFBTTtBb0JQUCxNQUFNLEFBQUEsUUFBUSxBcEJRYixNQUFNLENBQUM7RW9CTkosZ0JBQWdCLEVBQUUsT0FBbUIsQ0FBQyxVQUFVLEdwQlFuRDs7QW9CZEQsQUFBQSxXQUFXLENBQUE7RUFDVCxnQkFBZ0IsRXpCb0NWLE9BQU8sQ3lCcENZLFVBQVUsR0FDcEM7O0FBQ0QsQXBCUUEsQ29CUkMsQUFBQSxXQUFXLEFwQlFYLE1BQU0sRW9CUlAsQ0FBQyxBQUFBLFdBQVcsQXBCU1gsTUFBTTtBb0JSUCxNQUFNLEFBQUEsV0FBVyxBcEJPaEIsTUFBTTtBb0JQUCxNQUFNLEFBQUEsV0FBVyxBcEJRaEIsTUFBTSxDQUFDO0VvQk5KLGdCQUFnQixFQUFFLE9BQW1CLENBQUMsVUFBVSxHcEJRbkQ7O0FvQmRELEFBQUEsVUFBVSxDQUFDO0VBQ1QsZ0JBQWdCLEV6QmtDVixPQUFPLEN5QmxDWSxVQUFVLEdBQ3BDOztBQUNELEFwQlFBLENvQlJDLEFBQUEsVUFBVSxBcEJRVixNQUFNLEVvQlJQLENBQUMsQUFBQSxVQUFVLEFwQlNWLE1BQU07QW9CUlAsTUFBTSxBQUFBLFVBQVUsQXBCT2YsTUFBTTtBb0JQUCxNQUFNLEFBQUEsVUFBVSxBcEJRZixNQUFNLENBQUM7RW9CTkosZ0JBQWdCLEVBQUUsT0FBbUIsQ0FBQyxVQUFVLEdwQlFuRDs7QW9CZEQsQUFBQSxTQUFTLENBQUU7RUFDVCxnQkFBZ0IsRXpCRVQsT0FBTyxDeUJGVyxVQUFVLEdBQ3BDOztBQUNELEFwQlFBLENvQlJDLEFBQUEsU0FBUyxBcEJRVCxNQUFNLEVvQlJQLENBQUMsQUFBQSxTQUFTLEFwQlNULE1BQU07QW9CUlAsTUFBTSxBQUFBLFNBQVMsQXBCT2QsTUFBTTtBb0JQUCxNQUFNLEFBQUEsU0FBUyxBcEJRZCxNQUFNLENBQUM7RW9CTkosZ0JBQWdCLEVBQUUsT0FBbUIsQ0FBQyxVQUFVLEdwQlFuRDs7QW9CZEQsQUFBQSxRQUFRLENBQUc7RUFDVCxnQkFBZ0IsRXpCU1QsT0FBTyxDeUJUVyxVQUFVLEdBQ3BDOztBQUNELEFwQlFBLENvQlJDLEFBQUEsUUFBUSxBcEJRUixNQUFNLEVvQlJQLENBQUMsQUFBQSxRQUFRLEFwQlNSLE1BQU07QW9CUlAsTUFBTSxBQUFBLFFBQVEsQXBCT2IsTUFBTTtBb0JQUCxNQUFNLEFBQUEsUUFBUSxBcEJRYixNQUFNLENBQUM7RW9CTkosZ0JBQWdCLEVBQUUsT0FBbUIsQ0FBQyxVQUFVLEdwQlFuRDs7QStEUEgsQUFBQSxTQUFTLENBQUM7RUFDUixnQkFBZ0IsRXBFTlAsSUFBSSxDb0VNWSxVQUFVLEdBQ3BDOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ2QsZ0JBQWdCLEVBQUUsc0JBQXNCLEdBQ3pDOztBQ1pELEFBQUEsT0FBTyxDQUFTO0VBQUUsTUFBTSxFckUyT00sR0FBRyxDcUUzT08sS0FBSyxDckVJbEMsT0FBTyxDcUVKMEMsVUFBVSxHQUFJOztBQUMxRSxBQUFBLFdBQVcsQ0FBSztFQUFFLFVBQVUsRXJFME9FLEdBQUcsQ3FFMU9XLEtBQUssQ3JFR3RDLE9BQU8sQ3FFSDhDLFVBQVUsR0FBSTs7QUFDOUUsQUFBQSxhQUFhLENBQUc7RUFBRSxZQUFZLEVyRXlPQSxHQUFHLENxRXpPYSxLQUFLLENyRUV4QyxPQUFPLENxRUZnRCxVQUFVLEdBQUk7O0FBQ2hGLEFBQUEsY0FBYyxDQUFFO0VBQUUsYUFBYSxFckV3T0QsR0FBRyxDcUV4T2MsS0FBSyxDckVDekMsT0FBTyxDcUVEaUQsVUFBVSxHQUFJOztBQUNqRixBQUFBLFlBQVksQ0FBSTtFQUFFLFdBQVcsRXJFdU9DLEdBQUcsQ3FFdk9ZLEtBQUssQ3JFQXZDLE9BQU8sQ3FFQStDLFVBQVUsR0FBSTs7QUFFL0UsQUFBQSxTQUFTLENBQVE7RUFBRSxNQUFNLEVBQUUsWUFBWSxHQUFJOztBQUMzQyxBQUFBLGFBQWEsQ0FBSTtFQUFFLFVBQVUsRUFBRSxZQUFZLEdBQUk7O0FBQy9DLEFBQUEsZUFBZSxDQUFFO0VBQUUsWUFBWSxFQUFFLFlBQVksR0FBSTs7QUFDakQsQUFBQSxnQkFBZ0IsQ0FBQztFQUFFLGFBQWEsRUFBRSxZQUFZLEdBQUk7O0FBQ2xELEFBQUEsY0FBYyxDQUFHO0VBQUUsV0FBVyxFQUFFLFlBQVksR0FBSTs7QUFHOUMsQUFBQSxlQUFlLENBQUc7RUFDaEIsWUFBWSxFckVnQk4sT0FBTyxDcUVoQlEsVUFBVSxHQUNoQzs7QUFGRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFlBQVksRXJFUEwsT0FBTyxDcUVPTyxVQUFVLEdBQ2hDOztBQUZELEFBQUEsZUFBZSxDQUFHO0VBQ2hCLFlBQVksRXJFdUJOLE9BQU8sQ3FFdkJRLFVBQVUsR0FDaEM7O0FBRkQsQUFBQSxZQUFZLENBQU07RUFDaEIsWUFBWSxFckV5Qk4sT0FBTyxDcUV6QlEsVUFBVSxHQUNoQzs7QUFGRCxBQUFBLGVBQWUsQ0FBRztFQUNoQixZQUFZLEVyRXNCTixPQUFPLENxRXRCUSxVQUFVLEdBQ2hDOztBQUZELEFBQUEsY0FBYyxDQUFJO0VBQ2hCLFlBQVksRXJFb0JOLE9BQU8sQ3FFcEJRLFVBQVUsR0FDaEM7O0FBRkQsQUFBQSxhQUFhLENBQUs7RUFDaEIsWUFBWSxFckVaTCxPQUFPLENxRVlPLFVBQVUsR0FDaEM7O0FBRkQsQUFBQSxZQUFZLENBQU07RUFDaEIsWUFBWSxFckVMTCxPQUFPLENxRUtPLFVBQVUsR0FDaEM7O0FBR0gsQUFBQSxhQUFhLENBQUM7RUFDWixZQUFZLEVyRWxCSCxJQUFJLENxRWtCUSxVQUFVLEdBQ2hDOztBQU1ELEFBQUEsV0FBVyxDQUFDO0VBQ1YsYUFBYSxFckVxTmUsTUFBSyxDcUVyTkEsVUFBVSxHQUM1Qzs7QUFFRCxBQUFBLFFBQVEsQ0FBQztFQUNQLGFBQWEsRXJFK01lLE9BQU0sQ3FFL01KLFVBQVUsR0FDekM7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDWCxzQkFBc0IsRXJFMk1NLE9BQU0sQ3FFM01LLFVBQVU7RUFDakQsdUJBQXVCLEVyRTBNSyxPQUFNLENxRTFNTSxVQUFVLEdBQ25EOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2IsdUJBQXVCLEVyRXNNSyxPQUFNLENxRXRNTSxVQUFVO0VBQ2xELDBCQUEwQixFckVxTUUsT0FBTSxDcUVyTVMsVUFBVSxHQUN0RDs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNkLDBCQUEwQixFckVpTUUsT0FBTSxDcUVqTVMsVUFBVTtFQUNyRCx5QkFBeUIsRXJFZ01HLE9BQU0sQ3FFaE1RLFVBQVUsR0FDckQ7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDWixzQkFBc0IsRXJFNExNLE9BQU0sQ3FFNUxLLFVBQVU7RUFDakQseUJBQXlCLEVyRTJMRyxPQUFNLENxRTNMUSxVQUFVLEdBQ3JEOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YsYUFBYSxFckV3TGUsTUFBSyxDcUV4TEEsVUFBVSxHQUM1Qzs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNkLGFBQWEsRUFBRSxjQUFjLEdBQzlCOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1osYUFBYSxFckVtTGUsS0FBSyxDcUVuTEosVUFBVSxHQUN4Qzs7QUFFRCxBQUFBLFVBQVUsQ0FBQztFQUNULGFBQWEsRUFBRSxZQUFZLEdBQzVCOztBQzFFRCxBeENDRSxTd0NETyxBeENDTixPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLEVBQUUsR0FDWjs7QXlDTUcsQUFBQSxPQUFPLENBQWU7RUFBRSxPQUFPLEV2RXNtQzFCLElBQUksQ3VFdG1DK0IsVUFBVSxHQUFJOztBQUF0RCxBQUFBLFNBQVMsQ0FBYTtFQUFFLE9BQU8sRXZFc21DcEIsTUFBTSxDdUV0bUN1QixVQUFVLEdBQUk7O0FBQXRELEFBQUEsZUFBZSxDQUFPO0VBQUUsT0FBTyxFdkVzbUNaLFlBQVksQ3VFdG1DUyxVQUFVLEdBQUk7O0FBQXRELEFBQUEsUUFBUSxDQUFjO0VBQUUsT0FBTyxFdkVzbUNFLEtBQUssQ3VFdG1DRSxVQUFVLEdBQUk7O0FBQXRELEFBQUEsUUFBUSxDQUFjO0VBQUUsT0FBTyxFdkVzbUNTLEtBQUssQ3VFdG1DTCxVQUFVLEdBQUk7O0FBQXRELEFBQUEsWUFBWSxDQUFVO0VBQUUsT0FBTyxFdkVzbUNnQixTQUFTLEN1RXRtQ2hCLFVBQVUsR0FBSTs7QUFBdEQsQUFBQSxhQUFhLENBQVM7RUFBRSxPQUFPLEV2RXNtQzJCLFVBQVUsQ3VFdG1DNUIsVUFBVSxHQUFJOztBQUF0RCxBQUFBLE9BQU8sQ0FBZTtFQUFFLE9BQU8sRXZFc21DdUMsSUFBSSxDdUV0bUNsQyxVQUFVLEdBQUk7O0FBQXRELEFBQUEsY0FBYyxDQUFRO0VBQUUsT0FBTyxFdkVzbUM2QyxXQUFXLEN1RXRtQy9DLFVBQVUsR0FBSTs7QW5FaUR4RCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RW1FakR0QixBQUFBLFVBQVUsQ0FBWTtJQUFFLE9BQU8sRXZFc21DMUIsSUFBSSxDdUV0bUMrQixVQUFVLEdBQUk7RUFBdEQsQUFBQSxZQUFZLENBQVU7SUFBRSxPQUFPLEV2RXNtQ3BCLE1BQU0sQ3VFdG1DdUIsVUFBVSxHQUFJO0VBQXRELEFBQUEsa0JBQWtCLENBQUk7SUFBRSxPQUFPLEV2RXNtQ1osWUFBWSxDdUV0bUNTLFVBQVUsR0FBSTtFQUF0RCxBQUFBLFdBQVcsQ0FBVztJQUFFLE9BQU8sRXZFc21DRSxLQUFLLEN1RXRtQ0UsVUFBVSxHQUFJO0VBQXRELEFBQUEsV0FBVyxDQUFXO0lBQUUsT0FBTyxFdkVzbUNTLEtBQUssQ3VFdG1DTCxVQUFVLEdBQUk7RUFBdEQsQUFBQSxlQUFlLENBQU87SUFBRSxPQUFPLEV2RXNtQ2dCLFNBQVMsQ3VFdG1DaEIsVUFBVSxHQUFJO0VBQXRELEFBQUEsZ0JBQWdCLENBQU07SUFBRSxPQUFPLEV2RXNtQzJCLFVBQVUsQ3VFdG1DNUIsVUFBVSxHQUFJO0VBQXRELEFBQUEsVUFBVSxDQUFZO0lBQUUsT0FBTyxFdkVzbUN1QyxJQUFJLEN1RXRtQ2xDLFVBQVUsR0FBSTtFQUF0RCxBQUFBLGlCQUFpQixDQUFLO0lBQUUsT0FBTyxFdkVzbUM2QyxXQUFXLEN1RXRtQy9DLFVBQVUsR0FBSTs7QW5FaUR4RCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RW1FakR0QixBQUFBLFVBQVUsQ0FBWTtJQUFFLE9BQU8sRXZFc21DMUIsSUFBSSxDdUV0bUMrQixVQUFVLEdBQUk7RUFBdEQsQUFBQSxZQUFZLENBQVU7SUFBRSxPQUFPLEV2RXNtQ3BCLE1BQU0sQ3VFdG1DdUIsVUFBVSxHQUFJO0VBQXRELEFBQUEsa0JBQWtCLENBQUk7SUFBRSxPQUFPLEV2RXNtQ1osWUFBWSxDdUV0bUNTLFVBQVUsR0FBSTtFQUF0RCxBQUFBLFdBQVcsQ0FBVztJQUFFLE9BQU8sRXZFc21DRSxLQUFLLEN1RXRtQ0UsVUFBVSxHQUFJO0VBQXRELEFBQUEsV0FBVyxDQUFXO0lBQUUsT0FBTyxFdkVzbUNTLEtBQUssQ3VFdG1DTCxVQUFVLEdBQUk7RUFBdEQsQUFBQSxlQUFlLENBQU87SUFBRSxPQUFPLEV2RXNtQ2dCLFNBQVMsQ3VFdG1DaEIsVUFBVSxHQUFJO0VBQXRELEFBQUEsZ0JBQWdCLENBQU07SUFBRSxPQUFPLEV2RXNtQzJCLFVBQVUsQ3VFdG1DNUIsVUFBVSxHQUFJO0VBQXRELEFBQUEsVUFBVSxDQUFZO0lBQUUsT0FBTyxFdkVzbUN1QyxJQUFJLEN1RXRtQ2xDLFVBQVUsR0FBSTtFQUF0RCxBQUFBLGlCQUFpQixDQUFLO0lBQUUsT0FBTyxFdkVzbUM2QyxXQUFXLEN1RXRtQy9DLFVBQVUsR0FBSTs7QW5FaUR4RCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RW1FakR0QixBQUFBLFVBQVUsQ0FBWTtJQUFFLE9BQU8sRXZFc21DMUIsSUFBSSxDdUV0bUMrQixVQUFVLEdBQUk7RUFBdEQsQUFBQSxZQUFZLENBQVU7SUFBRSxPQUFPLEV2RXNtQ3BCLE1BQU0sQ3VFdG1DdUIsVUFBVSxHQUFJO0VBQXRELEFBQUEsa0JBQWtCLENBQUk7SUFBRSxPQUFPLEV2RXNtQ1osWUFBWSxDdUV0bUNTLFVBQVUsR0FBSTtFQUF0RCxBQUFBLFdBQVcsQ0FBVztJQUFFLE9BQU8sRXZFc21DRSxLQUFLLEN1RXRtQ0UsVUFBVSxHQUFJO0VBQXRELEFBQUEsV0FBVyxDQUFXO0lBQUUsT0FBTyxFdkVzbUNTLEtBQUssQ3VFdG1DTCxVQUFVLEdBQUk7RUFBdEQsQUFBQSxlQUFlLENBQU87SUFBRSxPQUFPLEV2RXNtQ2dCLFNBQVMsQ3VFdG1DaEIsVUFBVSxHQUFJO0VBQXRELEFBQUEsZ0JBQWdCLENBQU07SUFBRSxPQUFPLEV2RXNtQzJCLFVBQVUsQ3VFdG1DNUIsVUFBVSxHQUFJO0VBQXRELEFBQUEsVUFBVSxDQUFZO0lBQUUsT0FBTyxFdkVzbUN1QyxJQUFJLEN1RXRtQ2xDLFVBQVUsR0FBSTtFQUF0RCxBQUFBLGlCQUFpQixDQUFLO0lBQUUsT0FBTyxFdkVzbUM2QyxXQUFXLEN1RXRtQy9DLFVBQVUsR0FBSTs7QW5FaUR4RCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RW1FakR2QixBQUFBLFVBQVUsQ0FBWTtJQUFFLE9BQU8sRXZFc21DMUIsSUFBSSxDdUV0bUMrQixVQUFVLEdBQUk7RUFBdEQsQUFBQSxZQUFZLENBQVU7SUFBRSxPQUFPLEV2RXNtQ3BCLE1BQU0sQ3VFdG1DdUIsVUFBVSxHQUFJO0VBQXRELEFBQUEsa0JBQWtCLENBQUk7SUFBRSxPQUFPLEV2RXNtQ1osWUFBWSxDdUV0bUNTLFVBQVUsR0FBSTtFQUF0RCxBQUFBLFdBQVcsQ0FBVztJQUFFLE9BQU8sRXZFc21DRSxLQUFLLEN1RXRtQ0UsVUFBVSxHQUFJO0VBQXRELEFBQUEsV0FBVyxDQUFXO0lBQUUsT0FBTyxFdkVzbUNTLEtBQUssQ3VFdG1DTCxVQUFVLEdBQUk7RUFBdEQsQUFBQSxlQUFlLENBQU87SUFBRSxPQUFPLEV2RXNtQ2dCLFNBQVMsQ3VFdG1DaEIsVUFBVSxHQUFJO0VBQXRELEFBQUEsZ0JBQWdCLENBQU07SUFBRSxPQUFPLEV2RXNtQzJCLFVBQVUsQ3VFdG1DNUIsVUFBVSxHQUFJO0VBQXRELEFBQUEsVUFBVSxDQUFZO0lBQUUsT0FBTyxFdkVzbUN1QyxJQUFJLEN1RXRtQ2xDLFVBQVUsR0FBSTtFQUF0RCxBQUFBLGlCQUFpQixDQUFLO0lBQUUsT0FBTyxFdkVzbUM2QyxXQUFXLEN1RXRtQy9DLFVBQVUsR0FBSTs7QUFVNUQsTUFBTSxDQUFDLEtBQUs7RUFFUixBQUFBLGFBQWEsQ0FBTTtJQUFFLE9BQU8sRXZFMGxDckIsSUFBSSxDdUUxbEMwQixVQUFVLEdBQUk7RUFBbkQsQUFBQSxlQUFlLENBQUk7SUFBRSxPQUFPLEV2RTBsQ2YsTUFBTSxDdUUxbENrQixVQUFVLEdBQUk7RUFBbkQsQUFBQSxxQkFBcUIsQ0FBRjtJQUFFLE9BQU8sRXZFMGxDUCxZQUFZLEN1RTFsQ0ksVUFBVSxHQUFJO0VBQW5ELEFBQUEsY0FBYyxDQUFLO0lBQUUsT0FBTyxFdkUwbENPLEtBQUssQ3VFMWxDSCxVQUFVLEdBQUk7RUFBbkQsQUFBQSxjQUFjLENBQUs7SUFBRSxPQUFPLEV2RTBsQ2MsS0FBSyxDdUUxbENWLFVBQVUsR0FBSTtFQUFuRCxBQUFBLGtCQUFrQixDQUFDO0lBQUUsT0FBTyxFdkUwbENxQixTQUFTLEN1RTFsQ3JCLFVBQVUsR0FBSTtFQUFuRCxBQUFBLG1CQUFtQixDQUFBO0lBQUUsT0FBTyxFdkUwbENnQyxVQUFVLEN1RTFsQ2pDLFVBQVUsR0FBSTtFQUFuRCxBQUFBLGFBQWEsQ0FBTTtJQUFFLE9BQU8sRXZFMGxDNEMsSUFBSSxDdUUxbEN2QyxVQUFVLEdBQUk7RUFBbkQsQUFBQSxvQkFBb0IsQ0FBRDtJQUFFLE9BQU8sRXZFMGxDa0QsV0FBVyxDdUUxbENwRCxVQUFVLEdBQUk7O0FDckJ2RCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxNQUFNLEdBb0JqQjtFQXpCRCxBQU9FLGlCQVBlLEFBT2QsUUFBUSxDQUFDO0lBQ1IsT0FBTyxFQUFFLEtBQUs7SUFDZCxPQUFPLEVBQUUsRUFBRSxHQUNaO0VBVkgsQUFZRSxpQkFaZSxDQVlmLHNCQUFzQjtFQVp4QixpQkFBaUIsQ0FhZixNQUFNO0VBYlIsaUJBQWlCLENBY2YsS0FBSztFQWRQLGlCQUFpQixDQWVmLE1BQU07RUFmUixpQkFBaUIsQ0FnQmYsS0FBSyxDQUFDO0lBQ0osUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLENBQUM7SUFDTixNQUFNLEVBQUUsQ0FBQztJQUNULElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBT0QsQUFDRSx1QkFEcUIsQUFDcEIsUUFBUSxDQUFDO0VBQ1IsV0FBVyxFQUFFLFNBQStFLEdBQzdGOztBQUhILEFBQ0UsdUJBRHFCLEFBQ3BCLFFBQVEsQ0FBQztFQUNSLFdBQVcsRUFBRSxNQUErRSxHQUM3Rjs7QUFISCxBQUNFLHNCQURvQixBQUNuQixRQUFRLENBQUM7RUFDUixXQUFXLEVBQUUsR0FBK0UsR0FDN0Y7O0FBSEgsQUFDRSxzQkFEb0IsQUFDbkIsUUFBUSxDQUFDO0VBQ1IsV0FBVyxFQUFFLElBQStFLEdBQzdGOztBQzFCRCxBQUFBLFNBQVMsQ0FBcUI7RUFBRSxjQUFjLEVBQUUsY0FBYyxHQUFJOztBQUNsRSxBQUFBLFlBQVksQ0FBa0I7RUFBRSxjQUFjLEVBQUUsaUJBQWlCLEdBQUk7O0FBQ3JFLEFBQUEsaUJBQWlCLENBQWE7RUFBRSxjQUFjLEVBQUUsc0JBQXNCLEdBQUk7O0FBQzFFLEFBQUEsb0JBQW9CLENBQVU7RUFBRSxjQUFjLEVBQUUseUJBQXlCLEdBQUk7O0FBRTdFLEFBQUEsVUFBVSxDQUFrQjtFQUFFLFNBQVMsRUFBRSxlQUFlLEdBQUk7O0FBQzVELEFBQUEsWUFBWSxDQUFnQjtFQUFFLFNBQVMsRUFBRSxpQkFBaUIsR0FBSTs7QUFDOUQsQUFBQSxrQkFBa0IsQ0FBVTtFQUFFLFNBQVMsRUFBRSx1QkFBdUIsR0FBSTs7QUFDcEUsQUFBQSxVQUFVLENBQWtCO0VBQUUsSUFBSSxFQUFFLG1CQUFtQixHQUFJOztBQUMzRCxBQUFBLFlBQVksQ0FBZ0I7RUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFJOztBQUN6RCxBQUFBLFlBQVksQ0FBZ0I7RUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFJOztBQUN6RCxBQUFBLGNBQWMsQ0FBYztFQUFFLFdBQVcsRUFBRSxZQUFZLEdBQUk7O0FBQzNELEFBQUEsY0FBYyxDQUFjO0VBQUUsV0FBVyxFQUFFLFlBQVksR0FBSTs7QUFFM0QsQUFBQSxzQkFBc0IsQ0FBWTtFQUFFLGVBQWUsRUFBRSxxQkFBcUIsR0FBSTs7QUFDOUUsQUFBQSxvQkFBb0IsQ0FBYztFQUFFLGVBQWUsRUFBRSxtQkFBbUIsR0FBSTs7QUFDNUUsQUFBQSx1QkFBdUIsQ0FBVztFQUFFLGVBQWUsRUFBRSxpQkFBaUIsR0FBSTs7QUFDMUUsQUFBQSx3QkFBd0IsQ0FBVTtFQUFFLGVBQWUsRUFBRSx3QkFBd0IsR0FBSTs7QUFDakYsQUFBQSx1QkFBdUIsQ0FBVztFQUFFLGVBQWUsRUFBRSx1QkFBdUIsR0FBSTs7QUFFaEYsQUFBQSxrQkFBa0IsQ0FBYTtFQUFFLFdBQVcsRUFBRSxxQkFBcUIsR0FBSTs7QUFDdkUsQUFBQSxnQkFBZ0IsQ0FBZTtFQUFFLFdBQVcsRUFBRSxtQkFBbUIsR0FBSTs7QUFDckUsQUFBQSxtQkFBbUIsQ0FBWTtFQUFFLFdBQVcsRUFBRSxpQkFBaUIsR0FBSTs7QUFDbkUsQUFBQSxxQkFBcUIsQ0FBVTtFQUFFLFdBQVcsRUFBRSxtQkFBbUIsR0FBSTs7QUFDckUsQUFBQSxvQkFBb0IsQ0FBVztFQUFFLFdBQVcsRUFBRSxrQkFBa0IsR0FBSTs7QUFFcEUsQUFBQSxvQkFBb0IsQ0FBWTtFQUFFLGFBQWEsRUFBRSxxQkFBcUIsR0FBSTs7QUFDMUUsQUFBQSxrQkFBa0IsQ0FBYztFQUFFLGFBQWEsRUFBRSxtQkFBbUIsR0FBSTs7QUFDeEUsQUFBQSxxQkFBcUIsQ0FBVztFQUFFLGFBQWEsRUFBRSxpQkFBaUIsR0FBSTs7QUFDdEUsQUFBQSxzQkFBc0IsQ0FBVTtFQUFFLGFBQWEsRUFBRSx3QkFBd0IsR0FBSTs7QUFDN0UsQUFBQSxxQkFBcUIsQ0FBVztFQUFFLGFBQWEsRUFBRSx1QkFBdUIsR0FBSTs7QUFDNUUsQUFBQSxzQkFBc0IsQ0FBVTtFQUFFLGFBQWEsRUFBRSxrQkFBa0IsR0FBSTs7QUFFdkUsQUFBQSxnQkFBZ0IsQ0FBYztFQUFFLFVBQVUsRUFBRSxlQUFlLEdBQUk7O0FBQy9ELEFBQUEsaUJBQWlCLENBQWE7RUFBRSxVQUFVLEVBQUUscUJBQXFCLEdBQUk7O0FBQ3JFLEFBQUEsZUFBZSxDQUFlO0VBQUUsVUFBVSxFQUFFLG1CQUFtQixHQUFJOztBQUNuRSxBQUFBLGtCQUFrQixDQUFZO0VBQUUsVUFBVSxFQUFFLGlCQUFpQixHQUFJOztBQUNqRSxBQUFBLG9CQUFvQixDQUFVO0VBQUUsVUFBVSxFQUFFLG1CQUFtQixHQUFJOztBQUNuRSxBQUFBLG1CQUFtQixDQUFXO0VBQUUsVUFBVSxFQUFFLGtCQUFrQixHQUFJOztBckVZbEUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VxRWxEeEIsQUFBQSxZQUFZLENBQWtCO0lBQUUsY0FBYyxFQUFFLGNBQWMsR0FBSTtFQUNsRSxBQUFBLGVBQWUsQ0FBZTtJQUFFLGNBQWMsRUFBRSxpQkFBaUIsR0FBSTtFQUNyRSxBQUFBLG9CQUFvQixDQUFVO0lBQUUsY0FBYyxFQUFFLHNCQUFzQixHQUFJO0VBQzFFLEFBQUEsdUJBQXVCLENBQU87SUFBRSxjQUFjLEVBQUUseUJBQXlCLEdBQUk7RUFFN0UsQUFBQSxhQUFhLENBQWU7SUFBRSxTQUFTLEVBQUUsZUFBZSxHQUFJO0VBQzVELEFBQUEsZUFBZSxDQUFhO0lBQUUsU0FBUyxFQUFFLGlCQUFpQixHQUFJO0VBQzlELEFBQUEscUJBQXFCLENBQU87SUFBRSxTQUFTLEVBQUUsdUJBQXVCLEdBQUk7RUFDcEUsQUFBQSxhQUFhLENBQWU7SUFBRSxJQUFJLEVBQUUsbUJBQW1CLEdBQUk7RUFDM0QsQUFBQSxlQUFlLENBQWE7SUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFJO0VBQ3pELEFBQUEsZUFBZSxDQUFhO0lBQUUsU0FBUyxFQUFFLFlBQVksR0FBSTtFQUN6RCxBQUFBLGlCQUFpQixDQUFXO0lBQUUsV0FBVyxFQUFFLFlBQVksR0FBSTtFQUMzRCxBQUFBLGlCQUFpQixDQUFXO0lBQUUsV0FBVyxFQUFFLFlBQVksR0FBSTtFQUUzRCxBQUFBLHlCQUF5QixDQUFTO0lBQUUsZUFBZSxFQUFFLHFCQUFxQixHQUFJO0VBQzlFLEFBQUEsdUJBQXVCLENBQVc7SUFBRSxlQUFlLEVBQUUsbUJBQW1CLEdBQUk7RUFDNUUsQUFBQSwwQkFBMEIsQ0FBUTtJQUFFLGVBQWUsRUFBRSxpQkFBaUIsR0FBSTtFQUMxRSxBQUFBLDJCQUEyQixDQUFPO0lBQUUsZUFBZSxFQUFFLHdCQUF3QixHQUFJO0VBQ2pGLEFBQUEsMEJBQTBCLENBQVE7SUFBRSxlQUFlLEVBQUUsdUJBQXVCLEdBQUk7RUFFaEYsQUFBQSxxQkFBcUIsQ0FBVTtJQUFFLFdBQVcsRUFBRSxxQkFBcUIsR0FBSTtFQUN2RSxBQUFBLG1CQUFtQixDQUFZO0lBQUUsV0FBVyxFQUFFLG1CQUFtQixHQUFJO0VBQ3JFLEFBQUEsc0JBQXNCLENBQVM7SUFBRSxXQUFXLEVBQUUsaUJBQWlCLEdBQUk7RUFDbkUsQUFBQSx3QkFBd0IsQ0FBTztJQUFFLFdBQVcsRUFBRSxtQkFBbUIsR0FBSTtFQUNyRSxBQUFBLHVCQUF1QixDQUFRO0lBQUUsV0FBVyxFQUFFLGtCQUFrQixHQUFJO0VBRXBFLEFBQUEsdUJBQXVCLENBQVM7SUFBRSxhQUFhLEVBQUUscUJBQXFCLEdBQUk7RUFDMUUsQUFBQSxxQkFBcUIsQ0FBVztJQUFFLGFBQWEsRUFBRSxtQkFBbUIsR0FBSTtFQUN4RSxBQUFBLHdCQUF3QixDQUFRO0lBQUUsYUFBYSxFQUFFLGlCQUFpQixHQUFJO0VBQ3RFLEFBQUEseUJBQXlCLENBQU87SUFBRSxhQUFhLEVBQUUsd0JBQXdCLEdBQUk7RUFDN0UsQUFBQSx3QkFBd0IsQ0FBUTtJQUFFLGFBQWEsRUFBRSx1QkFBdUIsR0FBSTtFQUM1RSxBQUFBLHlCQUF5QixDQUFPO0lBQUUsYUFBYSxFQUFFLGtCQUFrQixHQUFJO0VBRXZFLEFBQUEsbUJBQW1CLENBQVc7SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJO0VBQy9ELEFBQUEsb0JBQW9CLENBQVU7SUFBRSxVQUFVLEVBQUUscUJBQXFCLEdBQUk7RUFDckUsQUFBQSxrQkFBa0IsQ0FBWTtJQUFFLFVBQVUsRUFBRSxtQkFBbUIsR0FBSTtFQUNuRSxBQUFBLHFCQUFxQixDQUFTO0lBQUUsVUFBVSxFQUFFLGlCQUFpQixHQUFJO0VBQ2pFLEFBQUEsdUJBQXVCLENBQU87SUFBRSxVQUFVLEVBQUUsbUJBQW1CLEdBQUk7RUFDbkUsQUFBQSxzQkFBc0IsQ0FBUTtJQUFFLFVBQVUsRUFBRSxrQkFBa0IsR0FBSTs7QXJFWWxFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFcUVsRHhCLEFBQUEsWUFBWSxDQUFrQjtJQUFFLGNBQWMsRUFBRSxjQUFjLEdBQUk7RUFDbEUsQUFBQSxlQUFlLENBQWU7SUFBRSxjQUFjLEVBQUUsaUJBQWlCLEdBQUk7RUFDckUsQUFBQSxvQkFBb0IsQ0FBVTtJQUFFLGNBQWMsRUFBRSxzQkFBc0IsR0FBSTtFQUMxRSxBQUFBLHVCQUF1QixDQUFPO0lBQUUsY0FBYyxFQUFFLHlCQUF5QixHQUFJO0VBRTdFLEFBQUEsYUFBYSxDQUFlO0lBQUUsU0FBUyxFQUFFLGVBQWUsR0FBSTtFQUM1RCxBQUFBLGVBQWUsQ0FBYTtJQUFFLFNBQVMsRUFBRSxpQkFBaUIsR0FBSTtFQUM5RCxBQUFBLHFCQUFxQixDQUFPO0lBQUUsU0FBUyxFQUFFLHVCQUF1QixHQUFJO0VBQ3BFLEFBQUEsYUFBYSxDQUFlO0lBQUUsSUFBSSxFQUFFLG1CQUFtQixHQUFJO0VBQzNELEFBQUEsZUFBZSxDQUFhO0lBQUUsU0FBUyxFQUFFLFlBQVksR0FBSTtFQUN6RCxBQUFBLGVBQWUsQ0FBYTtJQUFFLFNBQVMsRUFBRSxZQUFZLEdBQUk7RUFDekQsQUFBQSxpQkFBaUIsQ0FBVztJQUFFLFdBQVcsRUFBRSxZQUFZLEdBQUk7RUFDM0QsQUFBQSxpQkFBaUIsQ0FBVztJQUFFLFdBQVcsRUFBRSxZQUFZLEdBQUk7RUFFM0QsQUFBQSx5QkFBeUIsQ0FBUztJQUFFLGVBQWUsRUFBRSxxQkFBcUIsR0FBSTtFQUM5RSxBQUFBLHVCQUF1QixDQUFXO0lBQUUsZUFBZSxFQUFFLG1CQUFtQixHQUFJO0VBQzVFLEFBQUEsMEJBQTBCLENBQVE7SUFBRSxlQUFlLEVBQUUsaUJBQWlCLEdBQUk7RUFDMUUsQUFBQSwyQkFBMkIsQ0FBTztJQUFFLGVBQWUsRUFBRSx3QkFBd0IsR0FBSTtFQUNqRixBQUFBLDBCQUEwQixDQUFRO0lBQUUsZUFBZSxFQUFFLHVCQUF1QixHQUFJO0VBRWhGLEFBQUEscUJBQXFCLENBQVU7SUFBRSxXQUFXLEVBQUUscUJBQXFCLEdBQUk7RUFDdkUsQUFBQSxtQkFBbUIsQ0FBWTtJQUFFLFdBQVcsRUFBRSxtQkFBbUIsR0FBSTtFQUNyRSxBQUFBLHNCQUFzQixDQUFTO0lBQUUsV0FBVyxFQUFFLGlCQUFpQixHQUFJO0VBQ25FLEFBQUEsd0JBQXdCLENBQU87SUFBRSxXQUFXLEVBQUUsbUJBQW1CLEdBQUk7RUFDckUsQUFBQSx1QkFBdUIsQ0FBUTtJQUFFLFdBQVcsRUFBRSxrQkFBa0IsR0FBSTtFQUVwRSxBQUFBLHVCQUF1QixDQUFTO0lBQUUsYUFBYSxFQUFFLHFCQUFxQixHQUFJO0VBQzFFLEFBQUEscUJBQXFCLENBQVc7SUFBRSxhQUFhLEVBQUUsbUJBQW1CLEdBQUk7RUFDeEUsQUFBQSx3QkFBd0IsQ0FBUTtJQUFFLGFBQWEsRUFBRSxpQkFBaUIsR0FBSTtFQUN0RSxBQUFBLHlCQUF5QixDQUFPO0lBQUUsYUFBYSxFQUFFLHdCQUF3QixHQUFJO0VBQzdFLEFBQUEsd0JBQXdCLENBQVE7SUFBRSxhQUFhLEVBQUUsdUJBQXVCLEdBQUk7RUFDNUUsQUFBQSx5QkFBeUIsQ0FBTztJQUFFLGFBQWEsRUFBRSxrQkFBa0IsR0FBSTtFQUV2RSxBQUFBLG1CQUFtQixDQUFXO0lBQUUsVUFBVSxFQUFFLGVBQWUsR0FBSTtFQUMvRCxBQUFBLG9CQUFvQixDQUFVO0lBQUUsVUFBVSxFQUFFLHFCQUFxQixHQUFJO0VBQ3JFLEFBQUEsa0JBQWtCLENBQVk7SUFBRSxVQUFVLEVBQUUsbUJBQW1CLEdBQUk7RUFDbkUsQUFBQSxxQkFBcUIsQ0FBUztJQUFFLFVBQVUsRUFBRSxpQkFBaUIsR0FBSTtFQUNqRSxBQUFBLHVCQUF1QixDQUFPO0lBQUUsVUFBVSxFQUFFLG1CQUFtQixHQUFJO0VBQ25FLEFBQUEsc0JBQXNCLENBQVE7SUFBRSxVQUFVLEVBQUUsa0JBQWtCLEdBQUk7O0FyRVlsRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RXFFbER4QixBQUFBLFlBQVksQ0FBa0I7SUFBRSxjQUFjLEVBQUUsY0FBYyxHQUFJO0VBQ2xFLEFBQUEsZUFBZSxDQUFlO0lBQUUsY0FBYyxFQUFFLGlCQUFpQixHQUFJO0VBQ3JFLEFBQUEsb0JBQW9CLENBQVU7SUFBRSxjQUFjLEVBQUUsc0JBQXNCLEdBQUk7RUFDMUUsQUFBQSx1QkFBdUIsQ0FBTztJQUFFLGNBQWMsRUFBRSx5QkFBeUIsR0FBSTtFQUU3RSxBQUFBLGFBQWEsQ0FBZTtJQUFFLFNBQVMsRUFBRSxlQUFlLEdBQUk7RUFDNUQsQUFBQSxlQUFlLENBQWE7SUFBRSxTQUFTLEVBQUUsaUJBQWlCLEdBQUk7RUFDOUQsQUFBQSxxQkFBcUIsQ0FBTztJQUFFLFNBQVMsRUFBRSx1QkFBdUIsR0FBSTtFQUNwRSxBQUFBLGFBQWEsQ0FBZTtJQUFFLElBQUksRUFBRSxtQkFBbUIsR0FBSTtFQUMzRCxBQUFBLGVBQWUsQ0FBYTtJQUFFLFNBQVMsRUFBRSxZQUFZLEdBQUk7RUFDekQsQUFBQSxlQUFlLENBQWE7SUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFJO0VBQ3pELEFBQUEsaUJBQWlCLENBQVc7SUFBRSxXQUFXLEVBQUUsWUFBWSxHQUFJO0VBQzNELEFBQUEsaUJBQWlCLENBQVc7SUFBRSxXQUFXLEVBQUUsWUFBWSxHQUFJO0VBRTNELEFBQUEseUJBQXlCLENBQVM7SUFBRSxlQUFlLEVBQUUscUJBQXFCLEdBQUk7RUFDOUUsQUFBQSx1QkFBdUIsQ0FBVztJQUFFLGVBQWUsRUFBRSxtQkFBbUIsR0FBSTtFQUM1RSxBQUFBLDBCQUEwQixDQUFRO0lBQUUsZUFBZSxFQUFFLGlCQUFpQixHQUFJO0VBQzFFLEFBQUEsMkJBQTJCLENBQU87SUFBRSxlQUFlLEVBQUUsd0JBQXdCLEdBQUk7RUFDakYsQUFBQSwwQkFBMEIsQ0FBUTtJQUFFLGVBQWUsRUFBRSx1QkFBdUIsR0FBSTtFQUVoRixBQUFBLHFCQUFxQixDQUFVO0lBQUUsV0FBVyxFQUFFLHFCQUFxQixHQUFJO0VBQ3ZFLEFBQUEsbUJBQW1CLENBQVk7SUFBRSxXQUFXLEVBQUUsbUJBQW1CLEdBQUk7RUFDckUsQUFBQSxzQkFBc0IsQ0FBUztJQUFFLFdBQVcsRUFBRSxpQkFBaUIsR0FBSTtFQUNuRSxBQUFBLHdCQUF3QixDQUFPO0lBQUUsV0FBVyxFQUFFLG1CQUFtQixHQUFJO0VBQ3JFLEFBQUEsdUJBQXVCLENBQVE7SUFBRSxXQUFXLEVBQUUsa0JBQWtCLEdBQUk7RUFFcEUsQUFBQSx1QkFBdUIsQ0FBUztJQUFFLGFBQWEsRUFBRSxxQkFBcUIsR0FBSTtFQUMxRSxBQUFBLHFCQUFxQixDQUFXO0lBQUUsYUFBYSxFQUFFLG1CQUFtQixHQUFJO0VBQ3hFLEFBQUEsd0JBQXdCLENBQVE7SUFBRSxhQUFhLEVBQUUsaUJBQWlCLEdBQUk7RUFDdEUsQUFBQSx5QkFBeUIsQ0FBTztJQUFFLGFBQWEsRUFBRSx3QkFBd0IsR0FBSTtFQUM3RSxBQUFBLHdCQUF3QixDQUFRO0lBQUUsYUFBYSxFQUFFLHVCQUF1QixHQUFJO0VBQzVFLEFBQUEseUJBQXlCLENBQU87SUFBRSxhQUFhLEVBQUUsa0JBQWtCLEdBQUk7RUFFdkUsQUFBQSxtQkFBbUIsQ0FBVztJQUFFLFVBQVUsRUFBRSxlQUFlLEdBQUk7RUFDL0QsQUFBQSxvQkFBb0IsQ0FBVTtJQUFFLFVBQVUsRUFBRSxxQkFBcUIsR0FBSTtFQUNyRSxBQUFBLGtCQUFrQixDQUFZO0lBQUUsVUFBVSxFQUFFLG1CQUFtQixHQUFJO0VBQ25FLEFBQUEscUJBQXFCLENBQVM7SUFBRSxVQUFVLEVBQUUsaUJBQWlCLEdBQUk7RUFDakUsQUFBQSx1QkFBdUIsQ0FBTztJQUFFLFVBQVUsRUFBRSxtQkFBbUIsR0FBSTtFQUNuRSxBQUFBLHNCQUFzQixDQUFRO0lBQUUsVUFBVSxFQUFFLGtCQUFrQixHQUFJOztBckVZbEUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VxRWxEekIsQUFBQSxZQUFZLENBQWtCO0lBQUUsY0FBYyxFQUFFLGNBQWMsR0FBSTtFQUNsRSxBQUFBLGVBQWUsQ0FBZTtJQUFFLGNBQWMsRUFBRSxpQkFBaUIsR0FBSTtFQUNyRSxBQUFBLG9CQUFvQixDQUFVO0lBQUUsY0FBYyxFQUFFLHNCQUFzQixHQUFJO0VBQzFFLEFBQUEsdUJBQXVCLENBQU87SUFBRSxjQUFjLEVBQUUseUJBQXlCLEdBQUk7RUFFN0UsQUFBQSxhQUFhLENBQWU7SUFBRSxTQUFTLEVBQUUsZUFBZSxHQUFJO0VBQzVELEFBQUEsZUFBZSxDQUFhO0lBQUUsU0FBUyxFQUFFLGlCQUFpQixHQUFJO0VBQzlELEFBQUEscUJBQXFCLENBQU87SUFBRSxTQUFTLEVBQUUsdUJBQXVCLEdBQUk7RUFDcEUsQUFBQSxhQUFhLENBQWU7SUFBRSxJQUFJLEVBQUUsbUJBQW1CLEdBQUk7RUFDM0QsQUFBQSxlQUFlLENBQWE7SUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFJO0VBQ3pELEFBQUEsZUFBZSxDQUFhO0lBQUUsU0FBUyxFQUFFLFlBQVksR0FBSTtFQUN6RCxBQUFBLGlCQUFpQixDQUFXO0lBQUUsV0FBVyxFQUFFLFlBQVksR0FBSTtFQUMzRCxBQUFBLGlCQUFpQixDQUFXO0lBQUUsV0FBVyxFQUFFLFlBQVksR0FBSTtFQUUzRCxBQUFBLHlCQUF5QixDQUFTO0lBQUUsZUFBZSxFQUFFLHFCQUFxQixHQUFJO0VBQzlFLEFBQUEsdUJBQXVCLENBQVc7SUFBRSxlQUFlLEVBQUUsbUJBQW1CLEdBQUk7RUFDNUUsQUFBQSwwQkFBMEIsQ0FBUTtJQUFFLGVBQWUsRUFBRSxpQkFBaUIsR0FBSTtFQUMxRSxBQUFBLDJCQUEyQixDQUFPO0lBQUUsZUFBZSxFQUFFLHdCQUF3QixHQUFJO0VBQ2pGLEFBQUEsMEJBQTBCLENBQVE7SUFBRSxlQUFlLEVBQUUsdUJBQXVCLEdBQUk7RUFFaEYsQUFBQSxxQkFBcUIsQ0FBVTtJQUFFLFdBQVcsRUFBRSxxQkFBcUIsR0FBSTtFQUN2RSxBQUFBLG1CQUFtQixDQUFZO0lBQUUsV0FBVyxFQUFFLG1CQUFtQixHQUFJO0VBQ3JFLEFBQUEsc0JBQXNCLENBQVM7SUFBRSxXQUFXLEVBQUUsaUJBQWlCLEdBQUk7RUFDbkUsQUFBQSx3QkFBd0IsQ0FBTztJQUFFLFdBQVcsRUFBRSxtQkFBbUIsR0FBSTtFQUNyRSxBQUFBLHVCQUF1QixDQUFRO0lBQUUsV0FBVyxFQUFFLGtCQUFrQixHQUFJO0VBRXBFLEFBQUEsdUJBQXVCLENBQVM7SUFBRSxhQUFhLEVBQUUscUJBQXFCLEdBQUk7RUFDMUUsQUFBQSxxQkFBcUIsQ0FBVztJQUFFLGFBQWEsRUFBRSxtQkFBbUIsR0FBSTtFQUN4RSxBQUFBLHdCQUF3QixDQUFRO0lBQUUsYUFBYSxFQUFFLGlCQUFpQixHQUFJO0VBQ3RFLEFBQUEseUJBQXlCLENBQU87SUFBRSxhQUFhLEVBQUUsd0JBQXdCLEdBQUk7RUFDN0UsQUFBQSx3QkFBd0IsQ0FBUTtJQUFFLGFBQWEsRUFBRSx1QkFBdUIsR0FBSTtFQUM1RSxBQUFBLHlCQUF5QixDQUFPO0lBQUUsYUFBYSxFQUFFLGtCQUFrQixHQUFJO0VBRXZFLEFBQUEsbUJBQW1CLENBQVc7SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJO0VBQy9ELEFBQUEsb0JBQW9CLENBQVU7SUFBRSxVQUFVLEVBQUUscUJBQXFCLEdBQUk7RUFDckUsQUFBQSxrQkFBa0IsQ0FBWTtJQUFFLFVBQVUsRUFBRSxtQkFBbUIsR0FBSTtFQUNuRSxBQUFBLHFCQUFxQixDQUFTO0lBQUUsVUFBVSxFQUFFLGlCQUFpQixHQUFJO0VBQ2pFLEFBQUEsdUJBQXVCLENBQU87SUFBRSxVQUFVLEVBQUUsbUJBQW1CLEdBQUk7RUFDbkUsQUFBQSxzQkFBc0IsQ0FBUTtJQUFFLFVBQVUsRUFBRSxrQkFBa0IsR0FBSTs7QUMxQ2xFLEFBQUEsV0FBVyxDQUFXO0VBQUUsS0FBSyxFQUFFLGVBQWUsR0FBSTs7QUFDbEQsQUFBQSxZQUFZLENBQVU7RUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEdBQUk7O0FBQ25ELEFBQUEsV0FBVyxDQUFXO0VBQUUsS0FBSyxFQUFFLGVBQWUsR0FBSTs7QXRFb0RsRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RXNFdER4QixBQUFBLGNBQWMsQ0FBUTtJQUFFLEtBQUssRUFBRSxlQUFlLEdBQUk7RUFDbEQsQUFBQSxlQUFlLENBQU87SUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEdBQUk7RUFDbkQsQUFBQSxjQUFjLENBQVE7SUFBRSxLQUFLLEVBQUUsZUFBZSxHQUFJOztBdEVvRGxELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFc0V0RHhCLEFBQUEsY0FBYyxDQUFRO0lBQUUsS0FBSyxFQUFFLGVBQWUsR0FBSTtFQUNsRCxBQUFBLGVBQWUsQ0FBTztJQUFFLEtBQUssRUFBRSxnQkFBZ0IsR0FBSTtFQUNuRCxBQUFBLGNBQWMsQ0FBUTtJQUFFLEtBQUssRUFBRSxlQUFlLEdBQUk7O0F0RW9EbEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VzRXREeEIsQUFBQSxjQUFjLENBQVE7SUFBRSxLQUFLLEVBQUUsZUFBZSxHQUFJO0VBQ2xELEFBQUEsZUFBZSxDQUFPO0lBQUUsS0FBSyxFQUFFLGdCQUFnQixHQUFJO0VBQ25ELEFBQUEsY0FBYyxDQUFRO0lBQUUsS0FBSyxFQUFFLGVBQWUsR0FBSTs7QXRFb0RsRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RXNFdER6QixBQUFBLGNBQWMsQ0FBUTtJQUFFLEtBQUssRUFBRSxlQUFlLEdBQUk7RUFDbEQsQUFBQSxlQUFlLENBQU87SUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEdBQUk7RUFDbkQsQUFBQSxjQUFjLENBQVE7SUFBRSxLQUFLLEVBQUUsZUFBZSxHQUFJOztBQ0xwRCxBQUFBLGdCQUFnQixDQUFPO0VBQUUsV0FBVyxFM0VpbkN2QixHQUFHLEMyRWpuQzZCLFVBQVUsR0FBSTs7QUFBM0QsQUFBQSxpQkFBaUIsQ0FBTTtFQUFFLFdBQVcsRTNFaW5DbEIsSUFBSSxDMkVqbkN1QixVQUFVLEdBQUk7O0FBQTNELEFBQUEsaUJBQWlCLENBQU07RUFBRSxXQUFXLEUzRWluQ1osSUFBSSxDMkVqbkNpQixVQUFVLEdBQUk7O0FDQTNELEFBQUEsY0FBYyxDQUFNO0VBQUUsUUFBUSxFNUUrbUNwQixJQUFJLEM0RS9tQ3lCLFVBQVUsR0FBSTs7QUFBckQsQUFBQSxnQkFBZ0IsQ0FBSTtFQUFFLFFBQVEsRTVFK21DZCxNQUFNLEM0RS9tQ2lCLFVBQVUsR0FBSTs7QUNDckQsQUFBQSxnQkFBZ0IsQ0FBTztFQUFFLFFBQVEsRTdFK21DdkIsTUFBTSxDNkUvbUM2QixVQUFVLEdBQUk7O0FBQTNELEFBQUEsa0JBQWtCLENBQUs7RUFBRSxRQUFRLEU3RSttQ2YsUUFBUSxDNkUvbUNtQixVQUFVLEdBQUk7O0FBQTNELEFBQUEsa0JBQWtCLENBQUs7RUFBRSxRQUFRLEU3RSttQ0wsUUFBUSxDNkUvbUNTLFVBQVUsR0FBSTs7QUFBM0QsQUFBQSxlQUFlLENBQVE7RUFBRSxRQUFRLEU3RSttQ0ssS0FBSyxDNkUvbUNFLFVBQVUsR0FBSTs7QUFBM0QsQUFBQSxnQkFBZ0IsQ0FBTztFQUFFLFFBQVEsRTdFK21DWSxNQUFNLEM2RS9tQ04sVUFBVSxHQUFJOztBQUs3RCxBQUFBLFVBQVUsQ0FBQztFQUNULFFBQVEsRUFBRSxLQUFLO0VBQ2YsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFN0VzcUIyQixJQUFJLEc2RXJxQnZDOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1osUUFBUSxFQUFFLEtBQUs7RUFDZixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPLEU3RThwQjJCLElBQUksRzZFN3BCdkM7O0FBRzZCLFNBQUMsRUFBbEIsUUFBUSxFQUFFLE1BQU07RUFEN0IsQUFBQSxXQUFXLENBQUM7SUFFUixRQUFRLEVBQUUsTUFBTTtJQUNoQixHQUFHLEVBQUUsQ0FBQztJQUNOLE9BQU8sRTdFc3BCeUIsSUFBSSxHNkVwcEJ2Qzs7QUMzQkQsQUFBQSxRQUFRLENBQUM7RXJFRVAsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsTUFBTTtFQUNoQixJQUFJLEVBQUUsZ0JBQWdCO0VBQ3RCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLE1BQU0sRUFBRSxDQUFDLEdxRVJWOztBQUVELEFyRWdCRSxrQnFFaEJnQixBckVnQmYsT0FBTyxFcUVoQlYsa0JBQWtCLEFyRWlCZixNQUFNLENBQUM7RUFDTixRQUFRLEVBQUUsTUFBTTtFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLE9BQU87RUFDakIsSUFBSSxFQUFFLElBQUk7RUFDVixXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QXNFOUJILEFBQUEsVUFBVSxDQUFDO0VBQUUsVUFBVSxFL0V3UE8sQ0FBQyxDQUFDLFFBQU8sQ0FBQyxPQUFNLENBek9uQyxvQkFBSSxDK0VmeUIsVUFBVSxHQUFJOztBQUN0RCxBQUFBLE9BQU8sQ0FBQztFQUFFLFVBQVUsRS9Fd1BVLENBQUMsQ0FBQyxNQUFLLENBQUMsSUFBSSxDQTFPL0IsbUJBQUksQytFZG1CLFVBQVUsR0FBSTs7QUFDaEQsQUFBQSxVQUFVLENBQUM7RUFBRSxVQUFVLEUvRXdQTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0EzTzlCLG9CQUFJLEMrRWJ5QixVQUFVLEdBQUk7O0FBQ3RELEFBQUEsWUFBWSxDQUFDO0VBQUUsVUFBVSxFQUFFLGVBQWUsR0FBSTs7QUNDMUMsQUFBQSxLQUFLLENBQWdCO0VBQUUsS0FBUSxFaEZ3SjNCLEdBQUcsQ2dGeEprQyxVQUFVLEdBQUk7O0FBQXZELEFBQUEsS0FBSyxDQUFnQjtFQUFFLEtBQVEsRWhGeUozQixHQUFHLENnRnpKa0MsVUFBVSxHQUFJOztBQUF2RCxBQUFBLEtBQUssQ0FBZ0I7RUFBRSxLQUFRLEVoRjBKM0IsR0FBRyxDZ0YxSmtDLFVBQVUsR0FBSTs7QUFBdkQsQUFBQSxNQUFNLENBQWU7RUFBRSxLQUFRLEVoRjJKMUIsSUFBSSxDZ0YzSmdDLFVBQVUsR0FBSTs7QUFBdkQsQUFBQSxPQUFPLENBQWM7RUFBRSxLQUFRLEVoRjRKekIsSUFBSSxDZ0Y1SitCLFVBQVUsR0FBSTs7QUFBdkQsQUFBQSxLQUFLLENBQWdCO0VBQUUsTUFBUSxFaEZ3SjNCLEdBQUcsQ2dGeEprQyxVQUFVLEdBQUk7O0FBQXZELEFBQUEsS0FBSyxDQUFnQjtFQUFFLE1BQVEsRWhGeUozQixHQUFHLENnRnpKa0MsVUFBVSxHQUFJOztBQUF2RCxBQUFBLEtBQUssQ0FBZ0I7RUFBRSxNQUFRLEVoRjBKM0IsR0FBRyxDZ0YxSmtDLFVBQVUsR0FBSTs7QUFBdkQsQUFBQSxNQUFNLENBQWU7RUFBRSxNQUFRLEVoRjJKMUIsSUFBSSxDZ0YzSmdDLFVBQVUsR0FBSTs7QUFBdkQsQUFBQSxPQUFPLENBQWM7RUFBRSxNQUFRLEVoRjRKekIsSUFBSSxDZ0Y1SitCLFVBQVUsR0FBSTs7QUFJM0QsQUFBQSxPQUFPLENBQUM7RUFBRSxTQUFTLEVBQUUsZUFBZSxHQUFJOztBQUN4QyxBQUFBLE9BQU8sQ0FBQztFQUFFLFVBQVUsRUFBRSxlQUFlLEdBQUk7O0FBSXpDLEFBQUEsV0FBVyxDQUFDO0VBQUUsU0FBUyxFQUFFLGdCQUFnQixHQUFJOztBQUM3QyxBQUFBLFdBQVcsQ0FBQztFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsR0FBSTs7QUFFOUMsQUFBQSxPQUFPLENBQUM7RUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEdBQUk7O0FBQ3JDLEFBQUEsT0FBTyxDQUFDO0VBQUUsTUFBTSxFQUFFLGdCQUFnQixHQUFJOztBQ1Q5QixBQUFBLElBQUksQ0FBMEI7RUFBRSxNQUFRLEVqRnFJekMsQ0FBQyxDaUZySWtELFVBQVUsR0FBSTs7QUFDaEUsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixVQUFZLEVqRmtJZixDQUFDLENpRmxJNEIsVUFBVSxHQUNyQzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFlBQWMsRWpGOEhqQixDQUFDLENpRjlIZ0MsVUFBVSxHQUN6Qzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLGFBQWUsRWpGMEhsQixDQUFDLENpRjFIa0MsVUFBVSxHQUMzQzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFdBQWEsRWpGc0hoQixDQUFDLENpRnRIOEIsVUFBVSxHQUN2Qzs7QUFoQkQsQUFBQSxJQUFJLENBQTBCO0VBQUUsTUFBUSxFakZzSXpDLE9BQWUsQ2lGdElvQyxVQUFVLEdBQUk7O0FBQ2hFLEFBQUEsS0FBSztBQUNMLEtBQUssQ0FBMEI7RUFDN0IsVUFBWSxFakZtSWYsT0FBZSxDaUZuSWMsVUFBVSxHQUNyQzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFlBQWMsRWpGK0hqQixPQUFlLENpRi9Ia0IsVUFBVSxHQUN6Qzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLGFBQWUsRWpGMkhsQixPQUFlLENpRjNIb0IsVUFBVSxHQUMzQzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFdBQWEsRWpGdUhoQixPQUFlLENpRnZIZ0IsVUFBVSxHQUN2Qzs7QUFoQkQsQUFBQSxJQUFJLENBQTBCO0VBQUUsTUFBUSxFakZ1SXpDLE1BQWMsQ2lGdklxQyxVQUFVLEdBQUk7O0FBQ2hFLEFBQUEsS0FBSztBQUNMLEtBQUssQ0FBMEI7RUFDN0IsVUFBWSxFakZvSWYsTUFBYyxDaUZwSWUsVUFBVSxHQUNyQzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFlBQWMsRWpGZ0lqQixNQUFjLENpRmhJbUIsVUFBVSxHQUN6Qzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLGFBQWUsRWpGNEhsQixNQUFjLENpRjVIcUIsVUFBVSxHQUMzQzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFdBQWEsRWpGd0hoQixNQUFjLENpRnhIaUIsVUFBVSxHQUN2Qzs7QUFoQkQsQUFBQSxJQUFJLENBQTBCO0VBQUUsTUFBUSxFakZnSXZDLElBQUksQ2lGaEk2QyxVQUFVLEdBQUk7O0FBQ2hFLEFBQUEsS0FBSztBQUNMLEtBQUssQ0FBMEI7RUFDN0IsVUFBWSxFakY2SGIsSUFBSSxDaUY3SHVCLFVBQVUsR0FDckM7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixZQUFjLEVqRnlIZixJQUFJLENpRnpIMkIsVUFBVSxHQUN6Qzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLGFBQWUsRWpGcUhoQixJQUFJLENpRnJINkIsVUFBVSxHQUMzQzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFdBQWEsRWpGaUhkLElBQUksQ2lGakh5QixVQUFVLEdBQ3ZDOztBQWhCRCxBQUFBLElBQUksQ0FBMEI7RUFBRSxNQUFRLEVqRnlJekMsTUFBZSxDaUZ6SW9DLFVBQVUsR0FBSTs7QUFDaEUsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixVQUFZLEVqRnNJZixNQUFlLENpRnRJYyxVQUFVLEdBQ3JDOztBQUNELEFBQUEsS0FBSztBQUNMLEtBQUssQ0FBMEI7RUFDN0IsWUFBYyxFakZrSWpCLE1BQWUsQ2lGbElrQixVQUFVLEdBQ3pDOztBQUNELEFBQUEsS0FBSztBQUNMLEtBQUssQ0FBMEI7RUFDN0IsYUFBZSxFakY4SGxCLE1BQWUsQ2lGOUhvQixVQUFVLEdBQzNDOztBQUNELEFBQUEsS0FBSztBQUNMLEtBQUssQ0FBMEI7RUFDN0IsV0FBYSxFakYwSGhCLE1BQWUsQ2lGMUhnQixVQUFVLEdBQ3ZDOztBQWhCRCxBQUFBLElBQUksQ0FBMEI7RUFBRSxNQUFRLEVqRjBJekMsSUFBYSxDaUYxSXNDLFVBQVUsR0FBSTs7QUFDaEUsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixVQUFZLEVqRnVJZixJQUFhLENpRnZJZ0IsVUFBVSxHQUNyQzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFlBQWMsRWpGbUlqQixJQUFhLENpRm5Jb0IsVUFBVSxHQUN6Qzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLGFBQWUsRWpGK0hsQixJQUFhLENpRi9Ic0IsVUFBVSxHQUMzQzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFdBQWEsRWpGMkhoQixJQUFhLENpRjNIa0IsVUFBVSxHQUN2Qzs7QUFoQkQsQUFBQSxJQUFJLENBQTBCO0VBQUUsT0FBUSxFakZxSXpDLENBQUMsQ2lGcklrRCxVQUFVLEdBQUk7O0FBQ2hFLEFBQUEsS0FBSztBQUNMLEtBQUssQ0FBMEI7RUFDN0IsV0FBWSxFakZrSWYsQ0FBQyxDaUZsSTRCLFVBQVUsR0FDckM7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixhQUFjLEVqRjhIakIsQ0FBQyxDaUY5SGdDLFVBQVUsR0FDekM7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixjQUFlLEVqRjBIbEIsQ0FBQyxDaUYxSGtDLFVBQVUsR0FDM0M7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixZQUFhLEVqRnNIaEIsQ0FBQyxDaUZ0SDhCLFVBQVUsR0FDdkM7O0FBaEJELEFBQUEsSUFBSSxDQUEwQjtFQUFFLE9BQVEsRWpGc0l6QyxPQUFlLENpRnRJb0MsVUFBVSxHQUFJOztBQUNoRSxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFdBQVksRWpGbUlmLE9BQWUsQ2lGbkljLFVBQVUsR0FDckM7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixhQUFjLEVqRitIakIsT0FBZSxDaUYvSGtCLFVBQVUsR0FDekM7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixjQUFlLEVqRjJIbEIsT0FBZSxDaUYzSG9CLFVBQVUsR0FDM0M7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixZQUFhLEVqRnVIaEIsT0FBZSxDaUZ2SGdCLFVBQVUsR0FDdkM7O0FBaEJELEFBQUEsSUFBSSxDQUEwQjtFQUFFLE9BQVEsRWpGdUl6QyxNQUFjLENpRnZJcUMsVUFBVSxHQUFJOztBQUNoRSxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFdBQVksRWpGb0lmLE1BQWMsQ2lGcEllLFVBQVUsR0FDckM7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixhQUFjLEVqRmdJakIsTUFBYyxDaUZoSW1CLFVBQVUsR0FDekM7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixjQUFlLEVqRjRIbEIsTUFBYyxDaUY1SHFCLFVBQVUsR0FDM0M7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixZQUFhLEVqRndIaEIsTUFBYyxDaUZ4SGlCLFVBQVUsR0FDdkM7O0FBaEJELEFBQUEsSUFBSSxDQUEwQjtFQUFFLE9BQVEsRWpGZ0l2QyxJQUFJLENpRmhJNkMsVUFBVSxHQUFJOztBQUNoRSxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFdBQVksRWpGNkhiLElBQUksQ2lGN0h1QixVQUFVLEdBQ3JDOztBQUNELEFBQUEsS0FBSztBQUNMLEtBQUssQ0FBMEI7RUFDN0IsYUFBYyxFakZ5SGYsSUFBSSxDaUZ6SDJCLFVBQVUsR0FDekM7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixjQUFlLEVqRnFIaEIsSUFBSSxDaUZySDZCLFVBQVUsR0FDM0M7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixZQUFhLEVqRmlIZCxJQUFJLENpRmpIeUIsVUFBVSxHQUN2Qzs7QUFoQkQsQUFBQSxJQUFJLENBQTBCO0VBQUUsT0FBUSxFakZ5SXpDLE1BQWUsQ2lGeklvQyxVQUFVLEdBQUk7O0FBQ2hFLEFBQUEsS0FBSztBQUNMLEtBQUssQ0FBMEI7RUFDN0IsV0FBWSxFakZzSWYsTUFBZSxDaUZ0SWMsVUFBVSxHQUNyQzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLGFBQWMsRWpGa0lqQixNQUFlLENpRmxJa0IsVUFBVSxHQUN6Qzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLGNBQWUsRWpGOEhsQixNQUFlLENpRjlIb0IsVUFBVSxHQUMzQzs7QUFDRCxBQUFBLEtBQUs7QUFDTCxLQUFLLENBQTBCO0VBQzdCLFlBQWEsRWpGMEhoQixNQUFlLENpRjFIZ0IsVUFBVSxHQUN2Qzs7QUFoQkQsQUFBQSxJQUFJLENBQTBCO0VBQUUsT0FBUSxFakYwSXpDLElBQWEsQ2lGMUlzQyxVQUFVLEdBQUk7O0FBQ2hFLEFBQUEsS0FBSztBQUNMLEtBQUssQ0FBMEI7RUFDN0IsV0FBWSxFakZ1SWYsSUFBYSxDaUZ2SWdCLFVBQVUsR0FDckM7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixhQUFjLEVqRm1JakIsSUFBYSxDaUZuSW9CLFVBQVUsR0FDekM7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixjQUFlLEVqRitIbEIsSUFBYSxDaUYvSHNCLFVBQVUsR0FDM0M7O0FBQ0QsQUFBQSxLQUFLO0FBQ0wsS0FBSyxDQUEwQjtFQUM3QixZQUFhLEVqRjJIaEIsSUFBYSxDaUYzSGtCLFVBQVUsR0FDdkM7O0FBT0QsQUFBQSxLQUFLLENBQWlCO0VBQUUsTUFBTSxFakYrRy9CLFFBQWUsQ2lGL0cyQixVQUFVLEdBQUk7O0FBQ3ZELEFBQUEsTUFBTTtBQUNOLE1BQU0sQ0FBaUI7RUFDckIsVUFBVSxFakY0R2IsUUFBZSxDaUY1R1MsVUFBVSxHQUNoQzs7QUFDRCxBQUFBLE1BQU07QUFDTixNQUFNLENBQWlCO0VBQ3JCLFlBQVksRWpGd0dmLFFBQWUsQ2lGeEdXLFVBQVUsR0FDbEM7O0FBQ0QsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUFpQjtFQUNyQixhQUFhLEVqRm9HaEIsUUFBZSxDaUZwR1ksVUFBVSxHQUNuQzs7QUFDRCxBQUFBLE1BQU07QUFDTixNQUFNLENBQWlCO0VBQ3JCLFdBQVcsRWpGZ0dkLFFBQWUsQ2lGaEdVLFVBQVUsR0FDakM7O0FBaEJELEFBQUEsS0FBSyxDQUFpQjtFQUFFLE1BQU0sRWpGZ0gvQixPQUFjLENpRmhINEIsVUFBVSxHQUFJOztBQUN2RCxBQUFBLE1BQU07QUFDTixNQUFNLENBQWlCO0VBQ3JCLFVBQVUsRWpGNkdiLE9BQWMsQ2lGN0dVLFVBQVUsR0FDaEM7O0FBQ0QsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUFpQjtFQUNyQixZQUFZLEVqRnlHZixPQUFjLENpRnpHWSxVQUFVLEdBQ2xDOztBQUNELEFBQUEsTUFBTTtBQUNOLE1BQU0sQ0FBaUI7RUFDckIsYUFBYSxFakZxR2hCLE9BQWMsQ2lGckdhLFVBQVUsR0FDbkM7O0FBQ0QsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUFpQjtFQUNyQixXQUFXLEVqRmlHZCxPQUFjLENpRmpHVyxVQUFVLEdBQ2pDOztBQWhCRCxBQUFBLEtBQUssQ0FBaUI7RUFBRSxNQUFNLEVqRnlHN0IsS0FBSSxDaUZ6R29DLFVBQVUsR0FBSTs7QUFDdkQsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUFpQjtFQUNyQixVQUFVLEVqRnNHWCxLQUFJLENpRnRHa0IsVUFBVSxHQUNoQzs7QUFDRCxBQUFBLE1BQU07QUFDTixNQUFNLENBQWlCO0VBQ3JCLFlBQVksRWpGa0diLEtBQUksQ2lGbEdvQixVQUFVLEdBQ2xDOztBQUNELEFBQUEsTUFBTTtBQUNOLE1BQU0sQ0FBaUI7RUFDckIsYUFBYSxFakY4RmQsS0FBSSxDaUY5RnFCLFVBQVUsR0FDbkM7O0FBQ0QsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUFpQjtFQUNyQixXQUFXLEVqRjBGWixLQUFJLENpRjFGbUIsVUFBVSxHQUNqQzs7QUFoQkQsQUFBQSxLQUFLLENBQWlCO0VBQUUsTUFBTSxFakZrSC9CLE9BQWUsQ2lGbEgyQixVQUFVLEdBQUk7O0FBQ3ZELEFBQUEsTUFBTTtBQUNOLE1BQU0sQ0FBaUI7RUFDckIsVUFBVSxFakYrR2IsT0FBZSxDaUYvR1MsVUFBVSxHQUNoQzs7QUFDRCxBQUFBLE1BQU07QUFDTixNQUFNLENBQWlCO0VBQ3JCLFlBQVksRWpGMkdmLE9BQWUsQ2lGM0dXLFVBQVUsR0FDbEM7O0FBQ0QsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUFpQjtFQUNyQixhQUFhLEVqRnVHaEIsT0FBZSxDaUZ2R1ksVUFBVSxHQUNuQzs7QUFDRCxBQUFBLE1BQU07QUFDTixNQUFNLENBQWlCO0VBQ3JCLFdBQVcsRWpGbUdkLE9BQWUsQ2lGbkdVLFVBQVUsR0FDakM7O0FBaEJELEFBQUEsS0FBSyxDQUFpQjtFQUFFLE1BQU0sRWpGbUgvQixLQUFhLENpRm5INkIsVUFBVSxHQUFJOztBQUN2RCxBQUFBLE1BQU07QUFDTixNQUFNLENBQWlCO0VBQ3JCLFVBQVUsRWpGZ0hiLEtBQWEsQ2lGaEhXLFVBQVUsR0FDaEM7O0FBQ0QsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUFpQjtFQUNyQixZQUFZLEVqRjRHZixLQUFhLENpRjVHYSxVQUFVLEdBQ2xDOztBQUNELEFBQUEsTUFBTTtBQUNOLE1BQU0sQ0FBaUI7RUFDckIsYUFBYSxFakZ3R2hCLEtBQWEsQ2lGeEdjLFVBQVUsR0FDbkM7O0FBQ0QsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUFpQjtFQUNyQixXQUFXLEVqRm9HZCxLQUFhLENpRnBHWSxVQUFVLEdBQ2pDOztBQUtMLEFBQUEsT0FBTyxDQUFVO0VBQUUsTUFBTSxFQUFFLGVBQWUsR0FBSTs7QUFDOUMsQUFBQSxRQUFRO0FBQ1IsUUFBUSxDQUFVO0VBQ2hCLFVBQVUsRUFBRSxlQUFlLEdBQzVCOztBQUNELEFBQUEsUUFBUTtBQUNSLFFBQVEsQ0FBVTtFQUNoQixZQUFZLEVBQUUsZUFBZSxHQUM5Qjs7QUFDRCxBQUFBLFFBQVE7QUFDUixRQUFRLENBQVU7RUFDaEIsYUFBYSxFQUFFLGVBQWUsR0FDL0I7O0FBQ0QsQUFBQSxRQUFRO0FBQ1IsUUFBUSxDQUFVO0VBQ2hCLFdBQVcsRUFBRSxlQUFlLEdBQzdCOztBN0VWRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RTZFbERwQixBQUFBLE9BQU8sQ0FBdUI7SUFBRSxNQUFRLEVqRnFJekMsQ0FBQyxDaUZySWtELFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFVBQVksRWpGa0lmLENBQUMsQ2lGbEk0QixVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixZQUFjLEVqRjhIakIsQ0FBQyxDaUY5SGdDLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWUsRWpGMEhsQixDQUFDLENpRjFIa0MsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBYSxFakZzSGhCLENBQUMsQ2lGdEg4QixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE1BQVEsRWpGc0l6QyxPQUFlLENpRnRJb0MsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsVUFBWSxFakZtSWYsT0FBZSxDaUZuSWMsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYyxFakYrSGpCLE9BQWUsQ2lGL0hrQixVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixhQUFlLEVqRjJIbEIsT0FBZSxDaUYzSG9CLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFdBQWEsRWpGdUhoQixPQUFlLENpRnZIZ0IsVUFBVSxHQUN2QztFQWhCRCxBQUFBLE9BQU8sQ0FBdUI7SUFBRSxNQUFRLEVqRnVJekMsTUFBYyxDaUZ2SXFDLFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFVBQVksRWpGb0lmLE1BQWMsQ2lGcEllLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWMsRWpGZ0lqQixNQUFjLENpRmhJbUIsVUFBVSxHQUN6QztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBZSxFakY0SGxCLE1BQWMsQ2lGNUhxQixVQUFVLEdBQzNDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFhLEVqRndIaEIsTUFBYyxDaUZ4SGlCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsTUFBUSxFakZnSXZDLElBQUksQ2lGaEk2QyxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixVQUFZLEVqRjZIYixJQUFJLENpRjdIdUIsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYyxFakZ5SGYsSUFBSSxDaUZ6SDJCLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWUsRWpGcUhoQixJQUFJLENpRnJINkIsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBYSxFakZpSGQsSUFBSSxDaUZqSHlCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsTUFBUSxFakZ5SXpDLE1BQWUsQ2lGeklvQyxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixVQUFZLEVqRnNJZixNQUFlLENpRnRJYyxVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixZQUFjLEVqRmtJakIsTUFBZSxDaUZsSWtCLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWUsRWpGOEhsQixNQUFlLENpRjlIb0IsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBYSxFakYwSGhCLE1BQWUsQ2lGMUhnQixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE1BQVEsRWpGMEl6QyxJQUFhLENpRjFJc0MsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsVUFBWSxFakZ1SWYsSUFBYSxDaUZ2SWdCLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWMsRWpGbUlqQixJQUFhLENpRm5Jb0IsVUFBVSxHQUN6QztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBZSxFakYrSGxCLElBQWEsQ2lGL0hzQixVQUFVLEdBQzNDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFhLEVqRjJIaEIsSUFBYSxDaUYzSGtCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsT0FBUSxFakZxSXpDLENBQUMsQ2lGcklrRCxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFZLEVqRmtJZixDQUFDLENpRmxJNEIsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBYyxFakY4SGpCLENBQUMsQ2lGOUhnQyxVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixjQUFlLEVqRjBIbEIsQ0FBQyxDaUYxSGtDLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWEsRWpGc0hoQixDQUFDLENpRnRIOEIsVUFBVSxHQUN2QztFQWhCRCxBQUFBLE9BQU8sQ0FBdUI7SUFBRSxPQUFRLEVqRnNJekMsT0FBZSxDaUZ0SW9DLFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFdBQVksRWpGbUlmLE9BQWUsQ2lGbkljLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWMsRWpGK0hqQixPQUFlLENpRi9Ia0IsVUFBVSxHQUN6QztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsY0FBZSxFakYySGxCLE9BQWUsQ2lGM0hvQixVQUFVLEdBQzNDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixZQUFhLEVqRnVIaEIsT0FBZSxDaUZ2SGdCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsT0FBUSxFakZ1SXpDLE1BQWMsQ2lGdklxQyxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFZLEVqRm9JZixNQUFjLENpRnBJZSxVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixhQUFjLEVqRmdJakIsTUFBYyxDaUZoSW1CLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGNBQWUsRWpGNEhsQixNQUFjLENpRjVIcUIsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYSxFakZ3SGhCLE1BQWMsQ2lGeEhpQixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE9BQVEsRWpGZ0l2QyxJQUFJLENpRmhJNkMsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBWSxFakY2SGIsSUFBSSxDaUY3SHVCLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWMsRWpGeUhmLElBQUksQ2lGekgyQixVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixjQUFlLEVqRnFIaEIsSUFBSSxDaUZySDZCLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWEsRWpGaUhkLElBQUksQ2lGakh5QixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE9BQVEsRWpGeUl6QyxNQUFlLENpRnpJb0MsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBWSxFakZzSWYsTUFBZSxDaUZ0SWMsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBYyxFakZrSWpCLE1BQWUsQ2lGbElrQixVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixjQUFlLEVqRjhIbEIsTUFBZSxDaUY5SG9CLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWEsRWpGMEhoQixNQUFlLENpRjFIZ0IsVUFBVSxHQUN2QztFQWhCRCxBQUFBLE9BQU8sQ0FBdUI7SUFBRSxPQUFRLEVqRjBJekMsSUFBYSxDaUYxSXNDLFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFdBQVksRWpGdUlmLElBQWEsQ2lGdklnQixVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixhQUFjLEVqRm1JakIsSUFBYSxDaUZuSW9CLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGNBQWUsRWpGK0hsQixJQUFhLENpRi9Ic0IsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYSxFakYySGhCLElBQWEsQ2lGM0hrQixVQUFVLEdBQ3ZDO0VBT0QsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRitHL0IsUUFBZSxDaUYvRzJCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakY0R2IsUUFBZSxDaUY1R1MsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRndHZixRQUFlLENpRnhHVyxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGb0doQixRQUFlLENpRnBHWSxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGZ0dkLFFBQWUsQ2lGaEdVLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRmdIL0IsT0FBYyxDaUZoSDRCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakY2R2IsT0FBYyxDaUY3R1UsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRnlHZixPQUFjLENpRnpHWSxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGcUdoQixPQUFjLENpRnJHYSxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGaUdkLE9BQWMsQ2lGakdXLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRnlHN0IsS0FBSSxDaUZ6R29DLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakZzR1gsS0FBSSxDaUZ0R2tCLFVBQVUsR0FDaEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsWUFBWSxFakZrR2IsS0FBSSxDaUZsR29CLFVBQVUsR0FDbEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsYUFBYSxFakY4RmQsS0FBSSxDaUY5RnFCLFVBQVUsR0FDbkM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsV0FBVyxFakYwRlosS0FBSSxDaUYxRm1CLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRmtIL0IsT0FBZSxDaUZsSDJCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakYrR2IsT0FBZSxDaUYvR1MsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRjJHZixPQUFlLENpRjNHVyxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGdUdoQixPQUFlLENpRnZHWSxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGbUdkLE9BQWUsQ2lGbkdVLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRm1IL0IsS0FBYSxDaUZuSDZCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakZnSGIsS0FBYSxDaUZoSFcsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRjRHZixLQUFhLENpRjVHYSxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGd0doQixLQUFhLENpRnhHYyxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGb0dkLEtBQWEsQ2lGcEdZLFVBQVUsR0FDakM7RUFLTCxBQUFBLFVBQVUsQ0FBTztJQUFFLE1BQU0sRUFBRSxlQUFlLEdBQUk7RUFDOUMsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLFVBQVUsRUFBRSxlQUFlLEdBQzVCO0VBQ0QsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLFlBQVksRUFBRSxlQUFlLEdBQzlCO0VBQ0QsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLGFBQWEsRUFBRSxlQUFlLEdBQy9CO0VBQ0QsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLFdBQVcsRUFBRSxlQUFlLEdBQzdCOztBN0VWRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RTZFbERwQixBQUFBLE9BQU8sQ0FBdUI7SUFBRSxNQUFRLEVqRnFJekMsQ0FBQyxDaUZySWtELFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFVBQVksRWpGa0lmLENBQUMsQ2lGbEk0QixVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixZQUFjLEVqRjhIakIsQ0FBQyxDaUY5SGdDLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWUsRWpGMEhsQixDQUFDLENpRjFIa0MsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBYSxFakZzSGhCLENBQUMsQ2lGdEg4QixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE1BQVEsRWpGc0l6QyxPQUFlLENpRnRJb0MsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsVUFBWSxFakZtSWYsT0FBZSxDaUZuSWMsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYyxFakYrSGpCLE9BQWUsQ2lGL0hrQixVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixhQUFlLEVqRjJIbEIsT0FBZSxDaUYzSG9CLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFdBQWEsRWpGdUhoQixPQUFlLENpRnZIZ0IsVUFBVSxHQUN2QztFQWhCRCxBQUFBLE9BQU8sQ0FBdUI7SUFBRSxNQUFRLEVqRnVJekMsTUFBYyxDaUZ2SXFDLFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFVBQVksRWpGb0lmLE1BQWMsQ2lGcEllLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWMsRWpGZ0lqQixNQUFjLENpRmhJbUIsVUFBVSxHQUN6QztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBZSxFakY0SGxCLE1BQWMsQ2lGNUhxQixVQUFVLEdBQzNDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFhLEVqRndIaEIsTUFBYyxDaUZ4SGlCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsTUFBUSxFakZnSXZDLElBQUksQ2lGaEk2QyxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixVQUFZLEVqRjZIYixJQUFJLENpRjdIdUIsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYyxFakZ5SGYsSUFBSSxDaUZ6SDJCLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWUsRWpGcUhoQixJQUFJLENpRnJINkIsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBYSxFakZpSGQsSUFBSSxDaUZqSHlCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsTUFBUSxFakZ5SXpDLE1BQWUsQ2lGeklvQyxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixVQUFZLEVqRnNJZixNQUFlLENpRnRJYyxVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixZQUFjLEVqRmtJakIsTUFBZSxDaUZsSWtCLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWUsRWpGOEhsQixNQUFlLENpRjlIb0IsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBYSxFakYwSGhCLE1BQWUsQ2lGMUhnQixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE1BQVEsRWpGMEl6QyxJQUFhLENpRjFJc0MsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsVUFBWSxFakZ1SWYsSUFBYSxDaUZ2SWdCLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWMsRWpGbUlqQixJQUFhLENpRm5Jb0IsVUFBVSxHQUN6QztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBZSxFakYrSGxCLElBQWEsQ2lGL0hzQixVQUFVLEdBQzNDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFhLEVqRjJIaEIsSUFBYSxDaUYzSGtCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsT0FBUSxFakZxSXpDLENBQUMsQ2lGcklrRCxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFZLEVqRmtJZixDQUFDLENpRmxJNEIsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBYyxFakY4SGpCLENBQUMsQ2lGOUhnQyxVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixjQUFlLEVqRjBIbEIsQ0FBQyxDaUYxSGtDLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWEsRWpGc0hoQixDQUFDLENpRnRIOEIsVUFBVSxHQUN2QztFQWhCRCxBQUFBLE9BQU8sQ0FBdUI7SUFBRSxPQUFRLEVqRnNJekMsT0FBZSxDaUZ0SW9DLFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFdBQVksRWpGbUlmLE9BQWUsQ2lGbkljLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWMsRWpGK0hqQixPQUFlLENpRi9Ia0IsVUFBVSxHQUN6QztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsY0FBZSxFakYySGxCLE9BQWUsQ2lGM0hvQixVQUFVLEdBQzNDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixZQUFhLEVqRnVIaEIsT0FBZSxDaUZ2SGdCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsT0FBUSxFakZ1SXpDLE1BQWMsQ2lGdklxQyxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFZLEVqRm9JZixNQUFjLENpRnBJZSxVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixhQUFjLEVqRmdJakIsTUFBYyxDaUZoSW1CLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGNBQWUsRWpGNEhsQixNQUFjLENpRjVIcUIsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYSxFakZ3SGhCLE1BQWMsQ2lGeEhpQixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE9BQVEsRWpGZ0l2QyxJQUFJLENpRmhJNkMsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBWSxFakY2SGIsSUFBSSxDaUY3SHVCLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWMsRWpGeUhmLElBQUksQ2lGekgyQixVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixjQUFlLEVqRnFIaEIsSUFBSSxDaUZySDZCLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWEsRWpGaUhkLElBQUksQ2lGakh5QixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE9BQVEsRWpGeUl6QyxNQUFlLENpRnpJb0MsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBWSxFakZzSWYsTUFBZSxDaUZ0SWMsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBYyxFakZrSWpCLE1BQWUsQ2lGbElrQixVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixjQUFlLEVqRjhIbEIsTUFBZSxDaUY5SG9CLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWEsRWpGMEhoQixNQUFlLENpRjFIZ0IsVUFBVSxHQUN2QztFQWhCRCxBQUFBLE9BQU8sQ0FBdUI7SUFBRSxPQUFRLEVqRjBJekMsSUFBYSxDaUYxSXNDLFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFdBQVksRWpGdUlmLElBQWEsQ2lGdklnQixVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixhQUFjLEVqRm1JakIsSUFBYSxDaUZuSW9CLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGNBQWUsRWpGK0hsQixJQUFhLENpRi9Ic0IsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYSxFakYySGhCLElBQWEsQ2lGM0hrQixVQUFVLEdBQ3ZDO0VBT0QsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRitHL0IsUUFBZSxDaUYvRzJCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakY0R2IsUUFBZSxDaUY1R1MsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRndHZixRQUFlLENpRnhHVyxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGb0doQixRQUFlLENpRnBHWSxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGZ0dkLFFBQWUsQ2lGaEdVLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRmdIL0IsT0FBYyxDaUZoSDRCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakY2R2IsT0FBYyxDaUY3R1UsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRnlHZixPQUFjLENpRnpHWSxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGcUdoQixPQUFjLENpRnJHYSxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGaUdkLE9BQWMsQ2lGakdXLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRnlHN0IsS0FBSSxDaUZ6R29DLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakZzR1gsS0FBSSxDaUZ0R2tCLFVBQVUsR0FDaEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsWUFBWSxFakZrR2IsS0FBSSxDaUZsR29CLFVBQVUsR0FDbEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsYUFBYSxFakY4RmQsS0FBSSxDaUY5RnFCLFVBQVUsR0FDbkM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsV0FBVyxFakYwRlosS0FBSSxDaUYxRm1CLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRmtIL0IsT0FBZSxDaUZsSDJCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakYrR2IsT0FBZSxDaUYvR1MsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRjJHZixPQUFlLENpRjNHVyxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGdUdoQixPQUFlLENpRnZHWSxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGbUdkLE9BQWUsQ2lGbkdVLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRm1IL0IsS0FBYSxDaUZuSDZCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakZnSGIsS0FBYSxDaUZoSFcsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRjRHZixLQUFhLENpRjVHYSxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGd0doQixLQUFhLENpRnhHYyxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGb0dkLEtBQWEsQ2lGcEdZLFVBQVUsR0FDakM7RUFLTCxBQUFBLFVBQVUsQ0FBTztJQUFFLE1BQU0sRUFBRSxlQUFlLEdBQUk7RUFDOUMsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLFVBQVUsRUFBRSxlQUFlLEdBQzVCO0VBQ0QsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLFlBQVksRUFBRSxlQUFlLEdBQzlCO0VBQ0QsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLGFBQWEsRUFBRSxlQUFlLEdBQy9CO0VBQ0QsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLFdBQVcsRUFBRSxlQUFlLEdBQzdCOztBN0VWRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RTZFbERwQixBQUFBLE9BQU8sQ0FBdUI7SUFBRSxNQUFRLEVqRnFJekMsQ0FBQyxDaUZySWtELFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFVBQVksRWpGa0lmLENBQUMsQ2lGbEk0QixVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixZQUFjLEVqRjhIakIsQ0FBQyxDaUY5SGdDLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWUsRWpGMEhsQixDQUFDLENpRjFIa0MsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBYSxFakZzSGhCLENBQUMsQ2lGdEg4QixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE1BQVEsRWpGc0l6QyxPQUFlLENpRnRJb0MsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsVUFBWSxFakZtSWYsT0FBZSxDaUZuSWMsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYyxFakYrSGpCLE9BQWUsQ2lGL0hrQixVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixhQUFlLEVqRjJIbEIsT0FBZSxDaUYzSG9CLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFdBQWEsRWpGdUhoQixPQUFlLENpRnZIZ0IsVUFBVSxHQUN2QztFQWhCRCxBQUFBLE9BQU8sQ0FBdUI7SUFBRSxNQUFRLEVqRnVJekMsTUFBYyxDaUZ2SXFDLFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFVBQVksRWpGb0lmLE1BQWMsQ2lGcEllLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWMsRWpGZ0lqQixNQUFjLENpRmhJbUIsVUFBVSxHQUN6QztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBZSxFakY0SGxCLE1BQWMsQ2lGNUhxQixVQUFVLEdBQzNDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFhLEVqRndIaEIsTUFBYyxDaUZ4SGlCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsTUFBUSxFakZnSXZDLElBQUksQ2lGaEk2QyxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixVQUFZLEVqRjZIYixJQUFJLENpRjdIdUIsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYyxFakZ5SGYsSUFBSSxDaUZ6SDJCLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWUsRWpGcUhoQixJQUFJLENpRnJINkIsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBYSxFakZpSGQsSUFBSSxDaUZqSHlCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsTUFBUSxFakZ5SXpDLE1BQWUsQ2lGeklvQyxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixVQUFZLEVqRnNJZixNQUFlLENpRnRJYyxVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixZQUFjLEVqRmtJakIsTUFBZSxDaUZsSWtCLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWUsRWpGOEhsQixNQUFlLENpRjlIb0IsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBYSxFakYwSGhCLE1BQWUsQ2lGMUhnQixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE1BQVEsRWpGMEl6QyxJQUFhLENpRjFJc0MsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsVUFBWSxFakZ1SWYsSUFBYSxDaUZ2SWdCLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWMsRWpGbUlqQixJQUFhLENpRm5Jb0IsVUFBVSxHQUN6QztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBZSxFakYrSGxCLElBQWEsQ2lGL0hzQixVQUFVLEdBQzNDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFhLEVqRjJIaEIsSUFBYSxDaUYzSGtCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsT0FBUSxFakZxSXpDLENBQUMsQ2lGcklrRCxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFZLEVqRmtJZixDQUFDLENpRmxJNEIsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBYyxFakY4SGpCLENBQUMsQ2lGOUhnQyxVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixjQUFlLEVqRjBIbEIsQ0FBQyxDaUYxSGtDLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWEsRWpGc0hoQixDQUFDLENpRnRIOEIsVUFBVSxHQUN2QztFQWhCRCxBQUFBLE9BQU8sQ0FBdUI7SUFBRSxPQUFRLEVqRnNJekMsT0FBZSxDaUZ0SW9DLFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFdBQVksRWpGbUlmLE9BQWUsQ2lGbkljLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWMsRWpGK0hqQixPQUFlLENpRi9Ia0IsVUFBVSxHQUN6QztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsY0FBZSxFakYySGxCLE9BQWUsQ2lGM0hvQixVQUFVLEdBQzNDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixZQUFhLEVqRnVIaEIsT0FBZSxDaUZ2SGdCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsT0FBUSxFakZ1SXpDLE1BQWMsQ2lGdklxQyxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFZLEVqRm9JZixNQUFjLENpRnBJZSxVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixhQUFjLEVqRmdJakIsTUFBYyxDaUZoSW1CLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGNBQWUsRWpGNEhsQixNQUFjLENpRjVIcUIsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYSxFakZ3SGhCLE1BQWMsQ2lGeEhpQixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE9BQVEsRWpGZ0l2QyxJQUFJLENpRmhJNkMsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBWSxFakY2SGIsSUFBSSxDaUY3SHVCLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWMsRWpGeUhmLElBQUksQ2lGekgyQixVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixjQUFlLEVqRnFIaEIsSUFBSSxDaUZySDZCLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWEsRWpGaUhkLElBQUksQ2lGakh5QixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE9BQVEsRWpGeUl6QyxNQUFlLENpRnpJb0MsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBWSxFakZzSWYsTUFBZSxDaUZ0SWMsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBYyxFakZrSWpCLE1BQWUsQ2lGbElrQixVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixjQUFlLEVqRjhIbEIsTUFBZSxDaUY5SG9CLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWEsRWpGMEhoQixNQUFlLENpRjFIZ0IsVUFBVSxHQUN2QztFQWhCRCxBQUFBLE9BQU8sQ0FBdUI7SUFBRSxPQUFRLEVqRjBJekMsSUFBYSxDaUYxSXNDLFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFdBQVksRWpGdUlmLElBQWEsQ2lGdklnQixVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixhQUFjLEVqRm1JakIsSUFBYSxDaUZuSW9CLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGNBQWUsRWpGK0hsQixJQUFhLENpRi9Ic0IsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYSxFakYySGhCLElBQWEsQ2lGM0hrQixVQUFVLEdBQ3ZDO0VBT0QsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRitHL0IsUUFBZSxDaUYvRzJCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakY0R2IsUUFBZSxDaUY1R1MsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRndHZixRQUFlLENpRnhHVyxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGb0doQixRQUFlLENpRnBHWSxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGZ0dkLFFBQWUsQ2lGaEdVLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRmdIL0IsT0FBYyxDaUZoSDRCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakY2R2IsT0FBYyxDaUY3R1UsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRnlHZixPQUFjLENpRnpHWSxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGcUdoQixPQUFjLENpRnJHYSxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGaUdkLE9BQWMsQ2lGakdXLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRnlHN0IsS0FBSSxDaUZ6R29DLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakZzR1gsS0FBSSxDaUZ0R2tCLFVBQVUsR0FDaEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsWUFBWSxFakZrR2IsS0FBSSxDaUZsR29CLFVBQVUsR0FDbEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsYUFBYSxFakY4RmQsS0FBSSxDaUY5RnFCLFVBQVUsR0FDbkM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsV0FBVyxFakYwRlosS0FBSSxDaUYxRm1CLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRmtIL0IsT0FBZSxDaUZsSDJCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakYrR2IsT0FBZSxDaUYvR1MsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRjJHZixPQUFlLENpRjNHVyxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGdUdoQixPQUFlLENpRnZHWSxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGbUdkLE9BQWUsQ2lGbkdVLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRm1IL0IsS0FBYSxDaUZuSDZCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakZnSGIsS0FBYSxDaUZoSFcsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRjRHZixLQUFhLENpRjVHYSxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGd0doQixLQUFhLENpRnhHYyxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGb0dkLEtBQWEsQ2lGcEdZLFVBQVUsR0FDakM7RUFLTCxBQUFBLFVBQVUsQ0FBTztJQUFFLE1BQU0sRUFBRSxlQUFlLEdBQUk7RUFDOUMsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLFVBQVUsRUFBRSxlQUFlLEdBQzVCO0VBQ0QsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLFlBQVksRUFBRSxlQUFlLEdBQzlCO0VBQ0QsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLGFBQWEsRUFBRSxlQUFlLEdBQy9CO0VBQ0QsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLFdBQVcsRUFBRSxlQUFlLEdBQzdCOztBN0VWRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RTZFbERyQixBQUFBLE9BQU8sQ0FBdUI7SUFBRSxNQUFRLEVqRnFJekMsQ0FBQyxDaUZySWtELFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFVBQVksRWpGa0lmLENBQUMsQ2lGbEk0QixVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixZQUFjLEVqRjhIakIsQ0FBQyxDaUY5SGdDLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWUsRWpGMEhsQixDQUFDLENpRjFIa0MsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBYSxFakZzSGhCLENBQUMsQ2lGdEg4QixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE1BQVEsRWpGc0l6QyxPQUFlLENpRnRJb0MsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsVUFBWSxFakZtSWYsT0FBZSxDaUZuSWMsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYyxFakYrSGpCLE9BQWUsQ2lGL0hrQixVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixhQUFlLEVqRjJIbEIsT0FBZSxDaUYzSG9CLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFdBQWEsRWpGdUhoQixPQUFlLENpRnZIZ0IsVUFBVSxHQUN2QztFQWhCRCxBQUFBLE9BQU8sQ0FBdUI7SUFBRSxNQUFRLEVqRnVJekMsTUFBYyxDaUZ2SXFDLFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFVBQVksRWpGb0lmLE1BQWMsQ2lGcEllLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWMsRWpGZ0lqQixNQUFjLENpRmhJbUIsVUFBVSxHQUN6QztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBZSxFakY0SGxCLE1BQWMsQ2lGNUhxQixVQUFVLEdBQzNDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFhLEVqRndIaEIsTUFBYyxDaUZ4SGlCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsTUFBUSxFakZnSXZDLElBQUksQ2lGaEk2QyxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixVQUFZLEVqRjZIYixJQUFJLENpRjdIdUIsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYyxFakZ5SGYsSUFBSSxDaUZ6SDJCLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWUsRWpGcUhoQixJQUFJLENpRnJINkIsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBYSxFakZpSGQsSUFBSSxDaUZqSHlCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsTUFBUSxFakZ5SXpDLE1BQWUsQ2lGeklvQyxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixVQUFZLEVqRnNJZixNQUFlLENpRnRJYyxVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixZQUFjLEVqRmtJakIsTUFBZSxDaUZsSWtCLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWUsRWpGOEhsQixNQUFlLENpRjlIb0IsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBYSxFakYwSGhCLE1BQWUsQ2lGMUhnQixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE1BQVEsRWpGMEl6QyxJQUFhLENpRjFJc0MsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsVUFBWSxFakZ1SWYsSUFBYSxDaUZ2SWdCLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWMsRWpGbUlqQixJQUFhLENpRm5Jb0IsVUFBVSxHQUN6QztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBZSxFakYrSGxCLElBQWEsQ2lGL0hzQixVQUFVLEdBQzNDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFhLEVqRjJIaEIsSUFBYSxDaUYzSGtCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsT0FBUSxFakZxSXpDLENBQUMsQ2lGcklrRCxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFZLEVqRmtJZixDQUFDLENpRmxJNEIsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBYyxFakY4SGpCLENBQUMsQ2lGOUhnQyxVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixjQUFlLEVqRjBIbEIsQ0FBQyxDaUYxSGtDLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWEsRWpGc0hoQixDQUFDLENpRnRIOEIsVUFBVSxHQUN2QztFQWhCRCxBQUFBLE9BQU8sQ0FBdUI7SUFBRSxPQUFRLEVqRnNJekMsT0FBZSxDaUZ0SW9DLFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFdBQVksRWpGbUlmLE9BQWUsQ2lGbkljLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWMsRWpGK0hqQixPQUFlLENpRi9Ia0IsVUFBVSxHQUN6QztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsY0FBZSxFakYySGxCLE9BQWUsQ2lGM0hvQixVQUFVLEdBQzNDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixZQUFhLEVqRnVIaEIsT0FBZSxDaUZ2SGdCLFVBQVUsR0FDdkM7RUFoQkQsQUFBQSxPQUFPLENBQXVCO0lBQUUsT0FBUSxFakZ1SXpDLE1BQWMsQ2lGdklxQyxVQUFVLEdBQUk7RUFDaEUsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixXQUFZLEVqRm9JZixNQUFjLENpRnBJZSxVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixhQUFjLEVqRmdJakIsTUFBYyxDaUZoSW1CLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGNBQWUsRWpGNEhsQixNQUFjLENpRjVIcUIsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYSxFakZ3SGhCLE1BQWMsQ2lGeEhpQixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE9BQVEsRWpGZ0l2QyxJQUFJLENpRmhJNkMsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBWSxFakY2SGIsSUFBSSxDaUY3SHVCLFVBQVUsR0FDckM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGFBQWMsRWpGeUhmLElBQUksQ2lGekgyQixVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixjQUFlLEVqRnFIaEIsSUFBSSxDaUZySDZCLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWEsRWpGaUhkLElBQUksQ2lGakh5QixVQUFVLEdBQ3ZDO0VBaEJELEFBQUEsT0FBTyxDQUF1QjtJQUFFLE9BQVEsRWpGeUl6QyxNQUFlLENpRnpJb0MsVUFBVSxHQUFJO0VBQ2hFLEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsV0FBWSxFakZzSWYsTUFBZSxDaUZ0SWMsVUFBVSxHQUNyQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsYUFBYyxFakZrSWpCLE1BQWUsQ2lGbElrQixVQUFVLEdBQ3pDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixjQUFlLEVqRjhIbEIsTUFBZSxDaUY5SG9CLFVBQVUsR0FDM0M7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFlBQWEsRWpGMEhoQixNQUFlLENpRjFIZ0IsVUFBVSxHQUN2QztFQWhCRCxBQUFBLE9BQU8sQ0FBdUI7SUFBRSxPQUFRLEVqRjBJekMsSUFBYSxDaUYxSXNDLFVBQVUsR0FBSTtFQUNoRSxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLFdBQVksRWpGdUlmLElBQWEsQ2lGdklnQixVQUFVLEdBQ3JDO0VBQ0QsQUFBQSxRQUFRO0VBQ1IsUUFBUSxDQUF1QjtJQUM3QixhQUFjLEVqRm1JakIsSUFBYSxDaUZuSW9CLFVBQVUsR0FDekM7RUFDRCxBQUFBLFFBQVE7RUFDUixRQUFRLENBQXVCO0lBQzdCLGNBQWUsRWpGK0hsQixJQUFhLENpRi9Ic0IsVUFBVSxHQUMzQztFQUNELEFBQUEsUUFBUTtFQUNSLFFBQVEsQ0FBdUI7SUFDN0IsWUFBYSxFakYySGhCLElBQWEsQ2lGM0hrQixVQUFVLEdBQ3ZDO0VBT0QsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRitHL0IsUUFBZSxDaUYvRzJCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakY0R2IsUUFBZSxDaUY1R1MsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRndHZixRQUFlLENpRnhHVyxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGb0doQixRQUFlLENpRnBHWSxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGZ0dkLFFBQWUsQ2lGaEdVLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRmdIL0IsT0FBYyxDaUZoSDRCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakY2R2IsT0FBYyxDaUY3R1UsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRnlHZixPQUFjLENpRnpHWSxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGcUdoQixPQUFjLENpRnJHYSxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGaUdkLE9BQWMsQ2lGakdXLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRnlHN0IsS0FBSSxDaUZ6R29DLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakZzR1gsS0FBSSxDaUZ0R2tCLFVBQVUsR0FDaEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsWUFBWSxFakZrR2IsS0FBSSxDaUZsR29CLFVBQVUsR0FDbEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsYUFBYSxFakY4RmQsS0FBSSxDaUY5RnFCLFVBQVUsR0FDbkM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsV0FBVyxFakYwRlosS0FBSSxDaUYxRm1CLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRmtIL0IsT0FBZSxDaUZsSDJCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakYrR2IsT0FBZSxDaUYvR1MsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRjJHZixPQUFlLENpRjNHVyxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGdUdoQixPQUFlLENpRnZHWSxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGbUdkLE9BQWUsQ2lGbkdVLFVBQVUsR0FDakM7RUFoQkQsQUFBQSxRQUFRLENBQWM7SUFBRSxNQUFNLEVqRm1IL0IsS0FBYSxDaUZuSDZCLFVBQVUsR0FBSTtFQUN2RCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQWM7SUFDckIsVUFBVSxFakZnSGIsS0FBYSxDaUZoSFcsVUFBVSxHQUNoQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBYztJQUNyQixZQUFZLEVqRjRHZixLQUFhLENpRjVHYSxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLGFBQWEsRWpGd0doQixLQUFhLENpRnhHYyxVQUFVLEdBQ25DO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUFjO0lBQ3JCLFdBQVcsRWpGb0dkLEtBQWEsQ2lGcEdZLFVBQVUsR0FDakM7RUFLTCxBQUFBLFVBQVUsQ0FBTztJQUFFLE1BQU0sRUFBRSxlQUFlLEdBQUk7RUFDOUMsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLFVBQVUsRUFBRSxlQUFlLEdBQzVCO0VBQ0QsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLFlBQVksRUFBRSxlQUFlLEdBQzlCO0VBQ0QsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLGFBQWEsRUFBRSxlQUFlLEdBQy9CO0VBQ0QsQUFBQSxXQUFXO0VBQ1gsV0FBVyxDQUFPO0lBQ2hCLFdBQVcsRUFBRSxlQUFlLEdBQzdCOztBQ2xFTCxBQUNFLGVBRGEsQUFDWixPQUFPLENBQUM7RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztFQUNQLE9BQU8sRUFBRSxDQUFDO0VBRVYsY0FBYyxFQUFFLElBQUk7RUFDcEIsT0FBTyxFQUFFLEVBQUU7RUFFWCxnQkFBZ0IsRUFBRSxnQkFBZ0IsR0FDbkM7O0FDWEgsQUFBQSxlQUFlLENBQUM7RUFBRSxXQUFXLEVuRnFSQyxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ21GclI1RCxVQUFVLEdBQUk7O0FBSXBFLEFBQUEsYUFBYSxDQUFFO0VBQUUsVUFBVSxFQUFFLGtCQUFrQixHQUFJOztBQUNuRCxBQUFBLFVBQVUsQ0FBSztFQUFFLFdBQVcsRUFBRSxpQkFBaUIsR0FBSTs7QUFDbkQsQUFBQSxZQUFZLENBQUc7RUFBRSxXQUFXLEVBQUUsaUJBQWlCLEdBQUk7O0FBQ25ELEFBQUEsY0FBYyxDQUFDO0VyRVRiLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNLEdxRU93Qjs7QUFRekMsQUFBQSxVQUFVLENBQVk7RUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJOztBQUN2RCxBQUFBLFdBQVcsQ0FBVztFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsR0FBSTs7QUFDeEQsQUFBQSxZQUFZLENBQVU7RUFBRSxVQUFVLEVBQUUsaUJBQWlCLEdBQUk7O0EvRXFDekQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0UrRXZDeEIsQUFBQSxhQUFhLENBQVM7SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJO0VBQ3ZELEFBQUEsY0FBYyxDQUFRO0lBQUUsVUFBVSxFQUFFLGdCQUFnQixHQUFJO0VBQ3hELEFBQUEsZUFBZSxDQUFPO0lBQUUsVUFBVSxFQUFFLGlCQUFpQixHQUFJOztBL0VxQ3pELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFK0V2Q3hCLEFBQUEsYUFBYSxDQUFTO0lBQUUsVUFBVSxFQUFFLGVBQWUsR0FBSTtFQUN2RCxBQUFBLGNBQWMsQ0FBUTtJQUFFLFVBQVUsRUFBRSxnQkFBZ0IsR0FBSTtFQUN4RCxBQUFBLGVBQWUsQ0FBTztJQUFFLFVBQVUsRUFBRSxpQkFBaUIsR0FBSTs7QS9FcUN6RCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RStFdkN4QixBQUFBLGFBQWEsQ0FBUztJQUFFLFVBQVUsRUFBRSxlQUFlLEdBQUk7RUFDdkQsQUFBQSxjQUFjLENBQVE7SUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEdBQUk7RUFDeEQsQUFBQSxlQUFlLENBQU87SUFBRSxVQUFVLEVBQUUsaUJBQWlCLEdBQUk7O0EvRXFDekQsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0UrRXZDekIsQUFBQSxhQUFhLENBQVM7SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJO0VBQ3ZELEFBQUEsY0FBYyxDQUFRO0lBQUUsVUFBVSxFQUFFLGdCQUFnQixHQUFJO0VBQ3hELEFBQUEsZUFBZSxDQUFPO0lBQUUsVUFBVSxFQUFFLGlCQUFpQixHQUFJOztBQU03RCxBQUFBLGVBQWUsQ0FBRTtFQUFFLGNBQWMsRUFBRSxvQkFBb0IsR0FBSTs7QUFDM0QsQUFBQSxlQUFlLENBQUU7RUFBRSxjQUFjLEVBQUUsb0JBQW9CLEdBQUk7O0FBQzNELEFBQUEsZ0JBQWdCLENBQUM7RUFBRSxjQUFjLEVBQUUscUJBQXFCLEdBQUk7O0FBSTVELEFBQUEsa0JBQWtCLENBQUc7RUFBRSxXQUFXLEVuRmlRSixHQUFHLENtRmpRc0IsVUFBVSxHQUFJOztBQUNyRSxBQUFBLG9CQUFvQixDQUFDO0VBQUUsV0FBVyxFbkYrUEosT0FBTyxDbUYvUG9CLFVBQVUsR0FBSTs7QUFDdkUsQUFBQSxtQkFBbUIsQ0FBRTtFQUFFLFdBQVcsRW5GZ1FKLEdBQUcsQ21GaFF1QixVQUFVLEdBQUk7O0FBQ3RFLEFBQUEsaUJBQWlCLENBQUk7RUFBRSxXQUFXLEVuRmdRSixHQUFHLENtRmhRcUIsVUFBVSxHQUFJOztBQUNwRSxBQUFBLG1CQUFtQixDQUFFO0VBQUUsV0FBVyxFbkZnUUosTUFBTSxDbUZoUW9CLFVBQVUsR0FBSTs7QUFDdEUsQUFBQSxZQUFZLENBQVM7RUFBRSxVQUFVLEVBQUUsaUJBQWlCLEdBQUk7O0FBSXhELEFBQUEsV0FBVyxDQUFDO0VBQUUsS0FBSyxFbkZyQ1IsSUFBSSxDbUZxQ2EsVUFBVSxHQUFJOztBdkV2Q3hDLEFBQUEsYUFBYSxDQUFGO0VBQ1QsS0FBSyxFWjhCQyxPQUFPLENZOUJDLFVBQVUsR0FDekI7O0FBRUMsQVBPRixDT1BHLEFBQUEsYUFBYSxBUE9mLE1BQU0sRU9QTCxDQUFDLEFBQUEsYUFBYSxBUFFmLE1BQU0sQ0FBQztFT05GLEtBQUssRUFBRSxPQUF3RCxDQUFDLFVBQVUsR1BRL0U7O0FPZEQsQUFBQSxlQUFlLENBQUo7RUFDVCxLQUFLLEVaT0UsT0FBTyxDWVBBLFVBQVUsR0FDekI7O0FBRUMsQVBPRixDT1BHLEFBQUEsZUFBZSxBUE9qQixNQUFNLEVPUEwsQ0FBQyxBQUFBLGVBQWUsQVBRakIsTUFBTSxDQUFDO0VPTkYsS0FBSyxFQUFFLE9BQXdELENBQUMsVUFBVSxHUFEvRTs7QU9kRCxBQUFBLGFBQWEsQ0FBRjtFQUNULEtBQUssRVpxQ0MsT0FBTyxDWXJDQyxVQUFVLEdBQ3pCOztBQUVDLEFQT0YsQ09QRyxBQUFBLGFBQWEsQVBPZixNQUFNLEVPUEwsQ0FBQyxBQUFBLGFBQWEsQVBRZixNQUFNLENBQUM7RU9ORixLQUFLLEVBQUUsT0FBd0QsQ0FBQyxVQUFVLEdQUS9FOztBT2RELEFBQUEsVUFBVSxDQUFDO0VBQ1QsS0FBSyxFWnVDQyxPQUFPLENZdkNDLFVBQVUsR0FDekI7O0FBRUMsQVBPRixDT1BHLEFBQUEsVUFBVSxBUE9aLE1BQU0sRU9QTCxDQUFDLEFBQUEsVUFBVSxBUFFaLE1BQU0sQ0FBQztFT05GLEtBQUssRUFBRSxPQUF3RCxDQUFDLFVBQVUsR1BRL0U7O0FPZEQsQUFBQSxhQUFhLENBQUY7RUFDVCxLQUFLLEVab0NDLE9BQU8sQ1lwQ0MsVUFBVSxHQUN6Qjs7QUFFQyxBUE9GLENPUEcsQUFBQSxhQUFhLEFQT2YsTUFBTSxFT1BMLENBQUMsQUFBQSxhQUFhLEFQUWYsTUFBTSxDQUFDO0VPTkYsS0FBSyxFQUFFLE9BQXdELENBQUMsVUFBVSxHUFEvRTs7QU9kRCxBQUFBLFlBQVksQ0FBRDtFQUNULEtBQUssRVprQ0MsT0FBTyxDWWxDQyxVQUFVLEdBQ3pCOztBQUVDLEFQT0YsQ09QRyxBQUFBLFlBQVksQVBPZCxNQUFNLEVPUEwsQ0FBQyxBQUFBLFlBQVksQVBRZCxNQUFNLENBQUM7RU9ORixLQUFLLEVBQUUsT0FBd0QsQ0FBQyxVQUFVLEdQUS9FOztBT2RELEFBQUEsV0FBVyxDQUFBO0VBQ1QsS0FBSyxFWkVFLE9BQU8sQ1lGQSxVQUFVLEdBQ3pCOztBQUVDLEFQT0YsQ09QRyxBQUFBLFdBQVcsQVBPYixNQUFNLEVPUEwsQ0FBQyxBQUFBLFdBQVcsQVBRYixNQUFNLENBQUM7RU9ORixLQUFLLEVBQUUsT0FBd0QsQ0FBQyxVQUFVLEdQUS9FOztBT2RELEFBQUEsVUFBVSxDQUFDO0VBQ1QsS0FBSyxFWlNFLE9BQU8sQ1lUQSxVQUFVLEdBQ3pCOztBQUVDLEFQT0YsQ09QRyxBQUFBLFVBQVUsQVBPWixNQUFNLEVPUEwsQ0FBQyxBQUFBLFVBQVUsQVBRWixNQUFNLENBQUM7RU9ORixLQUFLLEVBQUUsT0FBd0QsQ0FBQyxVQUFVLEdQUS9FOztBOEUrQkgsQUFBQSxVQUFVLENBQUM7RUFBRSxLQUFLLEVuRmxDUCxPQUFPLENtRmtDYyxVQUFVLEdBQUk7O0FBQzlDLEFBQUEsV0FBVyxDQUFDO0VBQUUsS0FBSyxFbkZ0Q1IsT0FBTyxDbUZzQ2UsVUFBVSxHQUFJOztBQUUvQyxBQUFBLGNBQWMsQ0FBQztFQUFFLEtBQUssRW5GcENYLGtCQUFJLENtRm9DMEIsVUFBVSxHQUFJOztBQUN2RCxBQUFBLGNBQWMsQ0FBQztFQUFFLEtBQUssRW5GL0NYLHdCQUFJLENtRitDMEIsVUFBVSxHQUFJOztBQUl2RCxBQUFBLFVBQVUsQ0FBQztFdEV2RFQsSUFBSSxFQUFFLEtBQUs7RUFDWCxLQUFLLEVBQUUsV0FBVztFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUNqQixnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLE1BQU0sRUFBRSxDQUFDLEdzRXFEVjs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsZUFBZSxFQUFFLGVBQWUsR0FBSTs7QUFFNUQsQUFBQSxXQUFXLENBQUM7RUFDVixTQUFTLEVBQUUscUJBQXFCLEdBQ2pDOztBQUlELEFBQUEsV0FBVyxDQUFDO0VBQUUsS0FBSyxFQUFFLGtCQUFrQixHQUFJOztBQ2hFM0MsQUFBQSxRQUFRLENBQUM7RUFDUCxVQUFVLEVBQUUsa0JBQWtCLEdBQy9COztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsVUFBVSxFQUFFLGlCQUFpQixHQUM5Qjs7QUNEQyxNQUFNLENBQUMsS0FBSztFbERPZCxBQUFBLENBQUM7RUFDRCxDQUFDLEFBQUEsUUFBUTtFQUNULENBQUMsQUFBQSxPQUFPLENrRE5LO0lBR1AsV0FBVyxFQUFFLGVBQWU7SUFFNUIsVUFBVSxFQUFFLGVBQWUsR0FDNUI7RUFFRCxBQUNFLENBREQsQUFDRSxJQUFLLEMzQ2pCWixJQUFJLEUyQ2lCYztJQUNWLGVBQWUsRUFBRSxTQUFTLEdBQzNCO0VBUUgsQUFBQSxJQUFJLENBQUEsQUFBQSxLQUFDLEFBQUEsQ0FBTSxPQUFPLENBQUM7SUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUM5QjtFbEQ2TEwsQUFBQSxHQUFHLENrRGhMSztJQUNGLFdBQVcsRUFBRSxtQkFBbUIsR0FDakM7RUFDRCxBQUFBLEdBQUc7RUFDSCxVQUFVLENBQUM7SUFDVCxNQUFNLEVyRjRMa0IsR0FBRyxDcUY1TEwsS0FBSyxDckZ6Q3RCLE9BQU87SXFGMENaLGlCQUFpQixFQUFFLEtBQUssR0FDekI7RUFPRCxBQUFBLEtBQUssQ0FBQztJQUNKLE9BQU8sRUFBRSxrQkFBa0IsR0FDNUI7RUFFRCxBQUFBLEVBQUU7RUFDRixHQUFHLENBQUM7SUFDRixpQkFBaUIsRUFBRSxLQUFLLEdBQ3pCO0VBRUQsQUFBQSxDQUFDO0VBQ0QsRUFBRTtFQUNGLEVBQUUsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUMsR0FDVjtFQUVELEFBQUEsRUFBRTtFQUNGLEVBQUUsQ0FBQztJQUNELGdCQUFnQixFQUFFLEtBQUssR0FDeEI7RUFPRCxLQUFLO0lBQ0gsSUFBSSxFckZnaUMwQixFQUFFO0VtQzVrQ3RDLEFBQUEsSUFBSSxDa0Q4Q0s7SUFDSCxTQUFTLEVyRitHVCxLQUFLLENxRi9HNEIsVUFBVSxHQUM1QztFOUN2RkgsQUFBQSxVQUFVLEM4Q3dGRztJQUNULFNBQVMsRXJGNEdULEtBQUssQ3FGNUc0QixVQUFVLEdBQzVDO0VwQy9FTCxBQUFBLE9BQU8sQ29Da0ZLO0lBQ04sT0FBTyxFQUFFLElBQUksR0FDZDtFaENoR0wsQUFBQSxNQUFNLENnQ2lHSztJQUNMLE1BQU0sRXJGMElrQixHQUFHLENxRjFJTCxLQUFLLENyRnRGdEIsSUFBSSxHcUZ1RlY7RTdDcEdMLEFBQUEsTUFBTSxDNkNzR0s7SUFDTCxlQUFlLEVBQUUsbUJBQW1CLEdBTXJDO0lBUEQsQUFHRSxNQUhJLENBR0osRUFBRTtJQUhKLE1BQU0sQ0FJSixFQUFFLENBQUM7TUFDRCxnQkFBZ0IsRXJGeEdiLElBQUksQ3FGd0drQixVQUFVLEdBQ3BDO0U3Q3BFUCxBQUdFLGVBSGEsQ0FHYixFQUFFO0VBSEosZUFBZSxDQUliLEVBQUUsQzZDcUVLO0lBQ0QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENyRjVHZCxPQUFPLENxRjRHa0IsVUFBVSxHQUN2QztFN0NVUCxBQUFBLFdBQVcsQzZDUEs7SUFDVixLQUFLLEVBQUUsT0FBTyxHQVFmO0k3RDlISCxBQVFJLFdBUk8sQ0FRUCxFQUFFO0lBUk4sV0FBVyxDQVNQLEVBQUU7SUFUTixXQUFXLENBVVAsS0FBSyxDQUFDLEVBQUU7SUFWWixXQUFXLENBV1AsS0FBSyxHQUFHLEtBQUssQzZEZ0hDO01BQ1osWUFBWSxFckZ2SFQsT0FBTyxHcUZ3SFg7RTdDbkJQLEFBRUksTUFGRSxDQUNKLFdBQVcsQ0FDVCxFQUFFLEM2Q29Cb0I7SUFDcEIsS0FBSyxFQUFFLE9BQU87SUFDZCxZQUFZLEVyRjdIUCxPQUFPLEdxRjhIYjs7QUN4SUwsQUFBQSxJQUFJLEFBQUEscUJBQXFCLENBQUM7RUFDeEIsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsTUFBTSxFQUFFLG1EQUFtRDtFQUMzRCxPQUFPLEVBQUUsR0FBRztFQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBRUQsQUFBQSxTQUFTLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsQ0FBQztFQUNkLFdBQVcsRUFBRSxNQUFNO0VBQ25CLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBRUQsQUFBQSxTQUFTLENBQUMsU0FBUyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsTUFBTSxFQUFFLElBQUk7RUFDWixTQUFTLEVBQUUsT0FBTztFQUNsQixVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsR0FBRztFQUVsQixrQkFBa0I7RUFDbEIsTUFBTSxFQUFFLGVBQWUsR0FDeEI7O0FBRUQsQUFBQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztFQUNkLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsQ0FBQztFQUNSLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLEtBQUs7RUFDYixNQUFNLEVBQUUsTUFBTTtFQUNkLGFBQWEsRUFBRSxHQUFHO0VBRWxCOzJDQUN5QztFQUN6QyxnQkFBZ0IsRUFBRSxLQUFLLEdBQ3hCOztBQUVELEFBQUEsa0JBQWtCLEFBQUEsTUFBTSxDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsQ0FBQztFQUNQLE1BQU0sRUFBRSxHQUFHO0VBQ1gsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsQ0FBQyxHQUNmOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLE1BQU07RUFDZCxVQUFVLEVBQUUsMEJBQTBCLENBQUMsU0FBUyxHQUNqRDs7QUFFRCxBQUFBLE9BQU8sQ0FBQztFQUNOLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLEVBQUUsR0FDWjs7QUFFRCxBQUFBLGFBQWEsR0FBRyxJQUFJLENBQUM7RUFDbkIsSUFBSSxFQUFFLENBQUMsR0FDUjs7QUFFRCxBQUFBLE9BQU8sQ0FBQyxDQUFDLENBQUM7RUFDUixPQUFPLEVBQUUsSUFBSTtFQUNiLGdCQUFnQixFQUFFLHlGQUF5RixHQUM1Rzs7QUFFRCxBQUFBLFFBQVEsRUFBRSxRQUFRLENBQUM7RUFDakIsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsT0FBTztFQUNmLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBRUQsQUFBQSxPQUFPLENBQUMsQ0FBQyxBQUFBLFFBQVEsQ0FBQztFQUNoQixLQUFLLEVBQUUsR0FBRztFQUNWLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTO0VBQ3RELE1BQU0sRUFBRSxrREFBa0Q7RUFDMUQsT0FBTyxFQUFFLENBQUM7RUFDVixrQkFBa0IsRUFBRSxZQUFZO0VBQ2hDLGVBQWUsRUFBRSxZQUFZO0VBQzdCLGFBQWEsRUFBRSxZQUFZO0VBQzNCLFVBQVUsRUFBRSxZQUFZLEdBQ3pCOztBQUVELEFBQUEsT0FBTyxDQUFDLENBQUMsQUFBQSxRQUFRLEFBQUEsTUFBTSxDQUFDO0VBQ3RCLE1BQU0sRUFBRSxvREFBb0Q7RUFDNUQsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFFRCxBQUFBLE9BQU8sQ0FBQyxDQUFDLEFBQUEsUUFBUSxDQUFDO0VBQ2hCLEtBQUssRUFBRSxHQUFHO0VBQ1YsS0FBSyxFQUFFLENBQUM7RUFDUixLQUFLLEVBQUUsS0FBSztFQUNaLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVM7RUFDdkQsTUFBTSxFQUFFLGtEQUFrRDtFQUMxRCxPQUFPLEVBQUUsQ0FBQztFQUNWLGtCQUFrQixFQUFFLFlBQVk7RUFDaEMsZUFBZSxFQUFFLFlBQVk7RUFDN0IsYUFBYSxFQUFFLFlBQVk7RUFDM0IsVUFBVSxFQUFFLFlBQVksR0FDekI7O0FBRUQsQUFBQSxPQUFPLENBQUMsQ0FBQyxBQUFBLFFBQVEsQUFBQSxNQUFNLENBQUM7RUFDdEIsTUFBTSxFQUFFLG9EQUFvRDtFQUM1RCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsTUFBTSxFQUFFLE1BQU07RUFDZCxXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEVBQUUsQ0FBQztFQUNSLEtBQUssRUFBRSxJQUFJO0VBQ1gseUJBQXlCLEVBQUUsR0FBRztFQUM5QiwwQkFBMEIsRUFBRSxHQUFHLEdBQ2hDOztBQUVELEFBQUEsaUJBQWlCLEFBQUEsTUFBTSxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsUUFBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsUUFBUSxDQUFDLFdBQVcsQ0FBQztFQUNuQixLQUFLLEVBQUUsR0FBRztFQUNWLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLElBQUk7RUFDaEIsV0FBVyxFQUFFLEtBQUssR0FDbkI7O0FBRUQsQUFBQSxRQUFRLENBQUMsV0FBVyxDQUFDO0VBQ25CLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLElBQUk7RUFDakIsV0FBVyxFQUFFLEdBQUcsR0FDakI7O0FBRUQsQUFBQSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztFQUNyQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsUUFBUSxDQUFDLFVBQVUsQ0FBQztFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsY0FBYyxFQUFFLEdBQUc7RUFDbkIsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEVBQUUsT0FBTyxHQUNmOztBQUVELEFBQUEsUUFBUSxDQUFDLFNBQVMsQ0FBQztFQUNqQixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxLQUFLO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVM7RUFDeEQsVUFBVSxFQUFFLEtBQUs7RUFDakIsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsbURBQW1EO0VBQzNELE9BQU8sRUFBRSxHQUFHO0VBQ1osa0JBQWtCLEVBQUUsWUFBWTtFQUNoQyxlQUFlLEVBQUUsWUFBWTtFQUM3QixhQUFhLEVBQUUsWUFBWTtFQUMzQixVQUFVLEVBQUUsWUFBWSxHQUN6Qjs7QUFFRCxBQUFBLFFBQVEsQ0FBQyxTQUFTLEFBQUEsTUFBTSxDQUFDO0VBQ3ZCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsTUFBTSxFQUFFLG9EQUFvRDtFQUM1RCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQzNNRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrREFxQytEO0FHckMvRCxBQUFBLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFFBQVEsRUFBRSxRQUFRLEdBMEpuQjtFQTdKRCxBQUlFLE9BSkssQUFJSixrQkFBa0IsQ0FBQztJQUNsQixLQUFLLEVGSGlCLEtBQUs7SUVJM0IsTUFBTSxFRk5XLElBQUksR0VnRXRCO0lBaEVILEFBT0ksT0FQRyxBQUlKLGtCQUFrQixDQUdqQixhQUFhLENBQUM7TUFDWixNQUFNLEVBQUUsSUFBcUI7TUFDN0IsS0FBSyxFQUFFLElBQUk7TUFDWCxVQUFVLEVBQUUsSUFBc0I7TUFDbEMsR0FBRyxFQUFHLEdBQUc7TUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUNSO0lBYkwsQUFjSSxPQWRHLEFBSUosa0JBQWtCLENBVWpCLGlCQUFpQixFQWRyQixPQUFPLEFBSUosa0JBQWtCLENBVUUsaUJBQWlCLEVBZHhDLE9BQU8sQUFJSixrQkFBa0IsQ0FVcUIsa0JBQWtCLENBQUM7TUFDdkQsTUFBTSxFQUFFLElBQUk7TUFDWixHQUFHLEVBQUUsQ0FBQztNQUNOLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7SUFsQkwsQUFtQkksT0FuQkcsQUFJSixrQkFBa0IsQ0FlakIsWUFBWTtJQW5CaEIsT0FBTyxBQUlKLGtCQUFrQixDQWdCakIsY0FBYyxDQUFDO01BQ2IsV0FBVyxFQUFFLEtBQXNCLEdBV3BDO01BaENMLEFBc0JNLE9BdEJDLEFBSUosa0JBQWtCLENBZWpCLFlBQVksQUFHVCxTQUFTO01BdEJoQixPQUFPLEFBSUosa0JBQWtCLENBZ0JqQixjQUFjLEFBRVgsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLEdBQUc7UUFDUixTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBcUIsQ0FBQyxJQUFxQixDQUFDLElBQXFCO1FBQ2pGLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUM7UUFDVCxtQkFBbUIsRUZmSCxPQUEyQjtRRWdCM0MsVUFBVSxFQUFFLENBQUMsR0FDZDtJQS9CUCxBQWlDSSxPQWpDRyxBQUlKLGtCQUFrQixDQTZCakIsc0JBQXNCLENBQUM7TUFDckIsV0FBVyxFQUFFLE1BQU07TUFDbkIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLENBQUM7TUFDTixJQUFJLEVBQUUsQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJLEdBQ1o7SUF2Q0wsQUF3Q0ksT0F4Q0csQUFJSixrQkFBa0IsQ0FvQ2pCLDRCQUE0QixDQUFDO01BQzNCLFdBQVcsRUFBRSxNQUFNO01BQ25CLFVBQVUsRUYxQ0ssSUFBSSxHRWdEcEI7TUFoREwsQUEyQ00sT0EzQ0MsQUFJSixrQkFBa0IsQ0FvQ2pCLDRCQUE0QixDQUcxQixrQkFBa0IsQ0FBQztRQUNqQixPQUFPLEVBQUUsWUFBWTtRQUNyQixXQUFXLEVBQUUsSUFBeUI7UUFDdEMsVUFBVSxFQUFFLE1BQU0sR0FDbkI7SUEvQ1AsQUFrRE0sT0FsREMsQUFJSixrQkFBa0IsQUE2Q2hCLFdBQVcsQ0FDVixhQUFhLENBQUM7TUFDWixJQUFJLEVBQUUsT0FBTztNQUNiLEtBQUssRUFBRSxDQUFDLEdBQ1Q7SUFyRFAsQUFzRE0sT0F0REMsQUFJSixrQkFBa0IsQUE2Q2hCLFdBQVcsQ0FLVixZQUFZO0lBdERsQixPQUFPLEFBSUosa0JBQWtCLEFBNkNoQixXQUFXLENBTVYsY0FBYyxDQUFDO01BQ2IsV0FBVyxFQUFFLE9BQU87TUFDcEIsWUFBWSxFQUFFLEtBQXNCLEdBQ3JDO0lBMURQLEFBMkRNLE9BM0RDLEFBSUosa0JBQWtCLEFBNkNoQixXQUFXLENBVVYsc0JBQXNCLENBQUM7TUFDckIsSUFBSSxFQUFFLE9BQU87TUFDYixLQUFLLEVBQUUsQ0FBQyxHQUNUO0VBOURQLEFBaUVFLE9BakVLLEFBaUVKLGdCQUFnQixDQUFDO0lBQ2hCLE1BQU0sRUYvRGUsS0FBSztJRWdFMUIsS0FBSyxFRm5FWSxJQUFJLEdFNEh0QjtJQTVISCxBQW9FSSxPQXBFRyxBQWlFSixnQkFBZ0IsQ0FHZixhQUFhLENBQUM7TUFDWixLQUFLLEVBQUUsSUFBcUI7TUFDNUIsTUFBTSxFQUFFLElBQUk7TUFDWixJQUFJLEVBQUUsR0FBRztNQUNULEdBQUcsRUFBRSxDQUFDLEdBQ1A7SUF6RUwsQUEwRUksT0ExRUcsQUFpRUosZ0JBQWdCLENBU2YsaUJBQWlCLENBQUM7TUFDaEIsS0FBSyxFQUFFLElBQUk7TUFDWCxJQUFJLEVBQUUsQ0FBQztNQUNQLEdBQUcsRUFBRSxDQUFDO01BQ04sTUFBTSxFQUFFLENBQUMsR0FDVjtJQS9FTCxBQWdGSSxPQWhGRyxBQWlFSixnQkFBZ0IsQ0FlZixpQkFBaUIsRUFoRnJCLE9BQU8sQUFpRUosZ0JBQWdCLENBZUksa0JBQWtCLENBQUM7TUFDcEMsS0FBSyxFQUFFLElBQUk7TUFDWCxJQUFJLEVBQUUsQ0FBQztNQUNQLEtBQUssRUFBRSxDQUFDLEdBQ1Q7SUFwRkwsQUFxRkksT0FyRkcsQUFpRUosZ0JBQWdCLENBb0JmLFlBQVk7SUFyRmhCLE9BQU8sQUFpRUosZ0JBQWdCLENBcUJmLGNBQWMsQ0FBQztNQUNiLFVBQVUsRUFBRSxLQUFzQixHQVFuQztNQS9GTCxBQXdGTSxPQXhGQyxBQWlFSixnQkFBZ0IsQ0FvQmYsWUFBWSxBQUdULFNBQVM7TUF4RmhCLE9BQU8sQUFpRUosZ0JBQWdCLENBcUJmLGNBQWMsQUFFWCxTQUFTLENBQUM7UUFDVCxZQUFZLEVBQUUsSUFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBcUIsQ0FBQyxJQUFxQjtRQUNqRixLQUFLLEVBQUcsR0FBRztRQUNYLE1BQU0sRUFBRSxHQUFHO1FBQ1gsaUJBQWlCLEVGOUVELE9BQTJCO1FFK0UzQyxXQUFXLEVBQUUsQ0FBQyxHQUNmO0lBOUZQLEFBZ0dJLE9BaEdHLEFBaUVKLGdCQUFnQixDQStCZiw0QkFBNEIsQ0FBQztNQUMzQixXQUFXLEVBQUUsTUFBTSxHQUlwQjtNQXJHTCxBQWtHTSxPQWxHQyxBQWlFSixnQkFBZ0IsQ0ErQmYsNEJBQTRCLENBRTFCLGtCQUFrQixDQUFDO1FBQ2pCLFlBQVksRUFBRSxHQUF3QixHQUN2QztJQXBHUCxBQXVHTSxPQXZHQyxBQWlFSixnQkFBZ0IsQUFxQ2QsV0FBVyxDQUNWLGFBQWEsQ0FBQztNQUNaLElBQUksRUFBRSxPQUFPO01BQ2IsS0FBSyxFQUFFLEdBQUcsR0FDWDtJQTFHUCxBQTJHTSxPQTNHQyxBQWlFSixnQkFBZ0IsQUFxQ2QsV0FBVyxDQUtWLGlCQUFpQixDQUFDO01BQ2hCLElBQUksRUFBRSxPQUFPO01BQ2IsS0FBSyxFQUFFLENBQUMsR0FDVDtJQTlHUCxBQWlIUSxPQWpIRCxBQWlFSixnQkFBZ0IsQUFxQ2QsV0FBVyxDQVNWLFlBQVksQUFFVCxTQUFTO0lBakhsQixPQUFPLEFBaUVKLGdCQUFnQixBQXFDZCxXQUFXLENBVVYsY0FBYyxBQUNYLFNBQVMsQ0FBQztNQUNULFlBQVksRUFBRSxJQUFxQixDQUFDLElBQXFCLENBQUMsSUFBcUIsQ0FBQyxDQUFDLEdBQ2xGO0lBbkhULEFBc0hRLE9BdEhELEFBaUVKLGdCQUFnQixBQXFDZCxXQUFXLENBZVYsNEJBQTRCLENBQzFCLGtCQUFrQixDQUFDO01BQ2pCLFlBQVksRUFBRSxPQUFPO01BQ3JCLGFBQWEsRUFBRSxHQUF3QixHQUN4QztFQXpIVCxBQThISSxPQTlIRyxBQTZISixnQkFBZ0IsQ0FDZixjQUFjLENBQUM7SUQ3SGpCLGdCQUFnQixFQzhIcUQsT0FBbUM7SUQ3SHhHLGdCQUFnQixFQUFFLDJDQUFpRDtJQUNuRSxnQkFBZ0IsRUFBRSxpRUFBdUU7SUFDekYsZ0JBQWdCLEVBQUUsOENBQW9EO0lBQ3RFLGdCQUFnQixFQUFFLHlDQUErQztJQUNqRSxnQkFBZ0IsRUFBRSw0Q0FBa0Q7SUFDcEUsaUJBQWlCLEVBQUUsUUFBUTtJQUMzQixNQUFNLEVBQUUseUdBQXFILEdDd0gxSDtFQWhJTCxBQWlJSSxPQWpJRyxBQTZISixnQkFBZ0IsQ0FJZixhQUFhLENBQUM7SURoSWhCLGdCQUFnQixFQ2lJcUQsT0FBbUM7SURoSXhHLGdCQUFnQixFQUFFLDJDQUFpRDtJQUNuRSxnQkFBZ0IsRUFBRSxpRUFBdUU7SUFDekYsZ0JBQWdCLEVBQUUsOENBQW9EO0lBQ3RFLGdCQUFnQixFQUFFLHlDQUErQztJQUNqRSxnQkFBZ0IsRUFBRSw0Q0FBa0Q7SUFDcEUsaUJBQWlCLEVBQUUsUUFBUTtJQUMzQixNQUFNLEVBQUUseUdBQXFIO0lDMkh6SCxNQUFNLEVBQUUsV0FBVyxHQUNwQjtFQXBJTCxBQXNJRSxPQXRJSyxDQXNJTCxLQUFLLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSSxHQUNkO0VBeElILEFBeUlFLE9BeklLLENBeUlMLGNBQWMsQ0FBQztJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBNUlILEFBNklFLE9BN0lLLENBNklMLFFBQVEsQ0FBQztJQUNQLGNBQWMsRUFBRSxJQUFJLEdBS3JCO0lBbkpILEFBZ0pJLE9BaEpHLENBNklMLFFBQVEsQUFHTCxJQUFJLENBQUM7TUFDSixVQUFVLEVBQUUsS0FBSyxHQUNsQjtFQWxKTCxBQXlJRSxPQXpJSyxDQXlJTCxjQUFjLENBWUM7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQXhKSCxBQTBKRSxPQTFKSyxDQTBKTCxLQUFLLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUdILEFBQUEsYUFBYSxDQUFDO0VEOUpaLGdCQUFnQixFQytKaUQsT0FBbUM7RUQ5SnBHLGdCQUFnQixFQUFFLDJDQUFpRDtFQUNuRSxnQkFBZ0IsRUFBRSxpRUFBdUU7RUFDekYsZ0JBQWdCLEVBQUUsOENBQW9EO0VBQ3RFLGdCQUFnQixFQUFFLHlDQUErQztFQUNqRSxnQkFBZ0IsRUFBRSw0Q0FBa0Q7RUFDcEUsaUJBQWlCLEVBQUUsUUFBUTtFQUMzQixNQUFNLEVBQUUseUdBQXFIO0VBUTdILGtCQUFrQixFQ2lKUyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWU7RURoSjFELGVBQWUsRUNnSlksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlO0VEL0kxRCxVQUFVLEVDK0lpQixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWU7RUQ1STFELHFCQUFxQixFRHBCQSxHQUFHO0VDcUJ4QixrQkFBa0IsRURyQkcsR0FBRztFQ3NCeEIsYUFBYSxFRHRCUSxHQUFHO0VFbUt4QixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsT0FBTyxHQUNoQjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VEdktoQixnQkFBZ0IsRUN3S2lELE9BQW1DO0VEdktwRyxnQkFBZ0IsRUFBRSwyQ0FBaUQ7RUFDbkUsZ0JBQWdCLEVBQUUsaUVBQXVFO0VBQ3pGLGdCQUFnQixFQUFFLDhDQUFvRDtFQUN0RSxnQkFBZ0IsRUFBRSx5Q0FBK0M7RUFDakUsZ0JBQWdCLEVBQUUsNENBQWtEO0VBQ3BFLGlCQUFpQixFQUFFLFFBQVE7RUFDM0IsTUFBTSxFQUFFLHlHQUFxSDtFQVE3SCxrQkFBa0IsRUMwSlMsS0FBSyxDQUFDLENBQUMsQ0FBRSxJQUFHLENBQUMsQ0FBQyxDQUFDLG1CQUFnQjtFRHpKMUQsZUFBZSxFQ3lKWSxLQUFLLENBQUMsQ0FBQyxDQUFFLElBQUcsQ0FBQyxDQUFDLENBQUMsbUJBQWdCO0VEeEoxRCxVQUFVLEVDd0ppQixLQUFLLENBQUMsQ0FBQyxDQUFFLElBQUcsQ0FBQyxDQUFDLENBQUMsbUJBQWdCO0VEL0oxRCxrQkFBa0IsRUNnS1MsVUFBVTtFRC9KckMsZUFBZSxFQytKWSxVQUFVO0VEOUpyQyxVQUFVLEVDOEppQixVQUFVO0VEdEpyQyxxQkFBcUIsRURwQkEsR0FBRztFQ3FCeEIsa0JBQWtCLEVEckJHLEdBQUc7RUNzQnhCLGFBQWEsRUR0QlEsR0FBRztFRTZLeEIsUUFBUSxFQUFFLFFBQVEsR0FDbkI7O0FBQ0QsQUFBQSxpQkFBaUIsQUFBQSxzQkFBc0IsQ0FBQztFRC9LdEMsZ0JBQWdCLEVDZ0xrRSxPQUFvRDtFRC9LdEksZ0JBQWdCLEVBQUUsMkNBQWlEO0VBQ25FLGdCQUFnQixFQUFFLGlFQUF1RTtFQUN6RixnQkFBZ0IsRUFBRSw4Q0FBb0Q7RUFDdEUsZ0JBQWdCLEVBQUUseUNBQStDO0VBQ2pFLGdCQUFnQixFQUFFLDRDQUFrRDtFQUNwRSxpQkFBaUIsRUFBRSxRQUFRO0VBQzNCLE1BQU0sRUFBRSx5R0FBcUgsR0MwSzlIOztBQUVELEFBQUEsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUM7RUR6S3BDLGtCQUFrQixFQzBLUyxVQUFVO0VEektyQyxlQUFlLEVDeUtZLFVBQVU7RUR4S3JDLFVBQVUsRUN3S2lCLFVBQVU7RURoS3JDLHFCQUFxQixFRHBCQSxHQUFHO0VDcUJ4QixrQkFBa0IsRURyQkcsR0FBRztFQ3NCeEIsYUFBYSxFRHRCUSxHQUFHO0VFdUx4QixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsV0FBVyxHQUN4Qjs7QUFFRCxBQUFBLGNBQWMsQ0FBQztFRDNMYixnQkFBZ0IsRUM0TDhELE9BQWdEO0VEM0w5SCxnQkFBZ0IsRUFBRSwyQ0FBaUQ7RUFDbkUsZ0JBQWdCLEVBQUUsaUVBQXVFO0VBQ3pGLGdCQUFnQixFQUFFLDhDQUFvRDtFQUN0RSxnQkFBZ0IsRUFBRSx5Q0FBK0M7RUFDakUsZ0JBQWdCLEVBQUUsNENBQWtEO0VBQ3BFLGlCQUFpQixFQUFFLFFBQVE7RUFDM0IsTUFBTSxFQUFFLHlHQUFxSDtFQVE3SCxrQkFBa0IsRUM4S1MsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtFRDdLaEcsZUFBZSxFQzZLWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO0VENUtoRyxVQUFVLEVDNEtpQixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO0VBRWhHLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFRmxNYyxJQUFJO0VFbU12QixNQUFNLEVGbk1hLElBQUk7RUVvTXZCLGdCQUFnQixFRjFMQyxPQUFPO0VFMkx4QixNQUFNLEVBQUUscUJBQXFCLEdBbUI5QjtFQTVCRCxBQVVFLGNBVlksQUFVWCxNQUFNLENBQUM7SUFDTixNQUFNLEVBQUUsT0FBTyxHQUNoQjtFQVpILEFBYUUsY0FiWSxBQWFYLE1BQU0sQ0FBQztJRHBMUixxQkFBcUIsRURyQkYsSUFBSTtJQ3NCdkIsa0JBQWtCLEVEdEJDLElBQUk7SUN1QnZCLGFBQWEsRUR2Qk0sSUFBSSxHRTJNdEI7RUFmSCxBQWdCRSxjQWhCWSxBQWdCWCxTQUFTLENBQUM7SUFDVCxVQUFVLEVBQUUsZ0JBQWdCLEdBQzdCO0VBbEJILEFBbUJFLGNBbkJZLEFBbUJYLE9BQU8sQ0FBQztJQUNQLFVBQVUsRUFBRSxnQkFBZ0IsR0FPN0I7SUEzQkgsQUFxQkksY0FyQlUsQUFtQlgsT0FBTyxBQUVMLFFBQVEsQ0FBQTtNQUNQLFdBQVcsRUZsTkksSUFBSTtNRW1ObkIsU0FBUyxFQUFFLElBQUk7TUFDZixPQUFPLEVBQUUsT0FBTztNQUNoQixLQUFLLEVGMUxZLE9BQU8sR0UyTHpCOztBQUlMLEFBQUEsWUFBWSxDQUFDO0VEek5YLGdCQUFnQixFQzBOaUQsT0FBbUM7RUR6TnBHLGdCQUFnQixFQUFFLDJDQUFpRDtFQUNuRSxnQkFBZ0IsRUFBRSxpRUFBdUU7RUFDekYsZ0JBQWdCLEVBQUUsOENBQW9EO0VBQ3RFLGdCQUFnQixFQUFFLHlDQUErQztFQUNqRSxnQkFBZ0IsRUFBRSw0Q0FBa0Q7RUFDcEUsaUJBQWlCLEVBQUUsUUFBUTtFQUMzQixNQUFNLEVBQUUseUdBQXFIO0VBUTdILGtCQUFrQixFQzRNUyxLQUFLLENBQUMsQ0FBQyxDQUFFLElBQUcsQ0FBQyxDQUFDLENBQUMsbUJBQWdCO0VEM00xRCxlQUFlLEVDMk1ZLEtBQUssQ0FBQyxDQUFDLENBQUUsSUFBRyxDQUFDLENBQUMsQ0FBQyxtQkFBZ0I7RUQxTTFELFVBQVUsRUMwTWlCLEtBQUssQ0FBQyxDQUFDLENBQUUsSUFBRyxDQUFDLENBQUMsQ0FBQyxtQkFBZ0I7RURqTjFELGtCQUFrQixFQ2tOUyxVQUFVO0VEak5yQyxlQUFlLEVDaU5ZLFVBQVU7RURoTnJDLFVBQVUsRUNnTmlCLFVBQVU7RUFFckMsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLE9BQU87RUFDZixLQUFLLEVGak9jLElBQUk7RUVrT3ZCLE1BQU0sRUZsT2EsSUFBSTtFRW1PdkIsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsR0FBRztFQUNaLE1BQU0sRUFBRSxxQkFBcUIsR0FxQjlCO0VBaENELEFBYUUsWUFiVSxBQWFULE1BQU0sQ0FBQztJQUNOLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBZkgsQUFnQkUsWUFoQlUsQUFnQlQsU0FBUyxDQUFDO0lBQ1QsVUFBVSxFQUFFLGdCQUFnQixHQUM3QjtFQWxCSCxBQW1CRSxZQW5CVSxBQW1CVCxPQUFPLENBQUM7SUFDUCxVQUFVLEVBQUUsZ0JBQWdCLEdBTzdCO0lBM0JILEFBcUJJLFlBckJRLEFBbUJULE9BQU8sQUFFTCxRQUFRLENBQUM7TUFDUixXQUFXLEVGaFBJLElBQUk7TUVpUG5CLFNBQVMsRUFBRSxJQUFJO01BQ2YsT0FBTyxFQUFFLE9BQU87TUFDaEIsS0FBSyxFRnhOWSxPQUFPLEdFeU56QjtFQTFCTCxBQTRCRSxZQTVCVSxBQTRCVCxhQUFhLENBQUM7SURyUGYsZ0JBQWdCLEVDc1BvRSxPQUFvRDtJRHJQeEksZ0JBQWdCLEVBQUUsMkNBQWlEO0lBQ25FLGdCQUFnQixFQUFFLGlFQUF1RTtJQUN6RixnQkFBZ0IsRUFBRSw4Q0FBb0Q7SUFDdEUsZ0JBQWdCLEVBQUUseUNBQStDO0lBQ2pFLGdCQUFnQixFQUFFLDRDQUFrRDtJQUNwRSxpQkFBaUIsRUFBRSxRQUFRO0lBQzNCLE1BQU0sRUFBRSx5R0FBcUg7SUNnUDNILE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FDelBILFVBQVUsQ0FBVixjQUFVO0VBQWdCLEVBQUU7SUFBQyxTQUFTLEVBQUMsU0FBUztFQUFDLEVBQUU7SUFBQyxTQUFTLEVBQUMsYUFBYTs7QUFBRSxBQUFBLGtCQUFrQixDQUFBO0VBQUMsUUFBUSxFQUFDLFFBQVE7RUFBQyxVQUFVLEVBQUMsVUFBVSxHQUFFOztBQUFELEFBQUEsYUFBYSxDQUFBO0VBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQSxVQUFVO0VBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQSxVQUFVO0VBQUMsS0FBSyxFQUFDLG1CQUFtQjtFQUFDLEtBQUssRUFBQyxXQUFXO0VBQUMsV0FBVyxFQUFDLFNBQVMsR0FBRTs7QUFBRCxBQUFBLE9BQU8sQUFBQSxVQUFVLENBQUMsYUFBYSxDQUFBO0VBQUMsT0FBTyxFQUFDLElBQUksR0FBRTs7QUFBRCxBQUFBLG1CQUFtQixDQUFBO0VBQUMsT0FBTyxFQUFDLFdBQVc7RUFBQyxXQUFXLEVBQUMsTUFBTTtFQUFDLEtBQUssRUFBQyxHQUFHO0VBQUMsU0FBUyxFQUFDLElBQUk7RUFBQyxlQUFlLEVBQUMsTUFBTTtFQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUU7O0FBQUQsQUFBQSxtQkFBbUIsQ0FBQyxFQUFFLENBQUE7RUFBQyxlQUFlLEVBQUMsSUFBSTtFQUFDLE9BQU8sRUFBQyxZQUFZO0VBQUMsV0FBVyxFQUFDLENBQUM7RUFBQyxNQUFNLEVBQUMsQ0FBQyxHQUFFOztBQUFELEFBQUEsT0FBTyxDQUFBO0VBQUMsVUFBVSxFQUFDLE1BQU0sR0FBRTs7QUFBRCxBQUFBLE9BQU8sRUFBQyxjQUFjLENBQUE7RUFBQyxRQUFRLEVBQUMsUUFBUTtFQUFDLE9BQU8sRUFBQyxJQUFJLEdBQUU7O0FBQUQsQUFBQSxjQUFjLENBQUE7RUFBQyxVQUFVLEVBQUMsVUFBVTtFQUFDLGVBQWUsRUFBQyxJQUFJLENBQUEsVUFBVTtFQUFDLE1BQU0sRUFBQyxDQUFDO0VBQUMsV0FBVyxFQUFDLENBQUMsR0FBRTs7QUFBRCxBQUFBLGNBQWMsQ0FBQyxHQUFHLENBQUE7RUFBQyxjQUFjLEVBQUMsTUFBTSxHQUFFOztBQUFELEFBQUEsZUFBZSxDQUFBO0VBQUMsUUFBUSxFQUFDLFFBQVEsR0FBRTs7QUFBRCxBQUFBLGdCQUFnQixDQUFBO0VBQUMsUUFBUSxFQUFDLFFBQVE7RUFBQyxHQUFHLEVBQUMsQ0FBQztFQUFDLElBQUksRUFBQyxDQUFDO0VBQUMsS0FBSyxFQUFDLENBQUM7RUFBQyxNQUFNLEVBQUMsQ0FBQztFQUFDLE1BQU0sRUFBQyxJQUFJO0VBQUMsT0FBTyxFQUFDLFlBQVk7RUFBQyxLQUFLLEVBQUMsSUFBSTtFQUFDLE1BQU0sRUFBQyxJQUFJO0VBQUMsYUFBYSxFQUFDLEdBQUc7RUFBQyxNQUFNLEVBQUMsY0FBYztFQUFDLGlCQUFpQixFQUFDLFdBQVc7RUFBQyxTQUFTLEVBQUMsaUNBQWlDLEdBQUU7O0FBQUQsQUFBQSxjQUFjLENBQUE7RUFBQyxRQUFRLEVBQUMsUUFBUTtFQUFDLE9BQU8sRUFBQyxDQUFDO0VBQUMsUUFBUSxFQUFDLE1BQU0sR0FBRTs7QUFBRCxBQUFBLGtCQUFrQixHQUFDLGNBQWMsR0FBQyxhQUFhLEdBQUMsY0FBYyxDQUFBO0VBQUMsbUJBQW1CLEVBQUMsSUFBSTtFQUFDLFdBQVcsRUFBQyxJQUFJLEdBQUU7O0FBQUQsQUFBQSxhQUFhLEdBQUMsY0FBYyxHQUFDLGFBQWEsQ0FBQTtFQUFDLE9BQU8sRUFBQyxLQUFLLEdBQUU7O0FBQUQsQUFBQSxhQUFhLEdBQUMsY0FBYyxHQUFDLGFBQWEsR0FBQyxjQUFjLENBQUE7RUFBQyxRQUFRLEVBQUMsUUFBUTtFQUFDLEdBQUcsRUFBQyxDQUFDO0VBQUMsSUFBSSxFQUFDLENBQUM7RUFBQyxPQUFPLEVBQUMsQ0FBQztFQUFDLE9BQU8sRUFBQyxDQUFDLEdBQUU7O0FBQUQsQUFBQSxhQUFhLEdBQUMsY0FBYyxHQUFDLGFBQWEsR0FBQyxjQUFjLEFBQUEsVUFBVSxDQUFBO0VBQUMsUUFBUSxFQUFDLFFBQVE7RUFBQyxPQUFPLEVBQUMsQ0FBQztFQUFDLE9BQU8sRUFBQyxDQUFDLEdBQUU7O0FBQUQsQUFBQSxZQUFZLENBQUE7RUFBQyxTQUFTLEVBQUMsR0FBRyxHQUFFOztBQUFELEFBQUEsWUFBWSxHQUFDLGNBQWMsR0FBQyxhQUFhLENBQUE7RUFBQyxPQUFPLEVBQUMsS0FBSyxHQUFFOztBQUFELEFBQUEsWUFBWSxHQUFDLG1CQUFtQixDQUFBO0VBQUMsS0FBSyxFQUFDLElBQUksR0FBRTs7QUFBRCxBQUFBLGNBQWMsQ0FBQTtFQUFDLFFBQVEsRUFBQyxRQUFRO0VBQUMsT0FBTyxFQUFDLENBQUM7RUFBQyxHQUFHLEVBQUMsR0FBRztFQUFDLFNBQVMsRUFBQyxnQkFBZ0I7RUFBQyxLQUFLLEVBQUMsR0FBRztFQUFDLE1BQU0sRUFBQyxHQUFHO0VBQUMsYUFBYSxFQUFDLEdBQUc7RUFBQyxPQUFPLEVBQUMsSUFBSTtFQUFDLFdBQVcsRUFBQyxNQUFNO0VBQUMsZUFBZSxFQUFDLE1BQU07RUFBQyxNQUFNLEVBQUMsSUFBSTtFQUFDLE9BQU8sRUFBQyxDQUFDO0VBQUMsT0FBTyxFQUFDLEVBQUU7RUFBQyxVQUFVLEVBQUMsSUFBSSxHQUFFOztBQUFELEFBQUEsY0FBYyxDQUFDLEdBQUcsQ0FBQTtFQUFDLEtBQUssRUFBQyxLQUFLO0VBQUMsTUFBTSxFQUFDLEtBQUssR0FBRTs7QUFBRCxBQUFBLGNBQWMsQUFBQSxNQUFNLENBQUE7RUFBQyxNQUFNLEVBQUMsT0FBTztFQUFDLE9BQU8sRUFBQyxFQUFFLEdBQUU7O0FBQUQsQUFBQSxjQUFjLEFBQUEsTUFBTSxDQUFBO0VBQUMsT0FBTyxFQUFDLElBQUksR0FBRTs7QUFBRCxBQUFBLG9CQUFvQixDQUFBO0VBQUMsSUFBSSxFQUFDLEdBQUcsR0FBRTs7QUFBRCxBQUFBLG9CQUFvQixDQUFDLEdBQUcsQ0FBQTtFQUFDLFNBQVMsRUFBQyxVQUFVLEdBQUU7O0FBQUQsQUFBQSxvQkFBb0IsQ0FBQTtFQUFDLEtBQUssRUFBQyxHQUFHLEdBQUU7O0FBQXRxRCxBQUFBLG1CQUFtQixDQUFxcUQ7RUFBQyxRQUFRLEVBQUMsUUFBUTtFQUFDLE9BQU8sRUFBQyxDQUFDO0VBQUMsTUFBTSxFQUFDLElBQUk7RUFBQyxJQUFJLEVBQUMsR0FBRztFQUFDLFNBQVMsRUFBQyxnQkFBZ0I7RUFBQyxPQUFPLEVBQUMsQ0FBQyxHQUFFOztBQUFELEFBQUEseUJBQXlCLENBQUE7RUFBQyxPQUFPLEVBQUMsWUFBWTtFQUFDLEtBQUssRUFBQyxHQUFHO0VBQUMsTUFBTSxFQUFDLEdBQUc7RUFBQyxVQUFVLEVBQUMsSUFBSTtFQUFDLGFBQWEsRUFBQyxHQUFHO0VBQUMsTUFBTSxFQUFDLEdBQUc7RUFBQyxPQUFPLEVBQUMsQ0FBQztFQUFDLFVBQVUsRUFBQyxvQkFBb0I7RUFBQyxNQUFNLEVBQUMsSUFBSTtFQUFDLE9BQU8sRUFBQyxFQUFFLEdBQUU7O0FBQUQsQUFBQSx5QkFBeUIsQUFBQSxVQUFVLENBQUE7RUFBQyxTQUFTLEVBQUMsVUFBVTtFQUFDLFVBQVUsRUFBQyxJQUFJLEdBQUU7O0FBQUQsQUFBQSx5QkFBeUIsQUFBQSxNQUFNLENBQUE7RUFBQyxNQUFNLEVBQUMsT0FBTztFQUFDLE9BQU8sRUFBQyxFQUFFLEdBQUU7O0FBQUQsQUFBQSx5QkFBeUIsQUFBQSxNQUFNLENBQUE7RUFBQyxPQUFPLEVBQUMsSUFBSSxHQUFFOztBQUFELEFBQUEsc0JBQXNCLENBQUE7RUFBQyxLQUFLLEVBQUMsQ0FBQztFQUFDLE1BQU0sRUFBQyxHQUFHO0VBQUMsVUFBVSxFQUFDLElBQUksR0FBRTs7QUFBRCxBQUFBLFlBQVksR0FBQyxjQUFjLEdBQUMsYUFBYSxHQUFDLGNBQWMsQ0FBQTtFQUFDLE1BQU0sRUFBQyxxQkFBcUIsR0FBRTs7QUFBRCxBQUFBLFlBQVksR0FBQyxjQUFjLEdBQUMsYUFBYSxHQUFDLGNBQWMsQUFBQSxVQUFVLENBQUE7RUFBQyxZQUFZLEVBQUMsSUFBSSxHQUFFOztBQUFELEFBQUEsWUFBWSxHQUFDLGNBQWMsR0FBQyxhQUFhLEdBQUMsY0FBYyxBQUFBLE1BQU0sQ0FBQTtFQUFDLE9BQU8sRUFBQyxJQUFJLEdBQUU7O0FBQUQsQUFBQSxZQUFZLEdBQUMsZUFBZSxDQUFDLG9CQUFvQixFQUFDLFlBQVksR0FBQyxjQUFjLEdBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFBO0VBQUMsS0FBSyxFQUFDLEdBQUc7RUFBQyxJQUFJLEVBQUMsSUFBSSxHQUFFOztBQUFELEFBQUEsWUFBWSxHQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUMsWUFBWSxHQUFDLGNBQWMsR0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFBO0VBQUMsU0FBUyxFQUFDLFNBQVMsR0FBRTs7QUFBRCxBQUFBLFlBQVksR0FBQyxlQUFlLENBQUMsb0JBQW9CLEVBQUMsWUFBWSxHQUFDLGNBQWMsR0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUE7RUFBQyxJQUFJLEVBQUMsR0FBRztFQUFDLEtBQUssRUFBQyxJQUFJLEdBQUU7O0FBQUQsQUFBQSxZQUFZLEdBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsRUFBQyxZQUFZLEdBQUMsY0FBYyxHQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUE7RUFBQyxTQUFTLEVBQUMsVUFBVSxHQUFFOztBQUFELEFBQUEsWUFBWSxHQUFDLGVBQWUsQ0FBQyxjQUFjLEVBQUMsWUFBWSxHQUFDLGNBQWMsR0FBQyxlQUFlLENBQUMsY0FBYyxDQUFBO0VBQUMsSUFBSSxFQUFDLEdBQUc7RUFBQyxTQUFTLEVBQUMsZUFBZSxHQUFFOztBQUFELEFBQUEsWUFBWSxHQUFDLGVBQWUsQ0FBQyxvQkFBb0IsRUFBQyxZQUFZLEdBQUMsY0FBYyxHQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQTtFQUFDLEdBQUcsRUFBQyxHQUFHLEdBQUU7O0FBQUQsQUFBQSxZQUFZLEdBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsRUFBQyxZQUFZLEdBQUMsY0FBYyxHQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUE7RUFBQyxTQUFTLEVBQUMsY0FBYyxHQUFFOztBQUFELEFBQUEsWUFBWSxHQUFDLGVBQWUsQ0FBQyxvQkFBb0IsRUFBQyxZQUFZLEdBQUMsY0FBYyxHQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQTtFQUFDLEdBQUcsRUFBQyxJQUFJO0VBQUMsTUFBTSxFQUFDLEdBQUcsR0FBRTs7QUFBRCxBQUFBLFlBQVksR0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsR0FBRyxFQUFDLFlBQVksR0FBQyxjQUFjLEdBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQTtFQUFDLFNBQVMsRUFBQyxhQUFhLEdBQUU7O0FBQS84RSxBQUFBLFlBQVksR0FBQyxtQkFBbUIsQ0FBODhFO0VBQUMsT0FBTyxFQUFDLElBQUk7RUFBQyxjQUFjLEVBQUMsTUFBTTtFQUFDLE1BQU0sRUFBQyxHQUFHO0VBQUMsSUFBSSxFQUFDLElBQUk7RUFBQyxLQUFLLEVBQUMsSUFBSTtFQUFDLFNBQVMsRUFBQyxlQUFlLEdBQUU7O0FDQTdpSSxBQUFBLElBQUksRUFBRSxJQUFJLENBQUM7RUFDUCxLQUFLLEVqR3FCRixPQUFPO0VpR3BCVixVQUFVLEVqR1lILElBQUk7RWlHWFgsU0FBUyxFQUFFLElBQUk7RS9GdU9YLFdBQVcsRUY5SkosUUFBUSxFRThKYSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRytGek4vRDtFeEYyQ0csTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0l3RjVENUIsQUFBQSxJQUFJLEVBQUUsSUFBSSxDQUFDO01BT0gsU0FBUyxFQUFFLElBQUksR0FVdEI7RXhGMkNHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJd0Y1RDVCLEFBQUEsSUFBSSxFQUFFLElBQUksQ0FBQztNQVdILFNBQVMsRUFBRSxJQUFJLEdBTXRCO0V4RjJDRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SXdGNUQ1QixBQUFBLElBQUksRUFBRSxJQUFJLENBQUM7TUFlSCxTQUFTLEVBQUUsSUFBcUIsR0FFdkM7O0F6RDBFRCxBQUFBLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDMEQzRkM7RUFDbkIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQyxHQUNiOztBQ0pEOztnRkFFZ0Y7QUFHaEYsdUJBQXVCO0FBWXZCLFVBQVU7RUFDTixXQUFXLEVuRzBEQSxRQUFRO0VtR3pEbkIsR0FBRyxFQUFFLDJDQUFnRCxDQUFDLGNBQWMsRUFDcEUsNENBQWlELENBQUMsZUFBZTtFQUNqRSxXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVBQUUsTUFBTTtFQUNsQixZQUFZLEVBQUUsSUFBSTs7QUFHdEIsVUFBVTtFQUNOLFdBQVcsRW5HaURBLFFBQVE7RW1HaERuQixHQUFHLEVBQUUsdUNBQTRDLENBQUMsY0FBYyxFQUNoRSx3Q0FBNkMsQ0FBQyxlQUFlO0VBQzdELFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFlBQVksRUFBRSxJQUFJOztBQUd0QixVQUFVO0VBQ04sV0FBVyxFbkd3Q0EsUUFBUTtFbUd2Q25CLEdBQUcsRUFBRSw2Q0FBa0QsQ0FBQyxjQUFjLEVBQ3RFLDhDQUFtRCxDQUFDLGVBQWU7RUFDbkUsV0FBVyxFQUFFLElBQUk7RUFDakIsVUFBVSxFQUFFLE1BQU07RUFDbEIsWUFBWSxFQUFFLElBQUk7O0FBR3RCLFVBQVU7RUFDTixXQUFXLEVuRytCQSxRQUFRO0VtRzlCbkIsR0FBRyxFQUFFLDBDQUErQyxDQUFDLGNBQWMsRUFDbkUsMkNBQWdELENBQUMsZUFBZTtFQUNoRSxXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVBQUUsTUFBTTtFQUNsQixZQUFZLEVBQUUsSUFBSTs7QUFHdEIsa0JBQWtCO0FBQ2xCLFVBQVU7RUFDTixXQUFXLEVuR2lCUSxvQkFBb0I7RW1HaEJuQyxHQUFHLEVBQ0gsaUNBQXNDLEVBQ3RDLGlDQUFzQyxDQUFDLDJCQUEyQixFQUNsRSxtQ0FBd0MsQ0FBQyxlQUFlLEVBQ3hELGtDQUF1QyxDQUFDLGNBQWMsRUFDdEQsaUNBQXNDLENBQUMsa0JBQWtCLEVBQ3pELGlDQUFzQyxDQUFDLGFBQWE7RUFDeEQsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFQUFFLE1BQU07RUFDbEIsWUFBWSxFQUFFLElBQUk7O0FBR3RCLFVBQVU7RUFDTixXQUFXLEVuR0VRLG9CQUFvQjtFbUdEbkMsR0FBRyxFQUNILGlDQUFzQyxFQUN0QyxpQ0FBc0MsQ0FBQywyQkFBMkIsRUFDbEUsbUNBQXdDLENBQUMsZUFBZSxFQUN4RCxrQ0FBdUMsQ0FBQyxjQUFjLEVBQ3RELGlDQUFzQyxDQUFDLGtCQUFrQixFQUN6RCxpQ0FBc0MsQ0FBQyxhQUFhO0VBQ3hELFdBQVcsRUFBRSxNQUFNO0VBQ25CLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFlBQVksRUFBRSxJQUFJOztBQUd0QixVQUFVO0VBQ04sV0FBVyxFbkdiVSxzQkFBc0I7RW1HY3ZDLEdBQUcsRUFDSCxtQ0FBd0MsRUFDeEMsbUNBQXdDLENBQUMsMkJBQTJCLEVBQ3BFLHFDQUEwQyxDQUFDLGVBQWUsRUFDMUQsb0NBQXlDLENBQUMsY0FBYyxFQUN4RCxtQ0FBd0MsQ0FBQyxrQkFBa0IsRUFDM0QsbUNBQXdDLENBQUMsYUFBYTtFQUMxRCxXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVBQUUsTUFBTTtFQUNsQixZQUFZLEVBQUUsSUFBSTs7QUFHdEIsVUFBVTtFQUNOLFdBQVcsRW5HeEJRLG9CQUFvQjtFbUd5Qm5DLEdBQUcsRUFDSCxrQ0FBdUMsRUFDdkMsa0NBQXVDLENBQUMsMkJBQTJCLEVBQ25FLG9DQUF5QyxDQUFDLGVBQWUsRUFDekQsbUNBQXdDLENBQUMsY0FBYyxFQUN2RCxrQ0FBdUMsQ0FBQyxrQkFBa0IsRUFDMUQsa0NBQXVDLENBQUMsYUFBYTtFQUN6RCxXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVBQUUsTUFBTTtFQUNsQixZQUFZLEVBQUUsSUFBSTs7QUFHdEIsVUFBVTtFQUNOLFdBQVcsRW5HckNVLHNCQUFzQjtFbUdzQ3ZDLEdBQUcsRUFDSCxtQ0FBd0MsRUFDeEMsbUNBQXdDLENBQUMsMkJBQTJCLEVBQ3BFLHFDQUEwQyxDQUFDLGVBQWUsRUFDMUQsb0NBQXlDLENBQUMsY0FBYyxFQUN4RCxtQ0FBd0MsQ0FBQyxrQkFBa0IsRUFDM0QsbUNBQXdDLENBQUMsYUFBYTtFQUMxRCxXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVBQUUsTUFBTTtFQUNsQixZQUFZLEVBQUUsSUFBSTs7QUN6SHRCLEFBQUEsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUM7RUFDakQsV0FBVyxFQUFFLEdBQUc7RUFDaEIsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLEtBQUssRXBHSkYsT0FBTyxHb0dLYjs7QUFFRCxBQUFBLEdBQUcsRUFBRSxFQUFFLENBQUM7RWxHd05KLFNBQVMsRUFzQ0QsVUFBMkI7RUFyQ25DLFdBQVcsRWtHeE5xQixPQUFFO0VBQ2xDLGFBQWEsRWxHNFBMLE9BQTJCO0VrRzNQbkMsY0FBYyxFQUFFLElBQUksR0FLdkI7RTNGMkNHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJMkZuRDVCLEFBQUEsR0FBRyxFQUFFLEVBQUUsQ0FBQztNbEd3TkosU0FBUyxFQXNDRCxRQUEyQjtNQXJDbkMsV0FBVyxFa0duTm1CLE9BQUUsR0FFbkM7O0FBRUQsQUFBQSxHQUFHLEVBQUUsRUFBRSxDQUFDO0VsRzhNSixTQUFTLEVBc0NELFVBQTJCO0VBckNuQyxXQUFXLEVrRzlNcUIsTUFBRTtFQUNsQyxhQUFhLEVsR2tQTCxRQUEyQixHa0d6T3RDO0UzRjhCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7STJGekM1QixBQUFBLEdBQUcsRUFBRSxFQUFFLENBQUM7TWxHOE1KLFNBQVMsRUFzQ0QsVUFBMkI7TUFyQ25DLFdBQVcsRWtHMU15QixNQUFFLEdBTXpDO0UzRjhCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7STJGekM1QixBQUFBLEdBQUcsRUFBRSxFQUFFLENBQUM7TWxHOE1KLFNBQVMsRUFzQ0QsSUFBMkI7TUFyQ25DLFdBQVcsRWtHdE1tQixNQUFFLEdBRW5DOztBQUVELEFBQUEsR0FBRyxFQUFFLEVBQUUsQ0FBQztFbEdpTUosU0FBUyxFQXNDRCxNQUEyQjtFQXJDbkMsV0FBVyxFa0dqTWUsT0FBRTtFQUM1QixhQUFhLEVsR3FPTCxPQUEyQixHa0dwT3RDOztBQUVELEFBQUEsR0FBRyxFQUFFLEVBQUUsQ0FBQztFbEc0TEosU0FBUyxFQXNDRCxPQUEyQjtFQXJDbkMsV0FBVyxFa0c1TGUsR0FBRTtFQUM1QixhQUFhLEVsR2dPTCxPQUEyQixHa0cvTnRDOztBQUVELEFBQUEsR0FBRyxFQUFFLEVBQUUsQ0FBQztFbEd1TEosU0FBUyxFQXNDRCxRQUEyQjtFQXJDbkMsV0FBVyxFa0d2TGUsT0FBRTtFQUM1QixhQUFhLEVsRzJOTCxPQUEyQixHa0cxTnRDOztBQUVELEFBQUEsR0FBRyxFQUFFLEVBQUUsQ0FBQztFbEdrTEosU0FBUyxFQXNDRCxTQUEyQjtFQXJDbkMsV0FBVyxFa0dsTGUsR0FBRTtFQUM1QixhQUFhLEVsR3NOTCxPQUEyQixHa0dqTnRDO0UzRk1HLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJMkZiNUIsQUFBQSxHQUFHLEVBQUUsRUFBRSxDQUFDO01sR2tMSixTQUFTLEVBc0NELElBQTJCO01BckNuQyxXQUFXLEVrRzlLbUIsTUFBRSxHQUVuQzs7QUFFRCxBQUNJLEtBREMsQUFDQSxhQUFhLENBQUM7RUFDWCxhQUFhLEVsRzZNVCxRQUEyQixHa0c1TWxDOztBQUhMLEFBT1ksS0FQUCxBQU9RLGdCQUFHLENBQUM7RUFDRCxLQUFLLEVwRzVEZCxPQUFPLEdvRzZERDs7QUFLYixBQUFBLEtBQUssQ0FBQztFbEcySkYsU0FBUyxFQXNDRCxRQUEyQjtFQXJDbkMsV0FBVyxFa0cxSmUsT0FBRTtFQUM1QixPQUFPLEVBQUUsS0FBSztFQUNkLGFBQWEsRWxHNkxMLE9BQTJCLEdrRzNHdEM7RUE5RUksQUFBRCxlQUFXLENBQUM7SWxHbUpaLFNBQVMsRUFzQ0QsU0FBMkI7SUFyQ25DLFdBQVcsRWtHbkptQixHQUFFO0lBQzVCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLGNBQWMsRUFBRSxTQUFTLEdBSzVCO0kzRjFCRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TTJGa0J2QixBQUFELGVBQVcsQ0FBQztRbEdtSlosU0FBUyxFQXNDRCxJQUEyQjtRQXJDbkMsV0FBVyxFa0c5SXVCLEtBQUUsR0FFbkM7RUFHQSxBQUFELFFBQUksQ0FBQztJbEd3SUwsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFa0d4SW1CLEdBQUUsR0FNL0I7STNGcENELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNMkY2QnZCLEFBQUQsUUFBSSxDQUFDO1FsR3dJTCxTQUFTLEVBc0NELElBQTJCO1FBckNuQyxXQUFXLEVrR3JJdUIsR0FBRSxHQUduQztFQUVBLEFBQUQsUUFBSSxDQUFDO0lsRytITCxTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEVrRy9IbUIsR0FBRTtJQUM1QixhQUFhLEVsR21LVCxTQUEyQixHa0c5SmxDO0kzRjdDRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TTJGc0N2QixBQUFELFFBQUksQ0FBQztRbEcrSEwsU0FBUyxFQXNDRCxRQUEyQjtRQXJDbkMsV0FBVyxFa0czSHVCLE9BQUUsR0FFbkM7RUFuQ0wsQUE2Q0ksS0E3Q0MsQUE2Q0EsSUFBSSxDQUFDO0lBQ0YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsWUFBWSxFbEdrSlIsUUFBMkIsR2tHNUdsQztJQXJGTCxBQWlEUSxLQWpESCxBQTZDQSxJQUFJLEFBSUEsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLEVBQUU7TUFDWCxRQUFRLEVBQUUsUUFBUTtNQUNsQixJQUFJLEVBQUUsQ0FBQztNbEdzSFgsV0FBVyxFRnpLSSxvQkFBb0IsRUV5S0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO01rR3BINUQsU0FBUyxFbEcySVQsSUFBMkI7TWtHMUkzQixLQUFLLEVwRzFIVixPQUFPLEdvRzJITDtJQXhEVCxBQTJEWSxLQTNEUCxBQTBESSxXQUFPLEFBQ0gsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU8sR0FDbkI7SUE3RGIsQUErRFksS0EvRFAsQUErRFEsY0FBRyxDQUFDO01BQ0QsWUFBWSxFbEdpSWhCLFNBQTJCLEdrRzFIMUI7TUF2RWIsQUFrRWdCLEtBbEVYLEFBK0RRLGNBQUcsQUFHQyxPQUFPLENBQUM7UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixLQUFLLEVwR3hJbEIsT0FBTztRb0d5SU0sU0FBUyxFbEc0SGpCLE9BQTJCLEdrRzNIdEI7SUF0RWpCLEFBMkVZLEtBM0VQLEFBMEVJLFdBQU8sQUFDSCxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTyxHQUNuQjtJQTdFYixBQWlGWSxLQWpGUCxBQWdGSSxXQUFPLEFBQ0gsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU8sR0FDbkI7O0FDekpiLEFBQUEsUUFBUSxDQUFDO0VBRUwsT0FBTyxFbkdxUUMsUUFBMkIsQ21HclFmLENBQUMsR0EyQnhCO0VBckJJLEFBQUQsV0FBSSxDQUFDO0lBQ0QsVUFBVSxFQUFFLHNDQUFnRixHQUMvRjtFQUVBLEFBQUQsV0FBSSxDQUFDO0lBQ0QsS0FBSyxFckdSTixPQUFPO0lxR1NOLFVBQVUsRXJHWlgsT0FBTyxHcUcwQlQ7SUFoQkEsQUFJRyxXQUpBLENBSUEsR0FBRyxDQUFDO01BQ0EsS0FBSyxFckdITixJQUFJLEdxR0lOO0lBTkosQUFRRyxXQVJBLENBUUEsS0FBSyxDQUFDO01uR2lLVixLQUFLLEVGdktFLElBQUk7TUV3S1gsVUFBVSxFRjFGTCxnQkFBZ0I7TUVxSXJCLFNBQVMsRUFzQ0QsU0FBMkI7TUFyQ25DLFdBQVcsRW1HNU11QixHQUFFLEdBSy9CO01BZkosQW5HOEtELFdtRzlLSSxDQVFBLEtBQUssQW5Hc0tSLE9BQU8sRW1HOUtQLFdBQUcsQ0FRQSxLQUFLLEFuR3NLRSxNQUFNLENBQUM7UUFDZCxLQUFLLEVGeExOLE9BQU87UUV5TE4sVUFBVSxFRmhHVCxnQkFBZ0IsR0VzR3BCO1FtR3RMQSxBbkdrTEcsV21HbExBLENBUUEsS0FBSyxBbkdzS1IsT0FBTyxBQUlILE1BQU0sRW1HbExWLFdBQUcsQ0FRQSxLQUFLLEFuR3NLRSxNQUFNLEFBSVosTUFBTSxDQUFDO1VBQ0osS0FBSyxFRjVMVixPQUFPO1VFNkxGLFVBQVUsRUZwR2IsZ0JBQWdCLEdFcUdoQjtNbUdyTEosQW5Hd0xELFdtR3hMSSxDQVFBLEtBQUssQW5HZ0xSLE9BQU8sQ0FBQztRQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7UW1HOUxBLEFuRzJMRyxXbUczTEEsQ0FRQSxLQUFLLEFuR2dMUixPQUFPLEFBR0gsTUFBTSxDQUFDO1VBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7TW1HN0xKLEFuR2dNRCxXbUdoTUksQ0FRQSxLQUFLLEFuR3dMUixNQUFNLENBQUM7UUFDSixLQUFLLEVGMU1OLE9BQU87UUUyTU4sVUFBVSxFRmxIVCxnQkFBZ0I7UUVtSGpCLGVBQWUsRUFBRSxJQUFJLEdBTXhCO1FtR3pNQSxBbkdxTUcsV21Hck1BLENBUUEsS0FBSyxBbkd3TFIsTUFBTSxBQUtGLE1BQU0sQ0FBQztVQUNKLFVBQVUsRUZ0SGIsZ0JBQWdCO1VFdUhiLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO01PeEpMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRNEZoRHZCLEFBUUcsV0FSQSxDQVFBLEtBQUssQ0FBQztVbkc2TVYsU0FBUyxFQXNDRCxRQUEyQjtVQXJDbkMsV0FBVyxFbUd6TTJCLE9BQUUsR0FFbkM7O0FDM0JULEFBQUEsY0FBYyxDQUFDO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixlQUFlLEVBQUUsYUFBYSxHQWNqQztFQVpJLEFBQUQscUJBQVEsQ0FBQztJQUNMLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsZUFBZSxFQUFFLGFBQWE7SUFDOUIsVUFBVSxFQUFFLEtBQUs7SUFDakIsVUFBVSxFQUFFLE1BQU07SUFDbEIsVUFBVSxFQUFFLE1BQU0sR0FLckI7SUFIRyxNQUFNLENBQUMsTUFBTSxPQUFPLGdCQUFnQixFQUFFLE1BQU0sS0FBSyxnQkFBZ0IsRUFBRSxJQUFJO01BUjFFLEFBQUQscUJBQVEsQ0FBQztRQVNELFVBQVUsRUFBRSxtQkFBNEIsR0FFL0M7O0FDZkEsQUFDRyxnQkFERyxBQUNGLEtBQUssRUFBTCxLQUFLLEEzRGdCVixhQUFhLEUyRGhCUixLQUFLLEEzRGdCVixhQUFhLEUyRGhCUixLQUFLLEEzRGdCVixhQUFhLEUyRGhCUixLQUFLLEEzRGdCVixhQUFhLEMyRGhCRjtFQUNILEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFckdtUVQsS0FBMkI7RXFHbFEzQixNQUFNLEVBQUUsTUFBTSxHQUNqQjs7QUNMVCxBQUdRLE1BSEYsQUFFRCxJQUFLLENBQUEsSUFBSSxDQUNMLGNBQWMsQ0FBQztFQUNaLEtBQUssRXhHVU4sSUFBSTtFd0dUSCxVQUFVLEV4R3NDVCxPQUFPLEd3R3JDWDs7QUFOVCxBQVFRLE1BUkYsQUFFRCxJQUFLLENBQUEsSUFBSSxDQU1MLGFBQWEsQ0FBQztFQUNYLEtBQUssRXhHSU4sSUFBSTtFd0dISCxVQUFVLEV4R2tDVixPQUFPLEd3R2pDVjs7QUFYVCxBQWFRLE1BYkYsQUFFRCxJQUFLLENBQUEsSUFBSSxDQVdMLGNBQWMsQ0FBQztFQUNaLEtBQUssRXhHQU4sSUFBSTtFd0dDSCxVQUFVLEV4RzhCVCxPQUFPLEd3RzdCWDs7QUFoQlQsQUFrQlEsTUFsQkYsQUFFRCxJQUFLLENBQUEsSUFBSSxDQWdCTCxXQUFXLENBQUM7RUFDVCxLQUFLLEV4R0xOLElBQUk7RXdHTUgsVUFBVSxFeEdJZixPQUFPLEd3R0hMOztBQUtULEFBQUEsV0FBVyxDQUFDO0VBQ1IsVUFBVSxFQUFFLElBQUk7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFdEd5T0MsUUFBMkIsQ3NHek9mLElBQUksQ3RHeU9oQixRQUEyQixDc0d6T0MsSUFBSTtFQUN4QyxNQUFNLEVBQUUsQ0FBQztFQUNULE1BQU0sRUFBRSxDQUFDO0VBQ1QsYUFBYSxFQUFFLENBQUMsR0E4RW5CO0VBcEZELEFBUUksV0FSTyxDQVFQLENBQUMsQ0FBQztJQUNFLFNBQVMsRUFBRSxVQUFVLEdBQ3hCO0VBVkwsQUFZSSxXQVpPLEFBWU4sT0FBTyxDQUFDO0lBQ0wsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRXhHckJYLE9BQU87SXdHc0JOLE9BQU8sRUFBRSxFQUFFLEdBQ2Q7RUFFQSxBQUFELG9CQUFVLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNLEdBTTFCO0kvRllELE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtNK0Z2QjFCLEFBQUQsb0JBQVUsQ0FBQztRQVFILE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFVBQVUsRUFBRSxNQUFNLEdBRXpCO0VBRUEsQUFBRCxrQkFBUSxDQUFDO0lBQ0wsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsSUFBSTtJQUNiLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRXRHb01DLE1BQTJCO0lzR25NL0IsS0FBSyxFdEdtTUQsTUFBMkI7SXNHbE0vQixLQUFLLEV4R3RERixJQUFJO0l3R3VEUCxPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxFQUFFO0lBQ1gsVUFBVSxFeEdTVCxJQUFHLENBQUMsUUFBUTtJd0dSYixNQUFNLEVBQUUsQ0FBQztJQUNULFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFNBQVMsRXRHNExMLE1BQTJCLEdzR3pLbEM7SUEvQkEsQUFjRyxrQkFkSSxBQWNILE9BQU8sQ0FBQztNQUNMLE9BQU8sRUFBRSxPQUFPO01BQ2hCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sSUFBSSxFQUFFLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO010RzZKaEIsV0FBVyxFRnpLSSxvQkFBb0IsRUV5S0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEdzRzNKL0Q7SUF0QkosQUF3Qkcsa0JBeEJJLEFBd0JILE1BQU0sQ0FBQztNQUNKLE9BQU8sRUFBRSxDQUFDLEdBQ2I7SUExQkosQUE0Qkcsa0JBNUJJLEFBNEJILE1BQU0sQ0FBQztNQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBbEVULEFBcUVJLFdBckVPLENBcUVQLEtBQUssQ0FBQztJQUNGLE9BQU8sRUFBRSxFQUFFO0lBQ1gsS0FBSyxFeEduRkYsSUFBSTtJd0dvRlAsYUFBYSxFdEdvS1QsUUFBMkI7SXNHbksvQixTQUFTLEVBQUUsSUFBSSxHQU1sQjtJQS9FTCxBQTJFUSxXQTNFRyxDQTJFRixZQUFPLENBQUM7TUFDTCxXQUFXLEVBQUUsSUFBSTtNQUNqQixhQUFhLEV0RytKYixTQUEyQixHc0c5SjlCO0VBOUVULEFBaUZJLFdBakZPLENBaUZQLElBQUksQ0FBQztJdEcyQ0wsS0FBSyxFRnpJRSxJQUFJO0lFMElYLFVBQVUsRUZqSVAsT0FBTyxHd0d1RlQ7SUFuRkwsQXRHaUlJLFdzR2pJTyxDQWlGUCxJQUFJLEF0R2dESCxNQUFNLENBQUM7TUFDSixLQUFLLEVGL0lGLElBQUk7TUVnSlAsVUFBVSxFQUFFLElBQTZCO01BQ3pDLGVBQWUsRUFBRSxJQUFJLEdBTXhCO01zRzFJTCxBdEdzSVEsV3NHdElHLENBaUZQLElBQUksQXRHZ0RILE1BQU0sQUFLRixNQUFNLENBQUM7UUFDSixVQUFVLEVBQUUsSUFBNkI7UUFDekMsZUFBZSxFQUFFLElBQUksR0FDeEI7SXNHeklULEF0RzRJSSxXc0c1SU8sQ0FpRlAsSUFBSSxBdEcyREgsT0FBTyxFc0c1SVosV0FBVyxDQWlGUCxJQUFJLEF0RzJETyxNQUFNLENBQUM7TUFDZCxLQUFLLEVGMUpGLElBQUk7TUUySlAsVUFBVSxFQUFFLElBQTZCLEdBTTVDO01zR3BKTCxBdEdnSlEsV3NHaEpHLENBaUZQLElBQUksQXRHMkRILE9BQU8sQUFJSCxNQUFNLEVzR2hKZixXQUFXLENBaUZQLElBQUksQXRHMkRPLE1BQU0sQUFJWixNQUFNLENBQUM7UUFDSixLQUFLLEVGOUpOLElBQUk7UUUrSkgsVUFBVSxFQUFFLElBQTZCLEdBQzVDOztBdUc5S1QsQUFBQSxLQUFLLENBQUM7RUFDRixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ3ZHc1FILFFBQTJCLEN1R3RRWixDQUFDO0VBQ3hCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsZUFBZSxFQUFFLElBQUksR0FzQnhCO0VBcEJJLEFBQUQsV0FBTyxDQUFDO0lBQ0osUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDdkdnUVYsUUFBMkIsR3VHcFBsQztJQWRBLEFBSUcsV0FKRyxBQUlGLE9BQU8sQ0FBQztNQUNMLE9BQU8sRUFBRSxFQUFFO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFdkcyUEgsUUFBMkI7TXVHMVAzQixJQUFJLEVBQUUsQ0FBQztNQUNQLEtBQUssRXZHeVBMLFNBQTJCO011R3hQM0IsTUFBTSxFdkd3UE4sU0FBMkI7TXVHdlAzQixhQUFhLEVBQUUsR0FBRztNQUNsQixVQUFVLEV6R0ZYLElBQUksR3lHR047RUFHSixBQUFELFdBQU8sQ0FBQztJdkdnS1IsS0FBSyxFRnRLRSxJQUFJO0lFdUtYLFVBQVUsRUYxRkwsZ0JBQWdCO0l5R3JFakIsTUFBTSxFQUFFLE9BQU8sR0FDbEI7SUFIQSxBdkdxS0QsV3VHcktPLEF2R3FLTixPQUFPLEV1R3JLUCxXQUFNLEF2R3FLSSxNQUFNLENBQUM7TUFDZCxLQUFLLEVGbEtOLE9BQU87TUVtS04sVUFBVSxFRmhHVCxnQkFBZ0IsR0VzR3BCO011RzdLQSxBdkd5S0csV3VHektHLEF2R3FLTixPQUFPLEFBSUgsTUFBTSxFdUd6S1YsV0FBTSxBdkdxS0ksTUFBTSxBQUlaLE1BQU0sQ0FBQztRQUNKLEtBQUssRUZ0S1YsT0FBTztRRXVLRixVQUFVLEVGcEdiLGdCQUFnQixHRXFHaEI7SXVHNUtKLEF2RytLRCxXdUcvS08sQXZHK0tOLE9BQU8sQ0FBQztNQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7TXVHckxBLEF2R2tMRyxXdUdsTEcsQXZHK0tOLE9BQU8sQUFHSCxNQUFNLENBQUM7UUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtJdUdwTEosQXZHdUxELFd1R3ZMTyxBdkd1TE4sTUFBTSxDQUFDO01BQ0osS0FBSyxFRnBMTixPQUFPO01FcUxOLFVBQVUsRUZsSFQsZ0JBQWdCO01FbUhqQixlQUFlLEVBQUUsSUFBSSxHQU14QjtNdUdoTUEsQXZHNExHLFd1RzVMRyxBdkd1TE4sTUFBTSxBQUtGLE1BQU0sQ0FBQztRQUNKLFVBQVUsRUZ0SGIsZ0JBQWdCO1FFdUhiLGVBQWUsRUFBRSxJQUFJLEdBQ3hCOztBdUd4TFQsQUFBQSxhQUFhLENBQUM7RUFDVixLQUFLLEV6R2RFLElBQUk7RXlHZVgsY0FBYyxFQUFFLFNBQVM7RUFDekIsV0FBVyxFQUFFLElBQUk7RUFDakIsZUFBZSxFQUFFLElBQUk7RUFDckIsYUFBYSxFQUFFLElBQUk7RUFDbkIsT0FBTyxFQUFFLENBQUM7RUFDVixXQUFXLEV2R29PSCxPQUEyQixHdUd4TnRDO0VBbkJELEFBU0ksYUFUUyxHQVNMLEVBQUUsQ0FBQztJQUNILFFBQVEsRUFBRSxRQUFRLEdBUXJCO0lBbEJMLEFBWVEsYUFaSyxHQVNMLEVBQUUsQUFHRCxPQUFPLENBQUM7TUFDTCxpQkFBaUIsRUFBRSxJQUFJO01BQ3ZCLE9BQU8sRUFBRSxhQUFhLENBQUMsR0FBRztNQUMxQixRQUFRLEVBQUUsUUFBUTtNQUNsQixJQUFJLEV2RzJOSixRQUEyQixHdUcxTjlCOztBQUlULEFBQUEseUJBQXlCLENBQUM7RUFDdEIsS0FBSyxFekc1QkYsT0FBTztFeUc2QlYsZUFBZSxFQUFFLElBQUk7RUFDckIsYUFBYSxFQUFFLE9BQU87RUFDdEIsTUFBTSxFdkdrTkUsTUFBMkIsQ3VHbE5oQixDQUFDO0VBQ3BCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFdBQVcsRUFBRSxNQUFNLEdBY3RCO0VBcEJELEFBUUkseUJBUnFCLEdBUWpCLEVBQUUsQ0FBQztJQUNILFFBQVEsRUFBRSxRQUFRO0lBQ2xCLGNBQWMsRXZHNE1WLFFBQTJCO0lBdENuQyxTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEV1R3RLbUIsTUFBRSxHQVEvQjtJQW5CTCxBQWFRLHlCQWJpQixHQVFqQixFQUFFLEFBS0QsT0FBTyxDQUFDO01BQ0wsaUJBQWlCLEVBQUUsT0FBTztNQUMxQixPQUFPLEVBQUUsYUFBYSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHO01BQy9DLFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRXZHcU1KLFVBQTJCLEd1R3BNOUI7O0FBSVQsQUFBQSx3QkFBd0IsQ0FBQztFQUNyQixhQUFhLEVBQUUsVUFBVTtFQUN6QixZQUFZLEV2RzhMSixPQUEyQjtFdUc3TG5DLE1BQU0sRXZHNkxFLE9BQTJCLEN1RzdMaEIsQ0FBQztFQUNwQixlQUFlLEVBQUUsSUFBSSxHQVl4QjtFQWhCRCxBQU1JLHdCQU5vQixHQU1oQixFQUFFLENBQUM7SUFDSCxRQUFRLEVBQUUsUUFBUSxHQVFyQjtJQWZMLEFBU1Esd0JBVGdCLEdBTWhCLEVBQUUsQUFHRCxPQUFPLENBQUM7TUFDTCxpQkFBaUIsRUFBRSxVQUFVO01BQzdCLE9BQU8sRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHO01BQ3ZFLFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRXZHbUxKLFNBQTJCLEd1R2xMOUI7O0FBSVQsQUFBQSx5QkFBeUIsQ0FBQztFQUN0QixhQUFhLEVBQUUsYUFBYTtFQUM1QixZQUFZLEV2RzRLSixJQUEyQjtFdUczS25DLE1BQU0sRXZHMktFLE9BQTJCLEN1RzNLaEIsQ0FBQztFQUNwQixlQUFlLEVBQUUsSUFBSSxHQVl4QjtFQWhCRCxBQU1JLHlCQU5xQixHQU1qQixFQUFFLENBQUM7SUFDSCxRQUFRLEVBQUUsUUFBUSxHQVFyQjtJQWZMLEFBU1EseUJBVGlCLEdBTWpCLEVBQUUsQUFHRCxPQUFPLENBQUM7TUFDTCxpQkFBaUIsRUFBRSxhQUFhO01BQ2hDLE9BQU8sRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsR0FBRztNQUNsRyxRQUFRLEVBQUUsUUFBUTtNQUNsQixJQUFJLEV2R2lLSixVQUEyQixHdUdoSzlCOztBQ3JHVCxBQUFBLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsR0FBZ0IsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQUFhO0VBQ3JDLGVBQWUsRUFBRSxTQUFTLEdBaUI3QjtFQWxCRCxBQUdJLEtBSEMsQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FHRCwyQkFBMkIsRUFIaEMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUc2QiwyQkFBMkIsRUFIOUQsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUcyRCxtQ0FBbUMsRUFIOUUsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQUd2QiwyQkFBMkIsRUFIVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLENBR08sMkJBQTJCLEVBSHhDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0FHcUMsbUNBQW1DLENBQUM7SUFDN0Ysa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBUEwsQUFTSSxLQVRDLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBU0QsTUFBTSxFQVRXLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0FTdkIsTUFBTSxDQUFDO0lBQ0osZUFBZSxFQUFFLFNBQVMsR0FPN0I7SUFqQkwsQUFZUSxLQVpILENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBU0QsTUFBTSxBQUdGLDJCQUEyQixFQVpwQyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBU0QsTUFBTSxBQUc0QiwyQkFBMkIsRUFabEUsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQVNELE1BQU0sQUFHMEQsbUNBQW1DLEVBWmxGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0FTdkIsTUFBTSxBQUdGLDJCQUEyQixFQVpkLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0FTdkIsTUFBTSxBQUc0QiwyQkFBMkIsRUFaNUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQVN2QixNQUFNLEFBRzBELG1DQUFtQyxDQUFDO01BQzdGLGtCQUFrQixFQUFFLElBQUk7TUFDeEIsTUFBTSxFQUFFLENBQUM7TUFDVCxPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFJVCxBQUdJLEtBSEMsQ0FHRCxLQUFLLEVBSFQsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0FLRixXQUFXLENBNURiO0VBQ0YsS0FBSyxFMUdKTixPQUFPO0VFMk1WLFNBQVMsRUFzQ0QsSUFBMkI7RUFyQ25DLFdBQVcsRXdHdk1tQixNQUFFO0VBQzVCLFdBQVcsRUFBRSxNQUFNLEdBQ3RCOztBQVBMLEFBU0ksS0FUQyxDQVNELGFBQWEsQ0FBQztFeEdrTWQsU0FBUyxFQXNDRCxJQUEyQjtFQXJDbkMsV0FBVyxFd0dsTW1CLE1BQUU7RUFDNUIsTUFBTSxFeEdzT0YsSUFBMkI7RXdHck8vQixNQUFNLEV6R0xGLEdBQUcsQ0FBQyxLQUFLLENESGQsT0FBTztFMEdTTixPQUFPLEV4R29PSCxRQUEyQixDQUEzQixRQUEyQjtFd0duTy9CLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsYUFBYSxFekdURixHQUFHLEd5R2NqQjtFQXRCTCxBQW1CUSxLQW5CSCxDQVNELGFBQWEsQUFVUixhQUFhLENBQUM7SUFDWCxLQUFLLEUxR3BCVixPQUFPLEcwR3FCTDs7QUFyQlQsQUF3QkksS0F4QkMsQ0F3QkQsV0FBVyxDQUFDO0VBQ1IsYUFBYSxFeEd3TlQsUUFBMkIsR3dHMENsQztFQTNSTCxBQTRCUSxLQTVCSCxDQXdCRCxXQUFXLEFBSU4sU0FBUyxDQUFDO0lBQ1AsU0FBUyxFQUFFLElBQUksR0FNbEI7SUFuQ1QsQUErQlksS0EvQlAsQ0F3QkQsV0FBVyxBQUlOLFNBQVMsQ0FHTixhQUFhLENBQUM7TUFDVixVQUFVLEUxR3hDZixJQUFJO00wR3lDQyxhQUFhLEV6R3pCVixHQUFHLEd5RzBCVDtFQWxDYixBQXFDUSxLQXJDSCxDQXdCRCxXQUFXLENBYVAsY0FBYyxDQUFDO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsVUFBVSxFMUcvQ1gsSUFBSTtJMEdnREgsYUFBYSxFekdoQ04sR0FBRyxHeUcyQ2I7SUFuRFQsQUEwQ1ksS0ExQ1AsQ0F3QkQsV0FBVyxDQWFQLGNBQWMsQUFLVCxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsRUFBRTtNQUNYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxHQUFHO01BQ1IsS0FBSyxFeEdtTVQsU0FBMkI7TXdHbE12QixLQUFLLEV4R2tNVCxPQUEyQjtNd0dqTXZCLE1BQU0sRXhHaU1WLE9BQTJCO013R2hNdkIsU0FBUyxFQUFFLGdCQUFnQixHQUM5QjtFQWxEYixBQXFEUSxLQXJESCxDQXdCRCxXQUFXLENBNkJQLFFBQVEsQ0FBQztJQUNMLE9BQU8sRXhHMkxQLFFBQTJCLENBQTNCLFFBQTJCO0l3RzFMM0IsTUFBTSxFeEcwTE4sUUFBMkIsR3dHekw5QjtFQXhEVCxBQTJEWSxLQTNEUCxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0FDRixLQUFLLENBQUM7SUFDRixPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQTdEYixBQW1FWSxLQW5FUCxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0FTRixjQUFjLENBQUM7SUFDWCxNQUFNLEVBQUUsT0FBTztJQUNmLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUk7SXhHcUl2QixTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEV3R3JJMkIsTUFBRTtJQUM1QixNQUFNLEV4R3lLVixJQUEyQjtJd0d4S3ZCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUdyRTFCLE9BQU87STBHc0VFLE9BQU8sRUFBRSxDQUFDLEN4R3VLZCxTQUEyQjtJd0d0S3ZCLGFBQWEsRUFBRSxHQUFHLEdBQ3JCO0VBNUViLEFBZ0ZnQixLQWhGWCxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0FvQkYsY0FBYyxBQUVULE9BQU8sQ0FBQztJQUNMLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBbEZqQixBQW9GZ0IsS0FwRlgsQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBb0JGLGNBQWMsQ0FNVixDQUFDLENBQUM7SUFDRSxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLFNBQVMsRUFBRSxnQkFBZ0IsR0FDOUI7RUF4RmpCLEFBMkZZLEtBM0ZQLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQWlDRixPQUFPLENBQUM7SUFDSixVQUFVLEUxRzVGbkIsT0FBTztJMEc2RkUsS0FBSyxFeEdvSlQsU0FBMkI7SXdHbkp2QixNQUFNLEVBQUUsSUFBSTtJQUNaLGFBQWEsRUFBRSxXQUFXO0lBQzFCLEdBQUcsRUFBRSxDQUFDO0lBQ04sS0FBSyxFQUFFLENBQUM7SUFDUixRQUFRLEVBQUUsUUFBUSxHQWFyQjtJQS9HYixBQW9HZ0IsS0FwR1gsQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBaUNGLE9BQU8sQUFTRixPQUFPLENBQUM7TXhHc0hqQixXQUFXLEVGektJLG9CQUFvQixFRXlLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TXdHcEhwRCxLQUFLLEUxRzlHZCxJQUFJO01FbU5YLFNBQVMsRUFzQ0QsU0FBMkI7TUFyQ25DLFdBQVcsRXdHckcrQixPQUFFO01BQzVCLE9BQU8sRUFBRSxPQUFPO01BQ2hCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxHQUFHO01BQ1IsS0FBSyxFeEdzSWIsU0FBMkI7TXdHckluQixTQUFTLEVBQUUsZ0JBQWdCO01BQzNCLE9BQU8sRUFBRSxDQUFDLEdBQ2I7RUE5R2pCLEFBaUhZLEtBakhQLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQXVERixPQUFPLENBQUM7SUFDSixPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsT0FBTyxHQUNsQjtFQXBIYixBQXlIWSxLQXpIUCxDQXdCRCxXQUFXLEFBK0ZOLE9BQU8sQ0FFSixNQUFNLENBQUM7SUFDSCxrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLE1BQU0sRUFBRSxPQUFPLEdBS2xCO0lBbEliLEFBK0hnQixLQS9IWCxDQXdCRCxXQUFXLEFBK0ZOLE9BQU8sQ0FFSixNQUFNLEFBTUQsWUFBWSxDQUFDO01BQ1YsT0FBTyxFQUFFLElBQUksR0FDaEI7RUFqSWpCLEFBcUlnQixLQXJJWCxDQXdCRCxXQUFXLEFBK0ZOLE9BQU8sQ0FhSixjQUFjLEFBQ1QsT0FBTyxDQUFDO0lBQ0wsT0FBTyxFQUFFLE9BQU87SUFFaEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsS0FBSyxFeEd3R2IsT0FBMkI7SXdHdkduQixNQUFNLEV4R3VHZCxPQUEyQjtJd0d0R25CLFNBQVMsRXhHc0dqQixTQUEyQjtJQTFCL0IsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0l3RzFFcEQsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixlQUFlLEVBQUUsTUFBTTtJQUN2QixLQUFLLEUxRzlJbEIsT0FBTyxHMEcrSUc7RUFqSmpCLEFBb0pZLEtBcEpQLENBd0JELFdBQVcsQUErRk4sT0FBTyxDQTZCSixhQUFhLENBQUM7SUFDVixPQUFPLEV4RzRGWCxRQUEyQixDQUEzQixRQUEyQixDQUEzQixRQUEyQixDQUEzQixRQUEyQixHd0czRjFCO0VBdEpiLEFBMEpZLEtBMUpQLENBd0JELFdBQVcsQUFpSU4sT0FBTyxDQUNKLGNBQWMsQ0FBQztJQUNYLFFBQVEsRUFBRSxRQUFRLEdBWXJCO0lBdktiLEFBNkpnQixLQTdKWCxDQXdCRCxXQUFXLEFBaUlOLE9BQU8sQ0FDSixjQUFjLENBR1YsU0FBUyxDQUFDO01BQ04sVUFBVSxFMUc5SnZCLE9BQU8sQzBHOEoyQyxxQ0FBd0MsQ0FBQyxTQUFTLENBQUMsV0FBYSxDQUFDLElBQUk7TUFDMUcsS0FBSyxFeEdrRmIsSUFBMkI7TXdHakZuQixNQUFNLEVBQUUsSUFBSTtNQUNaLGFBQWEsRUFBRSxXQUFXO01BQzFCLEtBQUssRUFBRSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsTUFBTSxFQUFFLENBQUM7TUFDVCxPQUFPLEVBQUUsQ0FBQyxHQUNiO0VBdEtqQixBQTRLZ0IsS0E1S1gsQ0F3QkQsV0FBVyxBQWtKTixXQUFXLENBQ1IsY0FBYyxBQUNULE9BQU8sQ0FBQztJQUNMLFVBQVUsRUFBRSxtQ0FBc0MsQ0FBQyxTQUFTLENBQUMsWUFBYyxHQUM5RTtFQTlLakIsQUFpTFksS0FqTFAsQ0F3QkQsV0FBVyxBQWtKTixXQUFXLENBT1IsS0FBSyxDQUFDO0lBQ0YsTUFBTSxFQUFFLE9BQU8sR0FDbEI7RUFuTGIsQUF1TFksS0F2TFAsQ0F3QkQsV0FBVyxBQThKTixRQUFRLENBQ0wsYUFBYSxDQUFDO0lBQ1YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxR2xLcEIsT0FBTyxHMEd1S1A7SUE3TGIsQUEwTGdCLEtBMUxYLENBd0JELFdBQVcsQUE4Sk4sUUFBUSxDQUNMLGFBQWEsQUFHUixhQUFhLENBQUM7TUFDWCxLQUFLLEUxR3JLWixPQUFPLEcwR3NLSDtFQTVMakIsQUFpTWdCLEtBak1YLENBd0JELFdBQVcsQUE4Sk4sUUFBUSxDQVNMLGNBQWMsQUFFVCxPQUFPLENBQUM7SUFDTCxPQUFPLEVBQUUsT0FBTztJQUNoQixVQUFVLEVBQUUsZ0NBQW1DLENBQUMsU0FBUyxDQUFDLFlBQWMsR0FDM0U7RUFwTWpCLEFBdU1ZLEtBdk1QLENBd0JELFdBQVcsQUE4Sk4sUUFBUSxDQWlCTCxPQUFPLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQXpNYixBQThNWSxLQTlNUCxDQXdCRCxXQUFXLEFBb0xOLE9BQU8sQ0FFSixhQUFhLENBQUM7SUFDVixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHeExyQixPQUFPLEcwRzZMTjtJQXBOYixBQWlOZ0IsS0FqTlgsQ0F3QkQsV0FBVyxBQW9MTixPQUFPLENBRUosYUFBYSxBQUdSLGFBQWEsQ0FBQztNQUNYLEtBQUssRTFHM0xiLE9BQU8sRzBHNExGO0VBbk5qQixBQXdOZ0IsS0F4TlgsQ0F3QkQsV0FBVyxBQW9MTixPQUFPLENBVUosY0FBYyxBQUVULE9BQU8sQ0FBQztJQUNMLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFVBQVUsRUFBRSxpQ0FBb0MsQ0FBQyxTQUFTLENBQUMsWUFBYyxHQUM1RTtFQTNOakIsQUE4TlksS0E5TlAsQ0F3QkQsV0FBVyxBQW9MTixPQUFPLENBa0JKLE9BQU8sQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBaE9iLEFBb09ZLEtBcE9QLENBd0JELFdBQVcsQUEyTU4sUUFBUSxDQUNMLGFBQWEsQ0FBQztJQUNWLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUc3TXBCLE9BQU8sRzBHOE1QO0VBdE9iLEFBME9nQixLQTFPWCxDQXdCRCxXQUFXLEFBMk1OLFFBQVEsQ0FLTCxjQUFjLEFBRVQsT0FBTyxDQUFDO0lBQ0wsT0FBTyxFQUFFLE9BQU87SUFDaEIsVUFBVSxFQUFFLGtDQUFxQyxDQUFDLFNBQVMsQ0FBQyxZQUFjO0lBQzFFLEtBQUssRXhHSWIsT0FBMkI7SXdHSG5CLE1BQU0sRXhHR2QsT0FBMkI7SXdHRm5CLEtBQUssRXhHRWIsU0FBMkI7SXdHRG5CLE9BQU8sRUFBRSxFQUFFLEdBQ2Q7RUFqUGpCLEFBb1BZLEtBcFBQLENBd0JELFdBQVcsQUEyTU4sUUFBUSxDQWlCTCxPQUFPLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQXRQYixBQTBQWSxLQTFQUCxDQXdCRCxXQUFXLEFBaU9OLFVBQVUsQ0FDUCxhQUFhLENBQUM7SUFDVixLQUFLLEUxR2pPVixPQUFPO0kwR2tPRixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHck9yQixPQUFPLEcwRzBPTjtFQWpRYixBQXFRZ0IsS0FyUVgsQ0F3QkQsV0FBVyxBQWlPTixVQUFVLENBVVAsY0FBYyxBQUVULE9BQU8sQ0FBQztJQUNMLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFVBQVUsRUFBRSxpQ0FBb0MsQ0FBQyxTQUFTLENBQUMsWUFBYztJQUN6RSxLQUFLLEV4R3ZCYixPQUEyQjtJd0d3Qm5CLE1BQU0sRXhHeEJkLE9BQTJCO0l3R3lCbkIsS0FBSyxFeEd6QmIsU0FBMkIsR3dHMEJ0QjtFQTNRakIsQUE2UWdCLEtBN1FYLENBd0JELFdBQVcsQUFpT04sVUFBVSxDQVVQLGNBQWMsQUFVVCxNQUFNLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQS9RakIsQUFpUmdCLEtBalJYLENBd0JELFdBQVcsQUFpT04sVUFBVSxDQVVQLGNBQWMsQ0FjVixjQUFjLENBQUM7SUFDWCxLQUFLLEUxR3hQZCxPQUFPO0kwR3lQRSxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHelAxQixPQUFPLEcwRzBQRDtFQXBSakIsQUF1UlksS0F2UlAsQ0F3QkQsV0FBVyxBQWlPTixVQUFVLENBOEJQLE9BQU8sQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQXpSYixBQW1TSSxLQW5TQyxDQW1TRCxjQUFjLEVBblNsQixLQUFLLENBbVNlLFdBQVcsQ0FBQztFQUN4QixPQUFPLEVBQUUsWUFBWSxHQWdFeEI7RUFwV0wsQUFzU1EsS0F0U0gsQ0FtU0QsY0FBYyxDQUdWLEtBQUssRUF0U2IsS0FBSyxDQW1TRCxjQUFjLENBM1FkLFdBQVcsQUFrQ04sS0FBSyxDQUtGLFdBQVcsRUEvRHZCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBeU9WLGNBQWMsQ0FwT04sV0FBVyxFQS9EdkIsS0FBSyxDQW1TZSxXQUFXLENBR3ZCLEtBQUssRUF0U2IsS0FBSyxDQW1TZSxXQUFXLENBM1EzQixXQUFXLEFBa0NOLEtBQUssQ0FLRixXQUFXLEVBL0R2QixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQXlPTSxXQUFXLENBcE9uQixXQUFXLENBdU9UO0lBQ0YsTUFBTSxFQUFFLE9BQU87SUFDZixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLE1BQU0sRUFBRSxDQUFDLEdBQ1o7RUEzU1QsQUE2U1EsS0E3U0gsQ0FtU0QsY0FBYyxDQVVWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSUFBbUIsS0FBSyxDQUFDLElBQUksRUE3UzNDLEtBQUssQ0FtU0QsY0FBYyxDQTNRZCxXQUFXLEFBa0NOLEtBQUssQ0FtUE4sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQTlPRixXQUFXLENBOE9nQixJQUFJLEVBN1MzQyxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQXlPVixjQUFjLENBVVYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQTlPRixXQUFXLENBOE9nQixJQUFJLEVBN1MzQyxLQUFLLENBbVNlLFdBQVcsQ0FVdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQUFtQixLQUFLLENBQUMsSUFBSSxFQTdTM0MsS0FBSyxDQW1TZSxXQUFXLENBM1EzQixXQUFXLEFBa0NOLEtBQUssQ0FtUE4sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQTlPRixXQUFXLENBOE9nQixJQUFJLEVBN1MzQyxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQXlPTSxXQUFXLENBVXZCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSUE5T0YsV0FBVyxDQThPZ0IsSUFBSSxDQUFDO0lBQ2hDLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsQ0FBQyxDeEdoRVQsUUFBMkIsQ3dHZ0VOLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUcvU3RCLE9BQU87STBHZ1RGLFVBQVUsRTFHNVRYLElBQUk7STBHNlRILE1BQU0sRUFBRSxPQUFPO0lBQ2YsUUFBUSxFQUFFLFFBQVEsR0FDckI7RUF2VFQsQUF5VFEsS0F6VEgsQ0FtU0QsY0FBYyxDQXNCVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLElBQWdCLEtBQUssQ0FBQyxJQUFJLEVBelR4QyxLQUFLLENBbVNELGNBQWMsQ0EzUWQsV0FBVyxBQWtDTixLQUFLLENBK1BOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUExUEYsV0FBVyxDQTBQYSxJQUFJLEVBelR4QyxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQXlPVixjQUFjLENBc0JWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUExUEYsV0FBVyxDQTBQYSxJQUFJLEVBelR4QyxLQUFLLENBbVNlLFdBQVcsQ0FzQnZCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUFBZ0IsS0FBSyxDQUFDLElBQUksRUF6VHhDLEtBQUssQ0FtU2UsV0FBVyxDQTNRM0IsV0FBVyxBQWtDTixLQUFLLENBK1BOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUExUEYsV0FBVyxDQTBQYSxJQUFJLEVBelR4QyxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQXlPTSxXQUFXLENBc0J2QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLElBMVBGLFdBQVcsQ0EwUGEsSUFBSSxDQUFDO0lBQzdCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsQ0FBQyxDeEc1RVQsUUFBMkIsQ3dHNEVOLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUczVHRCLE9BQU87STBHNFRGLFVBQVUsRTFHeFVYLElBQUk7STBHeVVILE1BQU0sRUFBRSxPQUFPO0lBQ2YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsYUFBYSxFQUFFLEdBQUcsR0FDckI7RUFwVVQsQUFzVVEsS0F0VUgsQ0FtU0QsY0FBYyxDQW1DVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEdBdFVkLEtBQUssQ0FtU2UsV0FBVyxDQW1DdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQUFjO0lBQ2hCLE9BQU8sRUFBRSxJQUFJLEdBS2hCO0lBNVVULEFBeVVZLEtBelVQLENBbVNELGNBQWMsQ0FtQ1YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUdELFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxFQXpVbEMsS0FBSyxDQW1TRCxjQUFjLENBM1FkLFdBQVcsQUFrQ04sS0FBSyxDQTRRTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBR0QsUUFBUSxHQTFRVCxXQUFXLENBMFFPLElBQUksRUF6VWxDLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBeU9WLGNBQWMsQ0FtQ1YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUdELFFBQVEsR0ExUVQsV0FBVyxDQTBRTyxJQUFJLEVBelVsQyxLQUFLLENBbVNlLFdBQVcsQ0FtQ3ZCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FHRCxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksRUF6VWxDLEtBQUssQ0FtU2UsV0FBVyxDQTNRM0IsV0FBVyxBQWtDTixLQUFLLENBNFFOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FHRCxRQUFRLEdBMVFULFdBQVcsQ0EwUU8sSUFBSSxFQXpVbEMsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0F5T00sV0FBVyxDQW1DdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUdELFFBQVEsR0ExUVQsV0FBVyxDQTBRTyxJQUFJLENBQUM7TUFDbkIsVUFBVSxFMUdsVmYsSUFBSSxDMEdrVitDLGlDQUFvQyxDQUFDLFNBQVMsQ0FBQyxXQUFhLENBQUMsSUFBSSxHQUNsSDtFQTNVYixBQThVUSxLQTlVSCxDQW1TRCxjQUFjLENBMkNWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsR0E5VWQsS0FBSyxDQW1TZSxXQUFXLENBMkN2QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEVBQWlCO0lBQ25CLE9BQU8sRUFBRSxJQUFJLEdBS2hCO0lBcFZULEFBaVZZLEtBalZQLENBbVNELGNBQWMsQ0EyQ1YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQUdELFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxFQWpWbEMsS0FBSyxDQW1TRCxjQUFjLENBM1FkLFdBQVcsQUFrQ04sS0FBSyxDQW9STixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBR0QsUUFBUSxHQWxSVCxXQUFXLENBa1JPLElBQUksRUFqVmxDLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBeU9WLGNBQWMsQ0EyQ1YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQUdELFFBQVEsR0FsUlQsV0FBVyxDQWtSTyxJQUFJLEVBalZsQyxLQUFLLENBbVNlLFdBQVcsQ0EyQ3ZCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FHRCxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksRUFqVmxDLEtBQUssQ0FtU2UsV0FBVyxDQTNRM0IsV0FBVyxBQWtDTixLQUFLLENBb1JOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FHRCxRQUFRLEdBbFJULFdBQVcsQ0FrUk8sSUFBSSxFQWpWbEMsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0F5T00sV0FBVyxDQTJDdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQUdELFFBQVEsR0FsUlQsV0FBVyxDQWtSTyxJQUFJLENBQUM7TUFDbkIsVUFBVSxFMUcxVmYsSUFBSSxDMEcwVitDLGdDQUFtQyxDQUFDLFNBQVMsQ0FBQyxjQUFnQixHQUMvRztFQW5WYixBQXVWWSxLQXZWUCxDQW1TRCxjQUFjLEFBbURULFVBQVUsQ0FDUCxLQUFLLEVBdlZqQixLQUFLLENBbVNELGNBQWMsQUFtRFQsVUFBVSxDQTlUZixXQUFXLEFBa0NOLEtBQUssQ0FLRixXQUFXLEVBL0R2QixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQXlPVixjQUFjLEFBbURULFVBQVUsQ0F2UlAsV0FBVyxFQS9EdkIsS0FBSyxDQW1TZSxXQUFXLEFBbUR0QixVQUFVLENBQ1AsS0FBSyxFQXZWakIsS0FBSyxDQW1TZSxXQUFXLEFBbUR0QixVQUFVLENBOVRmLFdBQVcsQUFrQ04sS0FBSyxDQUtGLFdBQVcsRUEvRHZCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBeU9NLFdBQVcsQUFtRHRCLFVBQVUsQ0F2UlAsV0FBVyxDQXdSTDtJQUNGLEtBQUssRTFHOVRWLE9BQU8sRzBHK1RMO0VBelZiLEFBMlZZLEtBM1ZQLENBbVNELGNBQWMsQUFtRFQsVUFBVSxDQUtQLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSUFBbUIsS0FBSyxDQUFDLElBQUksRUEzVi9DLEtBQUssQ0FtU0QsY0FBYyxBQW1EVCxVQUFVLENBOVRmLFdBQVcsQUFrQ04sS0FBSyxDQWlTRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBNVJOLFdBQVcsQ0E0Um9CLElBQUksRUEzVi9DLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBeU9WLGNBQWMsQUFtRFQsVUFBVSxDQUtQLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSUE1Uk4sV0FBVyxDQTRSb0IsSUFBSSxFQTNWL0MsS0FBSyxDQW1TZSxXQUFXLEFBbUR0QixVQUFVLENBS1AsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQUFtQixLQUFLLENBQUMsSUFBSSxFQTNWL0MsS0FBSyxDQW1TZSxXQUFXLEFBbUR0QixVQUFVLENBOVRmLFdBQVcsQUFrQ04sS0FBSyxDQWlTRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBNVJOLFdBQVcsQ0E0Um9CLElBQUksRUEzVi9DLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBeU9NLFdBQVcsQUFtRHRCLFVBQVUsQ0FLUCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBNVJOLFdBQVcsQ0E0Um9CLElBQUksQ0FBQztJQUNoQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHbFV0QixPQUFPLEcwR21VTDtFQTdWYixBQStWWSxLQS9WUCxDQW1TRCxjQUFjLEFBbURULFVBQVUsQ0FTUCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLElBQWdCLEtBQUssQ0FBQyxJQUFJLEVBL1Y1QyxLQUFLLENBbVNELGNBQWMsQUFtRFQsVUFBVSxDQTlUZixXQUFXLEFBa0NOLEtBQUssQ0FxU0YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJQWhTTixXQUFXLENBZ1NpQixJQUFJLEVBL1Y1QyxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQXlPVixjQUFjLEFBbURULFVBQVUsQ0FTUCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLElBaFNOLFdBQVcsQ0FnU2lCLElBQUksRUEvVjVDLEtBQUssQ0FtU2UsV0FBVyxBQW1EdEIsVUFBVSxDQVNQLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUFBZ0IsS0FBSyxDQUFDLElBQUksRUEvVjVDLEtBQUssQ0FtU2UsV0FBVyxBQW1EdEIsVUFBVSxDQTlUZixXQUFXLEFBa0NOLEtBQUssQ0FxU0YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJQWhTTixXQUFXLENBZ1NpQixJQUFJLEVBL1Y1QyxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQXlPTSxXQUFXLEFBbUR0QixVQUFVLENBU1AsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJQWhTTixXQUFXLENBZ1NpQixJQUFJLENBQUM7SUFDN0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxR3RVdEIsT0FBTyxHMEd1VUw7O0FBTWIsQUFBQSxPQUFPLENBQUM7RUFDSixRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsT0FBTyxHQUNoQjs7QUMvWEQ7Ozs7OztHQU1HO0FDTEgsQUFBQSxVQUFVLENBQUM7RUFDUCxPQUFPLEVEU3NCLElBQUksQ0FESixJQUFJO0VDUGpDLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE1BQU0sRUFBRSxPQUFPO0VBRWYsbUJBQW1CLEVBQUUsZUFBZTtFQUNwQyxtQkFBbUIsRUFBRSxLQUFLO0VBQzFCLDBCQUEwQixFQUFFLE1BQU07RUFHbEMsSUFBSSxFQUFFLE9BQU87RUFDYixLQUFLLEVBQUUsT0FBTztFQUNkLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsQ0FBQztFQUNULFFBQVEsRUFBRSxPQUFPLEdBeUJwQjtFQXpDRCxBQWtCSSxVQWxCTSxBQWtCTCxNQUFNLENBQUM7SUFJQSxPQUFPLEVETmMsQ0FBQyxHQ1E3QjtFQXhCTCxBQTJCUSxVQTNCRSxBQTBCTCxVQUFVLEFBQ04sTUFBTSxDQUFDO0lBSUEsT0FBTyxFRGJVLENBQUMsR0NlekI7RUFqQ1QsQUFtQ1EsVUFuQ0UsQUEwQkwsVUFBVSxDQVNQLGdCQUFnQjtFQW5DeEIsVUFBVSxBQTBCTCxVQUFVLENBVVAsZ0JBQWdCLEFBQUEsUUFBUTtFQXBDaEMsVUFBVSxBQTBCTCxVQUFVLENBV1AsZ0JBQWdCLEFBQUEsT0FBTyxDQUFDO0lBQ3BCLGdCQUFnQixFRHJCSyxPQUFPLEdDc0IvQjs7QUFJVCxBQUFBLGNBQWMsQ0FBQztFQUNYLEtBQUssRURqQ3dCLElBQUk7RUNrQ2pDLE1BQU0sRUFBRSxJQUEwRDtFQUNsRSxPQUFPLEVBQUUsWUFBWTtFQUNyQixRQUFRLEVBQUUsUUFBUSxHQVlyQjtFQWhCRCxBQU1JLGNBTlUsQUFNVCxPQUFPLENBQUM7SUFDTCxPQUFPLEVBQUUsTUFBTTtJQUNmLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLEdBQUcsRTFHZ05DLFNBQTJCO0kwRy9NL0IsSUFBSSxFQUFFLEdBQUc7SUFDVCxTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLEtBQUssRTVHNUNGLElBQUk7SUVtTlgsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFMEd2S2tCLE9BQUMsR0FDN0I7O0FBR0wsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLE9BQU8sRUFBRSxLQUFLO0VBQ2QsR0FBRyxFQUFFLEdBQUc7RUFDUixVQUFVLEVBQUUsTUFBNEIsR0ErQjNDO0VBbENELEFBS0ksZ0JBTFksRUFBaEIsZ0JBQWdCLEFBTVgsUUFBUSxFQU5iLGdCQUFnQixBQU9YLE9BQU8sQ0FBQztJQUNMLEtBQUssRUQxRG9CLElBQUk7SUMyRDdCLE1BQU0sRUQxRG1CLEdBQUc7SUMyRDVCLGdCQUFnQixFRHpEUyxPQUFPO0lDMERoQyxhQUFhLEVEekRZLEdBQUc7SUMwRDVCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLG1CQUFtQixFQUFFLFNBQVM7SUFDOUIsbUJBQW1CLEVBQUUsS0FBSztJQUMxQiwwQkFBMEIsRUFBRSxJQUFJLEdBQ25DO0VBaEJMLEFBa0JJLGdCQWxCWSxBQWtCWCxRQUFRLEVBbEJiLGdCQUFnQixBQW1CWCxPQUFPLENBQUM7SUFDTCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2pCO0VBdEJMLEFBd0JJLGdCQXhCWSxBQXdCWCxRQUFRLENBQUM7SUFDTixHQUFHLEVBQUUsSUFBeUQ7SUFDOUQsS0FBSyxFQUFFLENBQUM7SUFDUixJQUFJLEVBQUUsSUFBSTtJQUNWLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUE3QkwsQUErQkksZ0JBL0JZLEFBK0JYLE9BQU8sQ0FBQztJQUNMLE1BQU0sRUFBRSxJQUF5RCxHQUNwRTs7QUMvRkg7O0tBRUc7QUFDSCxBQUNFLGVBRGEsQ0FDYixjQUFjLENBQUM7RUFDYixXQUFXLEVBQUUsSUFBMEIsR0FDeEM7O0FBSEgsQUFLRSxlQUxhLENBS2IsZ0JBQWdCLENBQUM7RUFDZixVQUFVLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsRUFDcEQsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsR0FNMUU7RUFiSCxBQVNJLGVBVFcsQ0FLYixnQkFBZ0IsQUFJYixRQUFRLEVBVGIsZUFBZSxDQUtiLGdCQUFnQixBQUtiLE9BQU8sQ0FBQztJQUNQLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsR0FDbkU7O0FBWkwsQUFnQkksZUFoQlcsQUFlWixVQUFVLENBQ1QsZ0JBQWdCLENBQUM7RUFDZixnQkFBZ0IsRUFBRSxzQkFBc0I7RUFDeEMsU0FBUyxFQUFFLGVBQWUsR0FTM0I7RUEzQkwsQUFvQk0sZUFwQlMsQUFlWixVQUFVLENBQ1QsZ0JBQWdCLEFBSWIsUUFBUSxDQUFDO0lBQ1IsU0FBUyxFQUFFLHNCQUFxRSxDQUFDLGFBQWEsR0FDL0Y7RUF0QlAsQUF3Qk0sZUF4QlMsQUFlWixVQUFVLENBQ1QsZ0JBQWdCLEFBUWIsT0FBTyxDQUFDO0lBQ1AsU0FBUyxFQUFFLHVCQUE0RSxDQUFDLGNBQWMsR0FDdkc7O0FDN0JQOztLQUVHO0FBQ0gsQUFDRSxpQkFEZSxDQUNmLGNBQWMsQ0FBQztFQUNiLFdBQVcsRUFBRSxJQUEwQixHQUN4Qzs7QUFISCxBQUtFLGlCQUxlLENBS2YsZ0JBQWdCLENBQUM7RUFDZixVQUFVLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsRUFDcEQsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsR0FNMUU7RUFiSCxBQVNJLGlCQVRhLENBS2YsZ0JBQWdCLEFBSWIsUUFBUSxFQVRiLGlCQUFpQixDQUtmLGdCQUFnQixBQUtiLE9BQU8sQ0FBQztJQUNQLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsR0FDbkU7O0FBWkwsQUFnQkksaUJBaEJhLEFBZWQsVUFBVSxDQUNULGdCQUFnQixDQUFDO0VBQ2YsZ0JBQWdCLEVBQUUsc0JBQXNCO0VBQ3hDLFNBQVMsRUFBRSxnQkFBZ0IsR0FTNUI7RUEzQkwsQUFvQk0saUJBcEJXLEFBZWQsVUFBVSxDQUNULGdCQUFnQixBQUliLFFBQVEsQ0FBQztJQUNSLFNBQVMsRUFBRSxzQkFBcUUsQ0FBQyxhQUFhLEdBQy9GO0VBdEJQLEFBd0JNLGlCQXhCVyxBQWVkLFVBQVUsQ0FDVCxnQkFBZ0IsQUFRYixPQUFPLENBQUM7SUFDUCxTQUFTLEVBQUUsdUJBQTRFLENBQUMsY0FBYyxHQUN2Rzs7QUM3QlA7O0tBRUc7QUFDSCxBQUNFLGVBRGEsQ0FDYixjQUFjLENBQUM7RUFDYixXQUFXLEVBQUUsSUFBMEIsR0FDeEM7O0FBSEgsQUFLRSxlQUxhLENBS2IsZ0JBQWdCLENBQUM7RUFDZixVQUFVLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsRUFDcEQsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsR0FNMUU7RUFiSCxBQVNJLGVBVFcsQ0FLYixnQkFBZ0IsQUFJYixRQUFRLEVBVGIsZUFBZSxDQUtiLGdCQUFnQixBQUtiLE9BQU8sQ0FBQztJQUNQLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsR0FDbkU7O0FBWkwsQUFnQkksZUFoQlcsQUFlWixVQUFVLENBQ1QsZ0JBQWdCLENBQUM7RUFDZixnQkFBZ0IsRUFBRSxzQkFBc0I7RUFDeEMsU0FBUyxFQUFFLGdCQUFnQixHQVM1QjtFQTNCTCxBQW9CTSxlQXBCUyxBQWVaLFVBQVUsQ0FDVCxnQkFBZ0IsQUFJYixRQUFRLENBQUM7SUFDUixTQUFTLEVBQUUsc0JBQXFFLENBQUMsYUFBYSxHQUMvRjtFQXRCUCxBQXdCTSxlQXhCUyxBQWVaLFVBQVUsQ0FDVCxnQkFBZ0IsQUFRYixPQUFPLENBQUM7SUFDUCxTQUFTLEVBQUUsdUJBQTRFLENBQUMsY0FBYyxHQUN2Rzs7QUM3QlA7O0tBRUc7QUFDSCxBQUNFLGlCQURlLENBQ2YsY0FBYyxDQUFDO0VBQ2IsV0FBVyxFQUFFLElBQTBCLEdBQ3hDOztBQUhILEFBS0UsaUJBTGUsQ0FLZixnQkFBZ0IsQ0FBQztFQUNmLFVBQVUsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxFQUNwRCxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxHQU0xRTtFQWJILEFBU0ksaUJBVGEsQ0FLZixnQkFBZ0IsQUFJYixRQUFRLEVBVGIsaUJBQWlCLENBS2YsZ0JBQWdCLEFBS2IsT0FBTyxDQUFDO0lBQ1AsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxHQUNuRTs7QUFaTCxBQWdCSSxpQkFoQmEsQUFlZCxVQUFVLENBQ1QsZ0JBQWdCLENBQUM7RUFDZixnQkFBZ0IsRUFBRSxzQkFBc0I7RUFDeEMsU0FBUyxFQUFFLGVBQWUsR0FTM0I7RUEzQkwsQUFvQk0saUJBcEJXLEFBZWQsVUFBVSxDQUNULGdCQUFnQixBQUliLFFBQVEsQ0FBQztJQUNSLFNBQVMsRUFBRSxzQkFBcUUsQ0FBQyxhQUFhLEdBQy9GO0VBdEJQLEFBd0JNLGlCQXhCVyxBQWVkLFVBQVUsQ0FDVCxnQkFBZ0IsQUFRYixPQUFPLENBQUM7SUFDUCxTQUFTLEVBQUUsdUJBQTRFLENBQUMsY0FBYyxHQUN2Rzs7QUM3QlA7O0tBRUc7QUFDSCxBQUNFLGdCQURjLENBQ2QsY0FBYyxDQUFDO0VBQ2IsV0FBVyxFQUFFLElBQTBCLEdBQ3hDOztBQUhILEFBS0UsZ0JBTGMsQ0FLZCxnQkFBZ0IsQ0FBQztFQUNmLFVBQVUsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxFQUNwRCxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxHQU0xRTtFQWJILEFBU0ksZ0JBVFksQ0FLZCxnQkFBZ0IsQUFJYixRQUFRLEVBVGIsZ0JBQWdCLENBS2QsZ0JBQWdCLEFBS2IsT0FBTyxDQUFDO0lBQ1AsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxHQUNuRTs7QUFaTCxBQWdCSSxnQkFoQlksQUFlYixVQUFVLENBQ1QsZ0JBQWdCLENBQUM7RUFDZixnQkFBZ0IsRUFBRSxzQkFBc0I7RUFDeEMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxlQUFlLEdBUzNDO0VBM0JMLEFBb0JNLGdCQXBCVSxBQWViLFVBQVUsQ0FDVCxnQkFBZ0IsQUFJYixRQUFRLENBQUM7SUFDUixTQUFTLEVBQUUsc0JBQXFFLENBQUMsYUFBYSxHQUMvRjtFQXRCUCxBQXdCTSxnQkF4QlUsQUFlYixVQUFVLENBQ1QsZ0JBQWdCLEFBUWIsT0FBTyxDQUFDO0lBQ1AsU0FBUyxFQUFFLHVCQUE0RSxDQUFDLGNBQWMsR0FDdkc7O0FDN0JQOztLQUVHO0FBQ0gsQUFDRSxrQkFEZ0IsQ0FDaEIsY0FBYyxDQUFDO0VBQ2IsV0FBVyxFQUFFLElBQTBCLEdBQ3hDOztBQUhILEFBS0Usa0JBTGdCLENBS2hCLGdCQUFnQixDQUFDO0VBQ2YsVUFBVSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEVBQ3BELGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0NBQW9DLEdBTTFFO0VBYkgsQUFTSSxrQkFUYyxDQUtoQixnQkFBZ0IsQUFJYixRQUFRLEVBVGIsa0JBQWtCLENBS2hCLGdCQUFnQixBQUtiLE9BQU8sQ0FBQztJQUNQLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsR0FDbkU7O0FBWkwsQUFnQkksa0JBaEJjLEFBZWYsVUFBVSxDQUNULGdCQUFnQixDQUFDO0VBQ2YsZ0JBQWdCLEVBQUUsc0JBQXNCO0VBQ3hDLFNBQVMsRUFBRSxlQUFlLENBQUMsZUFBZSxDQUFDLGdCQUFnQixHQVM1RDtFQTNCTCxBQW9CTSxrQkFwQlksQUFlZixVQUFVLENBQ1QsZ0JBQWdCLEFBSWIsUUFBUSxDQUFDO0lBQ1IsU0FBUyxFQUFFLHNCQUFxRSxDQUFDLGFBQWEsR0FDL0Y7RUF0QlAsQUF3Qk0sa0JBeEJZLEFBZWYsVUFBVSxDQUNULGdCQUFnQixBQVFiLE9BQU8sQ0FBQztJQUNQLFNBQVMsRUFBRSx1QkFBNEUsQ0FBQyxjQUFjLEdBQ3ZHOztBQzdCUDs7S0FFRztBQUNILEFBRUksaUJBRmEsQUFBQSxVQUFVLENBQ3pCLGdCQUFnQixBQUNiLFFBQVEsQ0FBQztFQUNSLFNBQVMsRUFBRSx1QkFBZ0QsQ0FBQyxjQUFjLENBQUMsYUFBYSxHQUN6Rjs7QUFKTCxBQU1JLGlCQU5hLEFBQUEsVUFBVSxDQUN6QixnQkFBZ0IsQUFLYixPQUFPLENBQUM7RUFDUCxTQUFTLEVBQUUsdUJBQWdELENBQUMsYUFBYSxDQUFDLGFBQWEsR0FDeEY7O0FDWEw7O0tBRUc7QUFDSCxBQUVJLG1CQUZlLEFBQUEsVUFBVSxDQUMzQixnQkFBZ0IsQUFDYixRQUFRLENBQUM7RUFDUixTQUFTLEVBQUUsc0JBQStDLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FDdkY7O0FBSkwsQUFNSSxtQkFOZSxBQUFBLFVBQVUsQ0FDM0IsZ0JBQWdCLEFBS2IsT0FBTyxDQUFDO0VBQ1AsU0FBUyxFQUFFLHNCQUErQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEdBQ3hGOztBQ1hMOztLQUVHO0FBQ0gsQUFFSSxvQkFGZ0IsQ0FDbEIsZ0JBQWdCLEFBQ2IsUUFBUSxDQUFDO0VBQ1IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFDbEIsU0FBUyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsR0FDOUQ7O0FBTEwsQUFPSSxvQkFQZ0IsQ0FDbEIsZ0JBQWdCLEFBTWIsT0FBTyxDQUFDO0VBQ1AsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFDckIsU0FBUyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsR0FDOUQ7O0FBVkwsQUFlTSxvQkFmYyxBQWFqQixVQUFVLENBQ1QsZ0JBQWdCLEFBQ2IsUUFBUSxDQUFDO0VBQ1IsR0FBRyxFQUFFLENBQUM7RUFDTixTQUFTLEVBQUUsNkJBQTZFLENBQUMsY0FBYyxDQUFDLGFBQWE7RUFDckgsVUFBVSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUNiLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxHQUN2RTs7QUFwQlAsQUFzQk0sb0JBdEJjLEFBYWpCLFVBQVUsQ0FDVCxnQkFBZ0IsQUFRYixPQUFPLENBQUM7RUFDUCxNQUFNLEVBQUUsQ0FBQztFQUNULFNBQVMsRUFBRSw0QkFBNEUsQ0FBQyxhQUFhLENBQUMsYUFBYTtFQUNuSCxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQ2hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxHQUN2RTs7QUM5QlA7O0tBRUc7QUFDSCxBQUVJLHNCQUZrQixDQUNwQixnQkFBZ0IsQUFDYixRQUFRLENBQUM7RUFDUixVQUFVLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUNsQixTQUFTLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxHQUM5RDs7QUFMTCxBQU9JLHNCQVBrQixDQUNwQixnQkFBZ0IsQUFNYixPQUFPLENBQUM7RUFDUCxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUNyQixTQUFTLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxHQUM5RDs7QUFWTCxBQWVNLHNCQWZnQixBQWFuQixVQUFVLENBQ1QsZ0JBQWdCLEFBQ2IsUUFBUSxDQUFDO0VBQ1IsR0FBRyxFQUFFLENBQUM7RUFDTixTQUFTLEVBQUUsNEJBQTRFLENBQUMsYUFBYSxDQUFDLGFBQWE7RUFDbkgsVUFBVSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUNiLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxHQUN2RTs7QUFwQlAsQUFzQk0sc0JBdEJnQixBQWFuQixVQUFVLENBQ1QsZ0JBQWdCLEFBUWIsT0FBTyxDQUFDO0VBQ1AsTUFBTSxFQUFFLENBQUM7RUFDVCxTQUFTLEVBQUUsMkJBQTJFLENBQUMsY0FBYyxDQUFDLGFBQWE7RUFDbkgsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUNoQixTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsR0FDdkU7O0FDOUJQOztLQUVHO0FBQ0gsQUFDRSxxQkFEbUIsQUFBQSxVQUFVLENBQzdCLGdCQUFnQixDQUFDO0VBQ2YsU0FBUyxFQUFFLGVBQWUsR0FTM0I7RUFYSCxBQUlJLHFCQUppQixBQUFBLFVBQVUsQ0FDN0IsZ0JBQWdCLEFBR2IsUUFBUSxDQUFDO0lBQ1IsU0FBUyxFQUFFLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxhQUFhLEdBQzlEO0VBTkwsQUFRSSxxQkFSaUIsQUFBQSxVQUFVLENBQzdCLGdCQUFnQixBQU9iLE9BQU8sQ0FBQztJQUNQLFNBQVMsRUFBRSxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsYUFBYSxHQUMvRDs7QUNiTDs7S0FFRztBQUNILEFBQ0UsdUJBRHFCLEFBQUEsVUFBVSxDQUMvQixnQkFBZ0IsQ0FBQztFQUNmLFNBQVMsRUFBRSxlQUFlLEdBUzNCO0VBWEgsQUFJSSx1QkFKbUIsQUFBQSxVQUFVLENBQy9CLGdCQUFnQixBQUdiLFFBQVEsQ0FBQztJQUNSLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsYUFBYSxHQUNoRTtFQU5MLEFBUUksdUJBUm1CLEFBQUEsVUFBVSxDQUMvQixnQkFBZ0IsQUFPYixPQUFPLENBQUM7SUFDUCxTQUFTLEVBQUUsdUJBQXVCLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FDL0Q7O0FDYkw7O0tBRUc7QUFDSCxBQUVJLGtCQUZjLENBQ2hCLGdCQUFnQixFQURsQixrQkFBa0IsQ0FDaEIsZ0JBQWdCLEFBRWIsUUFBUSxFQUhiLGtCQUFrQixDQUNoQixnQkFBZ0IsQUFHYixPQUFPLENBQUM7RUFDUCxtQkFBbUIsRUFBRSxJQUFJLEdBQzFCOztBQU5MLEFBVUksa0JBVmMsQUFTZixVQUFVLENBQ1QsZ0JBQWdCLENBQUM7RUFDZixTQUFTLEVBQUUsYUFBYSxHQVd6QjtFQXRCTCxBQWFNLGtCQWJZLEFBU2YsVUFBVSxDQUNULGdCQUFnQixBQUdiLFFBQVEsQ0FBQztJQUNSLEdBQUcsRUFBRSxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUMsR0FDWDtFQWhCUCxBQWtCTSxrQkFsQlksQUFTZixVQUFVLENBQ1QsZ0JBQWdCLEFBUWIsT0FBTyxDQUFDO0lBQ1AsTUFBTSxFQUFFLENBQUM7SUFDVCxTQUFTLEVBQUUsY0FBYyxHQUMxQjs7QUN4QlA7O0tBRUc7QUFDSCxBQUNFLG9CQURrQixDQUNsQixnQkFBZ0IsQ0FBQztFQUNmLEdBQUcsRUFBRSxJQUFJO0VBQ1QsTUFBTSxFQUFFLENBQUM7RUFDVCxtQkFBbUIsRUFBRSxLQUFLO0VBQzFCLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsMEJBQTBCLEVBQUUsc0NBQXNDLEdBWW5FO0VBbEJILEFBUUksb0JBUmdCLENBQ2xCLGdCQUFnQixBQU9iLE9BQU8sQ0FBQztJQUNQLEdBQUcsRUFBRSxLQUFpRTtJQUN0RSxVQUFVLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMENBQTBDLEVBQ3hELE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUNoQztFQVpMLEFBY0ksb0JBZGdCLENBQ2xCLGdCQUFnQixBQWFiLFFBQVEsQ0FBQztJQUNSLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQywwQ0FBMEMsRUFDekQsU0FBUyxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsR0FDbkU7O0FBakJMLEFBcUJJLG9CQXJCZ0IsQUFvQmpCLFVBQVUsQ0FDVCxnQkFBZ0IsQ0FBQztFQUNmLFNBQVMsRUFBRSx1QkFBNEUsQ0FBQyxjQUFjO0VBQ3RHLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsMEJBQTBCLEVBQUUsbUNBQW1DLEdBZWhFO0VBdkNMLEFBMEJNLG9CQTFCYyxBQW9CakIsVUFBVSxDQUNULGdCQUFnQixBQUtiLE9BQU8sQ0FBQztJQUNQLEdBQUcsRUFBRSxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQywwQ0FBMEMsRUFDbkQsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUN0QztFQS9CUCxBQWlDTSxvQkFqQ2MsQUFvQmpCLFVBQVUsQ0FDVCxnQkFBZ0IsQUFZYixRQUFRLENBQUM7SUFDUixHQUFHLEVBQUUsQ0FBQztJQUNOLFNBQVMsRUFBRSxjQUFjO0lBQ3pCLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQywwQ0FBMEMsRUFDekQsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEdBQ3RFOztBQ3pDUDs7S0FFRztBQUNILEFBQ0Usc0JBRG9CLENBQ3BCLGdCQUFnQixDQUFDO0VBQ2YsR0FBRyxFQUFFLElBQUk7RUFDVCxNQUFNLEVBQUUsQ0FBQztFQUNULG1CQUFtQixFQUFFLEtBQUs7RUFDMUIsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QiwwQkFBMEIsRUFBRSxzQ0FBc0MsR0FZbkU7RUFsQkgsQUFRSSxzQkFSa0IsQ0FDcEIsZ0JBQWdCLEFBT2IsT0FBTyxDQUFDO0lBQ1AsR0FBRyxFQUFFLEtBQWlFO0lBQ3RFLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywwQ0FBMEMsRUFDeEQsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQ2hDO0VBWkwsQUFjSSxzQkFka0IsQ0FDcEIsZ0JBQWdCLEFBYWIsUUFBUSxDQUFDO0lBQ1IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLDBDQUEwQyxFQUN6RCxTQUFTLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxHQUNuRTs7QUFqQkwsQUFxQkksc0JBckJrQixBQW9CbkIsVUFBVSxDQUNULGdCQUFnQixDQUFDO0VBQ2YsU0FBUyxFQUFFLHVCQUE0RSxDQUFDLGFBQWE7RUFDckcsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QiwwQkFBMEIsRUFBRSxtQ0FBbUMsR0FlaEU7RUF2Q0wsQUEwQk0sc0JBMUJnQixBQW9CbkIsVUFBVSxDQUNULGdCQUFnQixBQUtiLE9BQU8sQ0FBQztJQUNQLEdBQUcsRUFBRSxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQywwQ0FBMEMsRUFDbkQsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUN0QztFQS9CUCxBQWlDTSxzQkFqQ2dCLEFBb0JuQixVQUFVLENBQ1QsZ0JBQWdCLEFBWWIsUUFBUSxDQUFDO0lBQ1IsR0FBRyxFQUFFLENBQUM7SUFDTixTQUFTLEVBQUUsYUFBYTtJQUN4QixVQUFVLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsMENBQTBDLEVBQ3pELFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxHQUN0RTs7QUN6Q1A7O0tBRUc7QUFDSCxBQUNFLG1CQURpQixDQUNqQixnQkFBZ0IsQ0FBQztFQUNmLEdBQUcsRUFBRSxLQUEyQjtFQUNoQyxtQkFBbUIsRUFBRSxNQUFNO0VBQzNCLDBCQUEwQixFQUFFLHNDQUFzQyxHQVduRTtFQWZILEFBTUksbUJBTmUsQ0FDakIsZ0JBQWdCLEFBS2IsUUFBUSxDQUFDO0lBQ1IsR0FBRyxFQUFFLEdBQWtEO0lBQ3ZELFVBQVUsRUFBRSwwQkFBMEIsR0FDdkM7RUFUTCxBQVdJLG1CQVhlLENBQ2pCLGdCQUFnQixBQVViLE9BQU8sQ0FBQztJQUNQLEdBQUcsRUFBRSxJQUE4RDtJQUNuRSxVQUFVLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxzQ0FBc0MsR0FDcEU7O0FBZEwsQUFrQkksbUJBbEJlLEFBaUJoQixVQUFVLENBQ1QsZ0JBQWdCLENBQUM7RUFHZixTQUFTLEVBQUUsc0JBQTRCLENBQUMsY0FBYztFQUN0RCxnQkFBZ0IsRUFBRSxNQUFNLEdBV3pCO0VBakNMLEFBd0JNLG1CQXhCYSxBQWlCaEIsVUFBVSxDQUNULGdCQUFnQixBQU1iLFFBQVEsQ0FBQztJQUNSLGdCQUFnQixFQUFFLEVBQUU7SUFDcEIsT0FBTyxFQUFFLENBQUMsR0FDWDtFQTNCUCxBQTZCTSxtQkE3QmEsQUFpQmhCLFVBQVUsQ0FDVCxnQkFBZ0IsQUFXYixPQUFPLENBQUM7SUFDUCxTQUFTLEVBQUUsd0JBQWlDLENBQUMsZUFBZTtJQUM1RCxnQkFBZ0IsRUFBRSxNQUFNLEdBQ3pCOztBQ25DUDs7S0FFRztBQUNILEFBQ0UscUJBRG1CLENBQ25CLGdCQUFnQixDQUFDO0VBQ2YsR0FBRyxFQUFFLEtBQTJCO0VBQ2hDLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsMEJBQTBCLEVBQUUsc0NBQXNDLEdBV25FO0VBZkgsQUFNSSxxQkFOaUIsQ0FDbkIsZ0JBQWdCLEFBS2IsUUFBUSxDQUFDO0lBQ1IsR0FBRyxFQUFFLEdBQWtEO0lBQ3ZELFVBQVUsRUFBRSwwQkFBMEIsR0FDdkM7RUFUTCxBQVdJLHFCQVhpQixDQUNuQixnQkFBZ0IsQUFVYixPQUFPLENBQUM7SUFDUCxHQUFHLEVBQUUsSUFBOEQ7SUFDbkUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsc0NBQXNDLEdBQ3BFOztBQWRMLEFBa0JJLHFCQWxCaUIsQUFpQmxCLFVBQVUsQ0FDVCxnQkFBZ0IsQ0FBQztFQUdmLFNBQVMsRUFBRSxzQkFBNEIsQ0FBQyxlQUFlO0VBQ3ZELGdCQUFnQixFQUFFLE1BQU0sR0FXekI7RUFqQ0wsQUF3Qk0scUJBeEJlLEFBaUJsQixVQUFVLENBQ1QsZ0JBQWdCLEFBTWIsUUFBUSxDQUFDO0lBQ1IsZ0JBQWdCLEVBQUUsRUFBRTtJQUNwQixPQUFPLEVBQUUsQ0FBQyxHQUNYO0VBM0JQLEFBNkJNLHFCQTdCZSxBQWlCbEIsVUFBVSxDQUNULGdCQUFnQixBQVdiLE9BQU8sQ0FBQztJQUNQLFNBQVMsRUFBRSx3QkFBaUMsQ0FBQyxjQUFjO0lBQzNELGdCQUFnQixFQUFFLE1BQU0sR0FDekI7O0FDbkNQOztLQUVHO0FBQ0gsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixRQUFRLEVBQUUsTUFBTSxHQThDakI7RUEvQ0QsQUFHRSxvQkFIa0IsQ0FHbEIsZ0JBQWdCLENBQUM7SUFDZixVQUFVLEVBQUUsc0NBQXNDLEdBZ0JuRDtJQXBCSCxBQU1JLG9CQU5nQixDQUdsQixnQkFBZ0IsQUFHYixRQUFRLENBQUM7TUFDUixJQUFJLEVBQUUsQ0FBQztNQUNQLFVBQVUsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLG9DQUFvQyxFQUNyRCxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FDdkM7SUFYTCxBQWFJLG9CQWJnQixDQUdsQixnQkFBZ0IsQUFVYixPQUFPLENBQUM7TUFDUCxHQUFHLEVBQUUsR0FBc0Q7TUFDM0QsS0FBSyxFQUFFLENBQUM7TUFDUixVQUFVLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxvQ0FBb0MsRUFDckQsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUN2QixLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQ3hDO0VBbkJMLEFBdUJJLG9CQXZCZ0IsQUFzQmpCLFVBQVUsQ0FDVCxnQkFBZ0IsQ0FBQztJQUNmLGdCQUFnQixFQUFFLEVBQUU7SUFDcEIsMEJBQTBCLEVBQUUsUUFBUTtJQUNwQyxnQkFBZ0IsRUFBRSxzQkFBc0IsR0FtQnpDO0lBN0NMLEFBNEJNLG9CQTVCYyxBQXNCakIsVUFBVSxDQUNULGdCQUFnQixBQUtiLFFBQVEsQ0FBQztNQUNSLElBQUksRUFBRSxLQUEyQjtNQUNqQyxHQUFHLEVBQUUsS0FBMkI7TUFDaEMsU0FBUyxFQUFFLDBCQUFzRSxDQUFDLGFBQWE7TUFDL0YsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUNwQixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQ3ZCLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLG1DQUFtQyxHQUN4RTtJQW5DUCxBQXFDTSxvQkFyQ2MsQUFzQmpCLFVBQVUsQ0FDVCxnQkFBZ0IsQUFjYixPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsS0FBMkI7TUFDbEMsR0FBRyxFQUFFLEtBQTJCO01BQ2hDLFNBQVMsRUFBRSwyQkFBdUUsQ0FBQyxjQUFjO01BQ2pHLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFDckIsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUN2QixTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxtQ0FBbUMsR0FDeEU7O0FDL0NQOztLQUVHO0FBQ0gsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixRQUFRLEVBQUUsTUFBTSxHQThDakI7RUEvQ0QsQUFHRSxzQkFIb0IsQ0FHcEIsZ0JBQWdCLENBQUM7SUFDZixVQUFVLEVBQUUsc0NBQXNDLEdBZ0JuRDtJQXBCSCxBQU1JLHNCQU5rQixDQUdwQixnQkFBZ0IsQUFHYixRQUFRLENBQUM7TUFDUixJQUFJLEVBQUUsQ0FBQztNQUNQLFVBQVUsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLG9DQUFvQyxFQUNyRCxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FDdkM7SUFYTCxBQWFJLHNCQWJrQixDQUdwQixnQkFBZ0IsQUFVYixPQUFPLENBQUM7TUFDUCxHQUFHLEVBQUUsR0FBc0Q7TUFDM0QsS0FBSyxFQUFFLENBQUM7TUFDUixVQUFVLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxvQ0FBb0MsRUFDckQsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUN2QixLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQ3hDO0VBbkJMLEFBdUJJLHNCQXZCa0IsQUFzQm5CLFVBQVUsQ0FDVCxnQkFBZ0IsQ0FBQztJQUNmLGdCQUFnQixFQUFFLEVBQUU7SUFDcEIsMEJBQTBCLEVBQUUsUUFBUTtJQUNwQyxnQkFBZ0IsRUFBRSxzQkFBc0IsR0FtQnpDO0lBN0NMLEFBNEJNLHNCQTVCZ0IsQUFzQm5CLFVBQVUsQ0FDVCxnQkFBZ0IsQUFLYixRQUFRLENBQUM7TUFDUixJQUFJLEVBQUUsS0FBMkI7TUFDakMsR0FBRyxFQUFFLElBQTBCO01BQy9CLFNBQVMsRUFBRSwyQkFBdUUsQ0FBQyxjQUFjO01BQ2pHLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFDcEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUN2QixTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxtQ0FBbUMsR0FDeEU7SUFuQ1AsQUFxQ00sc0JBckNnQixBQXNCbkIsVUFBVSxDQUNULGdCQUFnQixBQWNiLE9BQU8sQ0FBQztNQUNQLEtBQUssRUFBRSxLQUEyQjtNQUNsQyxHQUFHLEVBQUUsSUFBMEI7TUFDL0IsU0FBUyxFQUFFLDRCQUF3RSxDQUFDLGFBQWE7TUFDakcsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUNyQixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQ3ZCLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLG1DQUFtQyxHQUN4RTs7QUMvQ1A7O0tBRUc7QUFDSCxBQUVJLGlCQUZhLENBQ2YsZ0JBQWdCLEFBQ2IsUUFBUSxFQUZiLGlCQUFpQixDQUNmLGdCQUFnQixBQUViLE9BQU8sQ0FBQztFQUNQLFVBQVUsRUFBRSxrRUFFaUIsR0FDOUI7O0FBUEwsQUFZTSxpQkFaVyxBQVVkLFVBQVUsQ0FDVCxnQkFBZ0IsQUFDYixRQUFRLEVBWmYsaUJBQWlCLEFBVWQsVUFBVSxDQUNULGdCQUFnQixBQUViLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLGtFQUV1QixHQUNwQzs7QUFsQlAsQUFtQk0saUJBbkJXLEFBVWQsVUFBVSxDQUNULGdCQUFnQixBQVFiLFFBQVEsQ0FBQztFQUNSLEdBQUcsRUFBRSxDQUFDLEdBQ1A7O0FBckJQLEFBdUJNLGlCQXZCVyxBQVVkLFVBQVUsQ0FDVCxnQkFBZ0IsQUFZYixPQUFPLENBQUM7RUFDUCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQzVCUDs7S0FFRztBQUNILEFBQ0Usa0JBRGdCLENBQ2hCLGdCQUFnQixDQUFDO0VBQ2YsR0FBRyxFQUFFLEtBQTJCLEdBWWpDO0VBZEgsQUFJSSxrQkFKYyxDQUNoQixnQkFBZ0IsQUFHYixRQUFRLENBQUM7SUFDUixHQUFHLEVBQUUsR0FBa0Q7SUFDdkQsbUJBQW1CLEVBQUUsa0JBQWtCO0lBQ3ZDLDBCQUEwQixFQUFFLElBQUk7SUFDaEMsbUJBQW1CLEVBQUUsS0FBSyxHQUMzQjtFQVRMLEFBV0ksa0JBWGMsQ0FDaEIsZ0JBQWdCLEFBVWIsT0FBTyxDQUFDO0lBQ1AsR0FBRyxFQUFFLElBQThELEdBQ3BFOztBQWJMLEFBaUJJLGtCQWpCYyxBQWdCZixVQUFVLENBQ1QsZ0JBQWdCLENBQUM7RUFHZixTQUFTLEVBQUUsc0JBQTRCLENBQUMsYUFBYSxHQVV0RDtFQTlCTCxBQXNCTSxrQkF0QlksQUFnQmYsVUFBVSxDQUNULGdCQUFnQixBQUtiLFFBQVEsQ0FBQztJQUNSLFNBQVMsRUFBRSxjQUFjLENBQUMsZ0NBQTBFO0lBQ3BHLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUF6QlAsQUEyQk0sa0JBM0JZLEFBZ0JmLFVBQVUsQ0FDVCxnQkFBZ0IsQUFVYixPQUFPLENBQUM7SUFDUCxTQUFTLEVBQUUsd0JBQWlDLENBQUMsY0FBYyxHQUM1RDs7QUNoQ1A7O0tBRUc7QUFDSCxBQUNFLG9CQURrQixDQUNsQixnQkFBZ0IsQ0FBQztFQUNmLEdBQUcsRUFBRSxLQUEyQixHQVlqQztFQWRILEFBSUksb0JBSmdCLENBQ2xCLGdCQUFnQixBQUdiLFFBQVEsQ0FBQztJQUNSLEdBQUcsRUFBRSxHQUFrRDtJQUN2RCxtQkFBbUIsRUFBRSxrQkFBa0I7SUFDdkMsMEJBQTBCLEVBQUUsSUFBSTtJQUNoQyxtQkFBbUIsRUFBRSxLQUFLLEdBQzNCO0VBVEwsQUFXSSxvQkFYZ0IsQ0FDbEIsZ0JBQWdCLEFBVWIsT0FBTyxDQUFDO0lBQ1AsR0FBRyxFQUFFLElBQThELEdBQ3BFOztBQWJMLEFBaUJJLG9CQWpCZ0IsQUFnQmpCLFVBQVUsQ0FDVCxnQkFBZ0IsQ0FBQztFQUdmLFNBQVMsRUFBRSxzQkFBNEIsQ0FBQyxjQUFjLEdBVXZEO0VBOUJMLEFBc0JNLG9CQXRCYyxBQWdCakIsVUFBVSxDQUNULGdCQUFnQixBQUtiLFFBQVEsQ0FBQztJQUNSLFNBQVMsRUFBRSxhQUFhLENBQUMsK0JBQXlFO0lBQ2xHLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUF6QlAsQUEyQk0sb0JBM0JjLEFBZ0JqQixVQUFVLENBQ1QsZ0JBQWdCLEFBVWIsT0FBTyxDQUFDO0lBQ1AsU0FBUyxFQUFFLHdCQUFpQyxDQUFDLGFBQWEsR0FDM0Q7O0FDaENQOztLQUVHO0FBQ0gsQUFDRSxnQkFEYyxDQUNkLGdCQUFnQixDQUFDO0VBQ2YsbUJBQW1CLEVBQUUsS0FBSztFQUMxQiwwQkFBMEIsRUFBRSxzQ0FBc0MsR0FXbkU7RUFkSCxBQUtJLGdCQUxZLENBQ2QsZ0JBQWdCLEFBSWIsUUFBUSxDQUFDO0lBQ1IsVUFBVSxFQUFFLDRDQUNvQixHQUNqQztFQVJMLEFBVUksZ0JBVlksQ0FDZCxnQkFBZ0IsQUFTYixPQUFPLENBQUM7SUFDUCxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUN6QixTQUFTLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxHQUNuRTs7QUFiTCxBQWlCSSxnQkFqQlksQUFnQmIsVUFBVSxDQUNULGdCQUFnQixDQUFDO0VBQ2YsU0FBUyxFQUFFLGNBQWM7RUFDekIsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QiwwQkFBMEIsRUFBRSxtQ0FBbUMsR0FlaEU7RUFuQ0wsQUFzQk0sZ0JBdEJVLEFBZ0JiLFVBQVUsQ0FDVCxnQkFBZ0IsQUFLYixRQUFRLENBQUM7SUFDUixHQUFHLEVBQUUsQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLDhDQUMyQixHQUN4QztFQTNCUCxBQTZCTSxnQkE3QlUsQUFnQmIsVUFBVSxDQUNULGdCQUFnQixBQVliLE9BQU8sQ0FBQztJQUNQLE1BQU0sRUFBRSxDQUFDO0lBQ1QsU0FBUyxFQUFFLGNBQWM7SUFDekIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUNwQixTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsR0FDdEU7O0FDckNQOztLQUVHO0FBQ0gsQUFDRSxrQkFEZ0IsQ0FDaEIsZ0JBQWdCLENBQUM7RUFDZixtQkFBbUIsRUFBRSxLQUFLO0VBQzFCLDBCQUEwQixFQUFFLHNDQUFzQyxHQVduRTtFQWRILEFBS0ksa0JBTGMsQ0FDaEIsZ0JBQWdCLEFBSWIsUUFBUSxDQUFDO0lBQ1IsVUFBVSxFQUFFLDRDQUNvQixHQUNqQztFQVJMLEFBVUksa0JBVmMsQ0FDaEIsZ0JBQWdCLEFBU2IsT0FBTyxDQUFDO0lBQ1AsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFDekIsU0FBUyxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsR0FDbkU7O0FBYkwsQUFpQkksa0JBakJjLEFBZ0JmLFVBQVUsQ0FDVCxnQkFBZ0IsQ0FBQztFQUNmLFNBQVMsRUFBRSxlQUFlO0VBQzFCLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsMEJBQTBCLEVBQUUsbUNBQW1DLEdBZWhFO0VBbkNMLEFBc0JNLGtCQXRCWSxBQWdCZixVQUFVLENBQ1QsZ0JBQWdCLEFBS2IsUUFBUSxDQUFDO0lBQ1IsR0FBRyxFQUFFLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSw4Q0FDMkIsR0FDeEM7RUEzQlAsQUE2Qk0sa0JBN0JZLEFBZ0JmLFVBQVUsQ0FDVCxnQkFBZ0IsQUFZYixPQUFPLENBQUM7SUFDUCxNQUFNLEVBQUUsQ0FBQztJQUNULFNBQVMsRUFBRSxhQUFhO0lBQ3hCLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFDcEIsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEdBQ3RFOztBQ3JDUDs7S0FFRztBQUNILEFBQ0Usa0JBRGdCLENBQ2hCLGdCQUFnQixDQUFDO0VBQ2YsR0FBRyxFQUFFLEtBQTJCO0VBQ2hDLFVBQVUsRUFBRSxnQ0FBZ0MsR0FhN0M7RUFoQkgsQUFLSSxrQkFMYyxDQUNoQixnQkFBZ0IsQUFJYixRQUFRLENBQUM7SUFDUixHQUFHLEVBQUUsR0FBa0Q7SUFDdkQsVUFBVSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUEwQyxFQUN4RCxTQUFTLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxHQUNuRTtFQVRMLEFBV0ksa0JBWGMsQ0FDaEIsZ0JBQWdCLEFBVWIsT0FBTyxDQUFDO0lBQ1AsR0FBRyxFQUFFLElBQThEO0lBQ25FLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywwQ0FBMEMsRUFDeEQsU0FBUyxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsR0FDbkU7O0FBZkwsQUFtQkksa0JBbkJjLEFBa0JmLFVBQVUsQ0FDVCxnQkFBZ0IsQ0FBQztFQUNmLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsZ0JBQWdCLEVBQUUsc0JBQXNCLEdBZXpDO0VBcENMLEFBdUJNLGtCQXZCWSxBQWtCZixVQUFVLENBQ1QsZ0JBQWdCLEFBSWIsUUFBUSxDQUFDO0lBQ1IsR0FBRyxFQUFFLENBQUM7SUFDTixVQUFVLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsMENBQTBDLEVBQ3pELFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLG1DQUFtQztJQUNyRSxTQUFTLEVBQUUsc0JBQXFFLENBQUMsYUFBYSxHQUMvRjtFQTVCUCxBQThCTSxrQkE5QlksQUFrQmYsVUFBVSxDQUNULGdCQUFnQixBQVdiLE9BQU8sQ0FBQztJQUNQLEdBQUcsRUFBRSxDQUFDO0lBQ04sVUFBVSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsMENBQTBDLEVBQ25ELFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLG1DQUFtQztJQUNyRSxTQUFTLEVBQUUsc0JBQXFFLENBQUMsY0FBYyxHQUNoRzs7QUN0Q1A7O0tBRUc7QUFDSCxBQUNFLG9CQURrQixDQUNsQixnQkFBZ0IsQ0FBQztFQUNmLEdBQUcsRUFBRSxJQUFJO0VBQ1QsTUFBTSxFQUFFLENBQUM7RUFDVCxtQkFBbUIsRUFBRSxLQUFLO0VBQzFCLGdCQUFnQixFQUFFLEVBQUU7RUFDcEIsMEJBQTBCLEVBQUUsc0NBQXNDLEdBWW5FO0VBbEJILEFBUUksb0JBUmdCLENBQ2xCLGdCQUFnQixBQU9iLE9BQU8sQ0FBQztJQUNQLEdBQUcsRUFBRSxLQUFpRTtJQUN0RSxVQUFVLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMENBQTBDLEVBQ3hELE9BQU8sQ0FBQyxFQUFFLENBQUMsTUFBTSxHQUM5QjtFQVpMLEFBY0ksb0JBZGdCLENBQ2xCLGdCQUFnQixBQWFiLFFBQVEsQ0FBQztJQUNSLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywwQ0FBMEMsRUFDeEQsU0FBUyxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsR0FDbkU7O0FBakJMLEFBcUJJLG9CQXJCZ0IsQUFvQmpCLFVBQVUsQ0FDVCxnQkFBZ0IsQ0FBQztFQUNmLFNBQVMsRUFBRSx1QkFBNEUsQ0FBQyxjQUFjO0VBQ3RHLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsMEJBQTBCLEVBQUUsbUNBQW1DLEdBZWhFO0VBdkNMLEFBMEJNLG9CQTFCYyxBQW9CakIsVUFBVSxDQUNULGdCQUFnQixBQUtiLE9BQU8sQ0FBQztJQUNQLEdBQUcsRUFBRSxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQywwQ0FBMEMsRUFDbkQsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUNwQztFQS9CUCxBQWlDTSxvQkFqQ2MsQUFvQmpCLFVBQVUsQ0FDVCxnQkFBZ0IsQUFZYixRQUFRLENBQUM7SUFDUixHQUFHLEVBQUUsQ0FBQztJQUNOLFNBQVMsRUFBRSxhQUFhO0lBQ3hCLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQywwQ0FBMEMsRUFDekQsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEdBQ3RFOztBQ3pDUDs7S0FFRztBQUNILEFBQ0UsaUJBRGUsQ0FDZixnQkFBZ0IsQ0FBQztFQUNmLFVBQVUsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsRUFDN0QsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBVzlDO0VBZEgsQUFLSSxpQkFMYSxDQUNmLGdCQUFnQixBQUliLFFBQVEsQ0FBQztJQUNSLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQ3pCLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLHNDQUFzQyxHQUN2RTtFQVJMLEFBVUksaUJBVmEsQ0FDZixnQkFBZ0IsQUFTYixPQUFPLENBQUM7SUFDUCxVQUFVLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUM1QixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxzQ0FBc0MsR0FDdkU7O0FBYkwsQUFpQkksaUJBakJhLEFBZ0JkLFVBQVUsQ0FDVCxnQkFBZ0IsQ0FBQztFQUNmLFNBQVMsRUFBRSxhQUFhO0VBQ3hCLGdCQUFnQixFQUFFLHNCQUFzQjtFQUV4QyxVQUFVLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsbUNBQW1DLEVBQ3ZELGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQWU3QztFQXJDTCxBQXdCTSxpQkF4QlcsQUFnQmQsVUFBVSxDQUNULGdCQUFnQixBQU9iLFFBQVEsQ0FBQztJQUNSLEdBQUcsRUFBRSxDQUFDO0lBQ04sU0FBUyxFQUFFLGNBQWM7SUFDekIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFDeEIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEdBQ3ZFO0VBN0JQLEFBK0JNLGlCQS9CVyxBQWdCZCxVQUFVLENBQ1QsZ0JBQWdCLEFBY2IsT0FBTyxDQUFDO0lBQ1AsTUFBTSxFQUFFLENBQUM7SUFDVCxTQUFTLEVBQUUsYUFBYTtJQUN4QixVQUFVLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUMzQixTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsR0FDdkU7O0FDdkNQOztLQUVHO0FBQ0gsQUFDRSxtQkFEaUIsQ0FDakIsZ0JBQWdCLENBQUM7RUFDZixVQUFVLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0NBQXNDLEVBQzdELGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQVc5QztFQWRILEFBS0ksbUJBTGUsQ0FDakIsZ0JBQWdCLEFBSWIsUUFBUSxDQUFDO0lBQ1IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFDekIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsc0NBQXNDLEdBQ3ZFO0VBUkwsQUFVSSxtQkFWZSxDQUNqQixnQkFBZ0IsQUFTYixPQUFPLENBQUM7SUFDUCxVQUFVLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUM1QixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxzQ0FBc0MsR0FDdkU7O0FBYkwsQUFpQkksbUJBakJlLEFBZ0JoQixVQUFVLENBQ1QsZ0JBQWdCLENBQUM7RUFDZixTQUFTLEVBQUUsY0FBYztFQUN6QixnQkFBZ0IsRUFBRSxzQkFBc0I7RUFFeEMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLG1DQUFtQyxFQUN2RCxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FlN0M7RUFyQ0wsQUF3Qk0sbUJBeEJhLEFBZ0JoQixVQUFVLENBQ1QsZ0JBQWdCLEFBT2IsUUFBUSxDQUFDO0lBQ1IsR0FBRyxFQUFFLENBQUM7SUFDTixTQUFTLEVBQUUsY0FBYztJQUN6QixVQUFVLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUN4QixTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsR0FDdkU7RUE3QlAsQUErQk0sbUJBL0JhLEFBZ0JoQixVQUFVLENBQ1QsZ0JBQWdCLEFBY2IsT0FBTyxDQUFDO0lBQ1AsTUFBTSxFQUFFLENBQUM7SUFDVCxTQUFTLEVBQUUsYUFBYTtJQUN4QixVQUFVLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUMzQixTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsR0FDdkU7O0FDdkNQOztLQUVHO0FBQ0gsQUFDRSxtQkFEaUIsQ0FDakIsZ0JBQWdCLENBQUM7RUFDZixtQkFBbUIsRUFBRSxNQUFNO0VBQzNCLDBCQUEwQixFQUFFLHNDQUFzQyxHQVduRTtFQWRILEFBS0ksbUJBTGUsQ0FDakIsZ0JBQWdCLEFBSWIsUUFBUSxDQUFDO0lBQ1IsVUFBVSxFQUFFLDBDQUNtQixHQUNoQztFQVJMLEFBVUksbUJBVmUsQ0FDakIsZ0JBQWdCLEFBU2IsT0FBTyxDQUFDO0lBQ1AsVUFBVSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFDeEIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxzQ0FBc0MsR0FDcEU7O0FBYkwsQUFpQkksbUJBakJlLEFBZ0JoQixVQUFVLENBQ1QsZ0JBQWdCLENBQUM7RUFDZixTQUFTLEVBQUUsYUFBYTtFQUN4QixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLDBCQUEwQixFQUFFLG1DQUFtQyxHQWVoRTtFQW5DTCxBQXNCTSxtQkF0QmEsQUFnQmhCLFVBQVUsQ0FDVCxnQkFBZ0IsQUFLYixRQUFRLENBQUM7SUFDUixHQUFHLEVBQUUsQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLDBDQUN5QixHQUN0QztFQTNCUCxBQTZCTSxtQkE3QmEsQUFnQmhCLFVBQVUsQ0FDVCxnQkFBZ0IsQUFZYixPQUFPLENBQUM7SUFDUCxNQUFNLEVBQUUsQ0FBQztJQUNULFNBQVMsRUFBRSxjQUFjO0lBQ3pCLFVBQVUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFDbEIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEdBQ3ZFOztBQ3JDUDs7S0FFRztBQUNILEFBQ0Usa0JBRGdCLENBQ2hCLGdCQUFnQixDQUFDO0VBQ2YsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QiwwQkFBMEIsRUFBRSw4QkFBOEIsR0FnQjNEO0VBbkJILEFBS0ksa0JBTGMsQ0FDaEIsZ0JBQWdCLEFBSWIsUUFBUSxFQUxiLGtCQUFrQixDQUNoQixnQkFBZ0IsQUFLYixPQUFPLENBQUM7SUFDUCxtQkFBbUIsRUFBRSxFQUFFO0lBQ3ZCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsMEJBQTBCLEVBQUUsTUFBTSxHQUNuQztFQVZMLEFBWUksa0JBWmMsQ0FDaEIsZ0JBQWdCLEFBV2IsUUFBUSxDQUFDO0lBQ1IsbUJBQW1CLEVBQUUsWUFBWSxHQUNsQztFQWRMLEFBZ0JJLGtCQWhCYyxDQUNoQixnQkFBZ0IsQUFlYixPQUFPLENBQUM7SUFDUCxtQkFBbUIsRUFBRSxpQkFBaUIsR0FDdkM7O0FBbEJMLEFBc0JJLGtCQXRCYyxBQXFCZixVQUFVLENBQ1QsZ0JBQWdCLENBQUM7RUFDZixTQUFTLEVBQUUsY0FBYztFQUN6QiwwQkFBMEIsRUFBRSw4QkFBOEIsR0FnQjNEO0VBeENMLEFBMEJNLGtCQTFCWSxBQXFCZixVQUFVLENBQ1QsZ0JBQWdCLEFBSWIsUUFBUSxFQTFCZixrQkFBa0IsQUFxQmYsVUFBVSxDQUNULGdCQUFnQixBQUtiLE9BQU8sQ0FBQztJQUNQLGdCQUFnQixFQUFFLEVBQUUsR0FDckI7RUE3QlAsQUErQk0sa0JBL0JZLEFBcUJmLFVBQVUsQ0FDVCxnQkFBZ0IsQUFTYixRQUFRLENBQUM7SUFDUixHQUFHLEVBQUUsQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUFsQ1AsQUFvQ00sa0JBcENZLEFBcUJmLFVBQVUsQ0FDVCxnQkFBZ0IsQUFjYixPQUFPLENBQUM7SUFDUCxNQUFNLEVBQUUsQ0FBQztJQUNULFNBQVMsRUFBRSxhQUFhLEdBQ3pCOztBQzFDUDs7S0FFRztBQUNILEFBQ0Usb0JBRGtCLENBQ2xCLGdCQUFnQixDQUFDO0VBQ2YsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QiwwQkFBMEIsRUFBRSw4QkFBOEIsR0FnQjNEO0VBbkJILEFBS0ksb0JBTGdCLENBQ2xCLGdCQUFnQixBQUliLFFBQVEsRUFMYixvQkFBb0IsQ0FDbEIsZ0JBQWdCLEFBS2IsT0FBTyxDQUFDO0lBQ1AsbUJBQW1CLEVBQUUsRUFBRTtJQUN2QixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLDBCQUEwQixFQUFFLE1BQU0sR0FDbkM7RUFWTCxBQVlJLG9CQVpnQixDQUNsQixnQkFBZ0IsQUFXYixRQUFRLENBQUM7SUFDUixtQkFBbUIsRUFBRSxZQUFZLEdBQ2xDO0VBZEwsQUFnQkksb0JBaEJnQixDQUNsQixnQkFBZ0IsQUFlYixPQUFPLENBQUM7SUFDUCxtQkFBbUIsRUFBRSxpQkFBaUIsR0FDdkM7O0FBbEJMLEFBc0JJLG9CQXRCZ0IsQUFxQmpCLFVBQVUsQ0FDVCxnQkFBZ0IsQ0FBQztFQUNmLFNBQVMsRUFBRSxlQUFlO0VBQzFCLDBCQUEwQixFQUFFLDhCQUE4QixHQWdCM0Q7RUF4Q0wsQUEwQk0sb0JBMUJjLEFBcUJqQixVQUFVLENBQ1QsZ0JBQWdCLEFBSWIsUUFBUSxFQTFCZixvQkFBb0IsQUFxQmpCLFVBQVUsQ0FDVCxnQkFBZ0IsQUFLYixPQUFPLENBQUM7SUFDUCxnQkFBZ0IsRUFBRSxFQUFFLEdBQ3JCO0VBN0JQLEFBK0JNLG9CQS9CYyxBQXFCakIsVUFBVSxDQUNULGdCQUFnQixBQVNiLFFBQVEsQ0FBQztJQUNSLEdBQUcsRUFBRSxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUMsR0FDWDtFQWxDUCxBQW9DTSxvQkFwQ2MsQUFxQmpCLFVBQVUsQ0FDVCxnQkFBZ0IsQUFjYixPQUFPLENBQUM7SUFDUCxNQUFNLEVBQUUsQ0FBQztJQUNULFNBQVMsRUFBRSxjQUFjLEdBQzFCOztBQzNDVCxBQUFBLE9BQU8sQ0FBQztFQUNKLFVBQVUsRTVJYUgsSUFBSSxHNElnRmQ7RUE5RkQsQUFHSSxPQUhHLENBR0gsVUFBVSxDQUFDO0lBQ1AsWUFBWSxFQUFFLEtBQUs7SUFDbkIsT0FBTyxFQUFFLElBQUksR0FNaEI7SW5JaURELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNbUk1RDVCLEFBR0ksT0FIRyxDQUdILFVBQVUsQ0FBQztRQUtILE9BQU8sRUFBRSxJQUFJO1FBQ2IsTUFBTSxFQUFFLENBQUMsR0FFaEI7RUFYTCxBQWFJLE9BYkcsQ0FhSCxLQUFLLENBQUM7SUFDRixLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRTFJd1BMLFFBQTJCO0kwSXZQL0IsT0FBTyxFQUFFLFlBQVksR0FLeEI7STFJSkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMElqQnZDLEFBYUksT0FiRyxDQWFILEtBQUssQ0FBQztRQU1FLFNBQVMsRTFJb1BULEtBQTJCLEcwSWxQbEM7RUFyQkwsQUF1QkksT0F2QkcsQ0F1QkgsZ0JBQWdCLENBQUM7SUFDYixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsSUFBSTtJQUNULElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsQ0FBQyxHQVdiO0luSXFCRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TW1JNUQ1QixBQXVCSSxPQXZCRyxDQXVCSCxnQkFBZ0IsQ0FBQztRQVFULEtBQUssRUFBRSxJQUFJO1FBQ1gsUUFBUSxFQUFFLE1BQU07UUFDaEIsT0FBTyxFQUFFLElBQUk7UUFDYixjQUFjLEVBQUUsR0FBRztRQUNuQixXQUFXLEVBQUUsTUFBTTtRQUNuQixTQUFTLEVBQUUsQ0FBQztRQUNaLFVBQVUsRUFBRSxJQUFJLEdBRXZCO0VBdkNMLEFBeUNJLE9BekNHLENBeUNILE9BQU8sQ0FBQztJQUNKLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxNQUFNO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsYUFBYTtJQUM5QixXQUFXLEVBQUUsTUFBTSxHQWtDdEI7SW5JcEJELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNbUk1RDVCLEFBeUNJLE9BekNHLENBeUNILE9BQU8sQ0FBQztRQVFBLE9BQU8sRTFJc05QLE9BQTJCLEMwSXROUCxDQUFDLEdBK0I1QjtJQWhGTCxBQW9EUSxPQXBERCxDQW9ERSxZQUFLLENBQUM7TUFDSCxLQUFLLEVBQUUsSUFBSSxHQUNkO0lBdERULEFBd0RRLE9BeERELENBd0RFLGVBQVEsQ0FBQztNQUNOLEtBQUssRUFBRSxJQUFJLEdBQ2Q7SUExRFQsQUE0RFEsT0E1REQsQ0E0REUsZUFBUSxDQUFDO01BQ04sS0FBSyxFQUFFLElBQUksR0FDZDtJQTlEVCxBQWdFUSxPQWhFRCxDQWdFRSxnQkFBUyxDQUFDO01BQ1AsT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTSxHQUt0QjtNbklYTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UW1JNUQ1QixBQWdFUSxPQWhFRCxDQWdFRSxnQkFBUyxDQUFDO1VBS0gsS0FBSyxFQUFFLENBQUMsR0FFZjtJQXZFVCxBQXlFUSxPQXpFRCxDQXlFRSxjQUFPLENBQUM7TUFDTCxNQUFNLEVBQUUsT0FBTyxHQUtsQjtNbkluQkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FtSTVENUIsQUF5RVEsT0F6RUQsQ0F5RUUsY0FBTyxDQUFDO1VBSUQsTUFBTSxFQUFFLENBQUMsR0FFaEI7RUEvRVQsQUFrRkksT0FsRkcsQ0FrRkgsSUFBSSxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsQzFJb0xMLFFBQTJCLEcwSTFLbEM7SUE3RkwsQUFxRlEsT0FyRkQsQ0FrRkgsSUFBSSxBQUdDLGFBQWEsQ0FBQztNQUNYLFdBQVcsRUFBRSxDQUFDO01BQ2QsWUFBWSxFQUFFLENBQUMsR0FLbEI7TW5JaENMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRbUk1RDVCLEFBcUZRLE9BckZELENBa0ZILElBQUksQUFHQyxhQUFhLENBQUM7VUFLUCxXQUFXLEUxSTZLZixRQUEyQixHMEkzSzlCOztBQzVGVCxBQUFBLE9BQU8sQ0FBQztFQUNKLFdBQVcsRTNJc1FILE9BQTJCO0UySXJRbkMsY0FBYyxFM0lxUU4sT0FBMkI7RTJJcFFuQyxLQUFLLEU3SVdFLElBQUk7RTZJVlgsVUFBVSxFN0lGUCxPQUFPLEc2SXVDYjtFQXpDRCxBQU1JLE9BTkcsQ0FNSCxLQUFLLENBQUM7STNJMk5OLFNBQVMsRUFzQ0QsU0FBMkI7SUFyQ25DLFdBQVcsRTJJM05tQixHQUFFO0lBQzVCLGFBQWEsRUFBRSxDQUFDLEdBS25CO0lwSStDRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TW9JNUQ1QixBQU1JLE9BTkcsQ0FNSCxLQUFLLENBQUM7UTNJMk5OLFNBQVMsRUFzQ0QsSUFBMkI7UUFyQ25DLFdBQVcsRTJJdk51QixNQUFFLEdBRW5DO0VBYkwsQUFlSSxPQWZHLENBZUgsS0FBSyxDQUFDO0kzSWtOTixTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEUySWxObUIsTUFBRTtJM0lxS2hDLEtBQUssRUZ2S0UsSUFBSTtJRXdLWCxVQUFVLEVGMUZMLGdCQUFnQixHNkl0RXBCO0lBdEJMLEEzSTBMSSxPMkkxTEcsQ0FlSCxLQUFLLEEzSTJLSixPQUFPLEUySTFMWixPQUFPLENBZUgsS0FBSyxBM0kyS00sTUFBTSxDQUFDO01BQ2QsS0FBSyxFRnhMTixPQUFPO01FeUxOLFVBQVUsRUZoR1QsZ0JBQWdCLEdFc0dwQjtNMklsTUwsQTNJOExRLE8ySTlMRCxDQWVILEtBQUssQTNJMktKLE9BQU8sQUFJSCxNQUFNLEUySTlMZixPQUFPLENBZUgsS0FBSyxBM0kyS00sTUFBTSxBQUlaLE1BQU0sQ0FBQztRQUNKLEtBQUssRUY1TFYsT0FBTztRRTZMRixVQUFVLEVGcEdiLGdCQUFnQixHRXFHaEI7STJJak1ULEEzSW9NSSxPMklwTUcsQ0FlSCxLQUFLLEEzSXFMSixPQUFPLENBQUM7TUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO00ySTFNTCxBM0l1TVEsTzJJdk1ELENBZUgsS0FBSyxBM0lxTEosT0FBTyxBQUdILE1BQU0sQ0FBQztRQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0kySXpNVCxBM0k0TUksTzJJNU1HLENBZUgsS0FBSyxBM0k2TEosTUFBTSxDQUFDO01BQ0osS0FBSyxFRjFNTixPQUFPO01FMk1OLFVBQVUsRUZsSFQsZ0JBQWdCO01FbUhqQixlQUFlLEVBQUUsSUFBSSxHQU14QjtNMklyTkwsQTNJaU5RLE8ySWpORCxDQWVILEtBQUssQTNJNkxKLE1BQU0sQUFLRixNQUFNLENBQUM7UUFDSixVQUFVLEVGdEhiLGdCQUFnQjtRRXVIYixlQUFlLEVBQUUsSUFBSSxHQUN4QjtJMklwTlQsQUFtQlEsT0FuQkQsQ0FlSCxLQUFLLEFBSUEsTUFBTSxDQUFDO01BQ0osZUFBZSxFQUFFLElBQUksR0FDeEI7RUFyQlQsQUF5QlEsT0F6QkQsQ0F5QkUsVUFBTSxDQUFDO0lBQ0osVUFBVSxFQUFFLE1BQU0sR0FLckI7SXBJNkJMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNb0k1RDVCLEFBeUJRLE9BekJELENBeUJFLFVBQU0sQ0FBQztRQUlBLFVBQVUsRUFBRSxJQUFJLEdBRXZCO0VBL0JULEFBaUNRLE9BakNELENBaUNFLFdBQU8sQ0FBQztJQUNMLFVBQVUsRUFBRSxNQUFNLEdBS3JCO0lwSXFCTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TW9JNUQ1QixBQWlDUSxPQWpDRCxDQWlDRSxXQUFPLENBQUM7UUFJRCxVQUFVLEVBQUUsS0FBSyxHQUV4Qjs7QUN2Q1QsQUFBQSxLQUFLLENBQUM7RUFDRixjQUFjLEVBQUUsTUFBTTtFQUN0QixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsZUFBZSxFQUFFLElBQUksR0E2S3hCO0VySXJIRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SXFJNUQ1QixBQUFBLEtBQUssQ0FBQztNQU9FLEtBQUssRUFBRSxJQUFJO01BQ1gsY0FBYyxFQUFFLEdBQUcsR0F5SzFCO0VySXJIRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SXFJakR2QixBQUVPLFdBRkQsQUFDRixTQUFTLENBQ04sY0FBYyxDQUFDO01BRVAsUUFBUSxFQUFFLFFBQVEsR0FFekI7RUFJUixBQUFELFdBQU8sQ0FBQztJQUNKLEtBQUssRUFBRSxJQUFJO0k1STJNZixTQUFTLEVBc0NELFFBQTJCO0lBckNuQyxXQUFXLEU0STNNbUIsT0FBRTtJNUk4SmhDLEtBQUssRUZ2S0UsSUFBSTtJRXdLWCxVQUFVLEVGcExQLE9BQU87SThJdUJOLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRTVJNk9ILFNBQTJCLENBQTNCLFFBQTJCO0k0STVPL0IsVUFBVSxFOUlzRFQsSUFBRyxDQUFDLFFBQVE7SThJckRiLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGVBQWUsRUFBRSxJQUFJLEdBS3hCO0lBYkEsQTVJcUtELFc0SXJLTyxBNUlxS04sT0FBTyxFNElyS1AsV0FBTSxBNUlxS0ksTUFBTSxDQUFDO01BQ2QsS0FBSyxFRjdLRixJQUFJO01FOEtQLFVBQVUsRUY3S1AsSUFBSSxHRW1MVjtNNEk3S0EsQTVJeUtHLFc0SXpLRyxBNUlxS04sT0FBTyxBQUlILE1BQU0sRTRJektWLFdBQU0sQTVJcUtJLE1BQU0sQUFJWixNQUFNLENBQUM7UUFDSixLQUFLLEVGakxOLElBQUk7UUVrTEgsVUFBVSxFRmpMWCxJQUFJLEdFa0xOO0k0STVLSixBNUkrS0QsVzRJL0tPLEE1SStLTixPQUFPLENBQUM7TUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO000SXJMQSxBNUlrTEcsVzRJbExHLEE1SStLTixPQUFPLEFBR0gsTUFBTSxDQUFDO1FBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7STRJcExKLEE1SXVMRCxXNEl2TE8sQTVJdUxOLE1BQU0sQ0FBQztNQUNKLEtBQUssRUYvTEYsSUFBSTtNRWdNUCxVQUFVLEVGL0xQLElBQUk7TUVnTVAsZUFBZSxFQUFFLElBQUksR0FNeEI7TTRJaE1BLEE1STRMRyxXNEk1TEcsQTVJdUxOLE1BQU0sQUFLRixNQUFNLENBQUM7UUFDSixVQUFVLEVGbk1YLElBQUk7UUVvTUgsZUFBZSxFQUFFLElBQUksR0FDeEI7SU94SkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01xSXZDdkIsQUFBRCxXQUFPLENBQUM7UTVJZ0tSLEtBQUssRUZ0S0UsSUFBSTtRRXVLWCxVQUFVLEVGMUZMLGdCQUFnQixHOEkxRHBCO1FBYkEsQTVJcUtELFc0SXJLTyxBNUlxS04sT0FBTyxFNElyS1AsV0FBTSxBNUlxS0ksTUFBTSxDQUFDO1VBQ2QsS0FBSyxFRnpMTixPQUFPO1VFMExOLFVBQVUsRUZoR1QsZ0JBQWdCLEdFc0dwQjtVNEk3S0EsQTVJeUtHLFc0SXpLRyxBNUlxS04sT0FBTyxBQUlILE1BQU0sRTRJektWLFdBQU0sQTVJcUtJLE1BQU0sQUFJWixNQUFNLENBQUM7WUFDSixLQUFLLEVGN0xWLE9BQU87WUU4TEYsVUFBVSxFRnBHYixnQkFBZ0IsR0VxR2hCO1E0STVLSixBNUkrS0QsVzRJL0tPLEE1SStLTixPQUFPLENBQUM7VUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO1U0SXJMQSxBNUlrTEcsVzRJbExHLEE1SStLTixPQUFPLEFBR0gsTUFBTSxDQUFDO1lBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7UTRJcExKLEE1SXVMRCxXNEl2TE8sQTVJdUxOLE1BQU0sQ0FBQztVQUNKLEtBQUssRUYzTU4sT0FBTztVRTRNTixVQUFVLEVGbEhULGdCQUFnQjtVRW1IakIsZUFBZSxFQUFFLElBQUksR0FNeEI7VTRJaE1BLEE1STRMRyxXNEk1TEcsQTVJdUxOLE1BQU0sQUFLRixNQUFNLENBQUM7WUFDSixVQUFVLEVGdEhiLGdCQUFnQjtZRXVIYixlQUFlLEVBQUUsSUFBSSxHQUN4QjtFNEloTEosQUFBRCxlQUFXLENBQUM7SUFDUixhQUFhLEVBQUUsQ0FBQztJQUNoQixNQUFNLEVBQUUsQ0FBQztJQUNULE1BQU0sRUFBRSxDQUFDLEdBS1o7SXJJZ0JELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNcUl4QnZCLEFBQUQsZUFBVyxDQUFDO1FBTUosUUFBUSxFQUFFLFFBQVEsR0FFekI7RUFFQSxBQUFELFlBQVEsQ0FBQztJQUNMLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLE9BQU8sRUFBRSxDQUFDO0k1SWlMZCxTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEU0SWpMbUIsS0FBRTtJQUM1QixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQzVJcU5QLFFBQTJCLEM0SXJOUixDQUFDLEdBOEgzQjtJcklwSEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01xSWR2QixBQU1HLFlBTkksQUFNSCxTQUFTLENBQUM7UUFFSCxPQUFPLEVBQUUsWUFBWSxHQUU1QjtJQUVBLEFBQUQsa0JBQU8sQ0FBQztNQUNKLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDOUk3Q3pCLElBQUksRzhJb0VOO01BeEJBLEFBS1csa0JBTEwsQUFHRixNQUFNLENBQ0gsa0JBQWtCLEFBQ2IsTUFBTSxFQUxsQixrQkFBTSxBQUdPLE9BQU8sQ0FDYixrQkFBa0IsQUFDYixNQUFNLEVBTGxCLGtCQUFNLEFBR2lCLE1BQU0sQ0FDdEIsa0JBQWtCLEFBQ2IsTUFBTSxFQUxsQixrQkFBTSxBQUcwQixRQUFRLENBQ2pDLGtCQUFrQixBQUNiLE1BQU0sQ0FBQztRQUNKLEtBQUssRTlJOUR0QixPQUFPLEc4SStETztNQVBaLEFBYVcsa0JBYkwsQUFXRixLQUFLLENBQ0Ysa0JBQWtCLEFBQ2IsTUFBTSxDQUFDO1FBQ0osU0FBUyxFQUFFLGFBQWE7UUFDeEIsZ0JBQWdCLEVBQUUsT0FBTyxHQUM1QjtNQWhCWixBQW1CTyxrQkFuQkQsQUFXRixLQUFLLENBUUYsUUFBUSxDQUFDO1FBQ0wsT0FBTyxFNUl5TGYsU0FBMkIsQzRJekxBLENBQUM7UUFDcEIsTUFBTSxFQUFFLElBQUksR0FDZjtJQUlSLEFBQUQsa0JBQU8sQ0FBQztNQUNKLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFNUlpTFAsT0FBMkIsQ0FBM0IsU0FBMkIsQ0FBM0IsT0FBMkIsQ0FBM0IsU0FBMkI7TUFsRm5DLEtBQUssRUZ2S0UsSUFBSTtNRXdLWCxVQUFVLEVGcExQLE9BQU87TThJc0ZGLFVBQVUsRTlJUGIsSUFBRyxDQUFDLFFBQVE7TThJUVQsT0FBTyxFQUFFLFlBQVk7TUFDckIsUUFBUSxFQUFFLFFBQVEsR0FzQnJCO01BNUJBLEE1SXNHTCxrQjRJdEdXLEE1SXNHVixPQUFPLEU0SXRHSCxrQkFBTSxBNUlzR0EsTUFBTSxDQUFDO1FBQ2QsS0FBSyxFRjdLRixJQUFJO1FFOEtQLFVBQVUsRUYxTFgsT0FBTyxHRWdNVDtRNEk5R0ksQTVJMEdELGtCNEkxR08sQTVJc0dWLE9BQU8sQUFJSCxNQUFNLEU0STFHTixrQkFBTSxBNUlzR0EsTUFBTSxBQUlaLE1BQU0sQ0FBQztVQUNKLEtBQUssRUZqTE4sSUFBSTtVRWtMSCxVQUFVLEVGOUxmLE9BQU8sR0UrTEw7TTRJN0dBLEE1SWdITCxrQjRJaEhXLEE1SWdIVixPQUFPLENBQUM7UUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO1E0SXRISSxBNUltSEQsa0I0SW5ITyxBNUlnSFYsT0FBTyxBQUdILE1BQU0sQ0FBQztVQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO000SXJIQSxBNUl3SEwsa0I0SXhIVyxBNUl3SFYsTUFBTSxDQUFDO1FBQ0osS0FBSyxFRi9MRixJQUFJO1FFZ01QLFVBQVUsRUY1TVgsT0FBTztRRTZNTixlQUFlLEVBQUUsSUFBSSxHQU14QjtRNElqSUksQTVJNkhELGtCNEk3SE8sQTVJd0hWLE1BQU0sQUFLRixNQUFNLENBQUM7VUFDSixVQUFVLEVGaE5mLE9BQU87VUVpTkYsZUFBZSxFQUFFLElBQUksR0FDeEI7TTRJaElBLEFBUUcsa0JBUkcsQUFRRixNQUFNLENBQUM7UUFDSixPQUFPLEVBQUUsT0FBTztRQUNoQixRQUFRLEVBQUUsUUFBUTtRQUNsQixHQUFHLEVBQUUsR0FBRztRQUNSLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsS0FBSyxFNUlzS1QsU0FBMkI7UUExQi9CLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtRNEkxSXhELEtBQUssRTlJakdkLE9BQU87UThJa0dFLEtBQUssRTVJbUtULElBQTJCO1E0SWxLdkIsTUFBTSxFNUlrS1YsSUFBMkI7UTRJakt2QixTQUFTLEU1SWlLYixPQUEyQjtRNEloS3ZCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsZUFBZSxFQUFFLE1BQU07UUFDdkIsV0FBVyxFQUFFLE1BQU07UUFDbkIsVUFBVSxFOUl6QmpCLElBQUcsQ0FBQyxRQUFRLEc4STBCUjtNQXZCSixBQXlCRyxrQkF6QkcsQUF5QkYsTUFBTSxDQUFDO1FBQ0osZUFBZSxFQUFFLElBQUksR0FDeEI7SUFqRVIsQUFxRUcsWUFyRUksQ0FxRUosUUFBUSxDQUFDO01BQ0wsZUFBZSxFQUFFLElBQUk7TUFDckIsT0FBTyxFQUFFLENBQUM7TUFDVixVQUFVLEU5SW5IZixPQUFPO004SW9IRixNQUFNLEVBQUUsQ0FBQztNQUNULFVBQVUsRTlJdkNiLElBQUcsQ0FBQyxRQUFRO004SXdDVCxRQUFRLEVBQUUsTUFBTSxHQXNEbkI7TUFqSUosQUE2RU8sWUE3RUEsQ0FxRUosUUFBUSxDQVFKLGtCQUFrQixDQUFDO1FBQ2YsUUFBUSxFQUFFLFFBQVEsR0FlckI7UUE3RlIsQUFnRlcsWUFoRkosQ0FxRUosUUFBUSxDQVFKLGtCQUFrQixBQUdiLE9BQU8sQ0FBQztVQUNMLE9BQU8sRUFBRSxHQUFHO1VBQ1osUUFBUSxFQUFFLFFBQVE7VUFDbEIsR0FBRyxFNUlzSVgsT0FBMkI7VTRJckluQixJQUFJLEU1SXFJWixTQUEyQixHNElwSXRCO1FBckZaLEFBd0ZlLFlBeEZSLENBcUVKLFFBQVEsQ0FRSixrQkFBa0IsQUFVYixLQUFLLENBQ0YsUUFBUSxDQUFDO1VBQ0wsT0FBTyxFNUlnSW5CLFNBQTJCLEM0SWhJSSxDQUFDO1VBQ3BCLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7TUEzRmhCLEFBK0ZPLFlBL0ZBLENBcUVKLFFBQVEsQ0EwQkosa0JBQWtCLENBQUM7UUFDZixLQUFLLEVBQUUsSUFBSTtRNUl1Q3ZCLEtBQUssRUZsTEYsT0FBTztRRW1MVixVQUFVLEVGMUZMLGdCQUFnQjtRRXFJckIsU0FBUyxFQXNDRCxJQUEyQjtRQXJDbkMsV0FBVyxFNElsRjJCLEtBQUU7UUFDNUIsT0FBTyxFQUFFLFlBQVk7UUFDckIsVUFBVSxFOUlqRWpCLElBQUcsQ0FBQyxRQUFRO1E4SWtFTCxPQUFPLEU1SW9IWCxTQUEyQixDQUEzQixTQUEyQixDQUEzQixTQUEyQixDQUEzQixRQUEyQixHNEkzRzFCO1FBOUdSLEE1STRJRCxZNEk1SVEsQ0FxRUosUUFBUSxDQTBCSixrQkFBa0IsQTVJNkN6QixPQUFPLEU0STVJUCxZQUFPLENBcUVKLFFBQVEsQ0EwQkosa0JBQWtCLEE1STZDZixNQUFNLENBQUM7VUFDZCxLQUFLLEVGN0tGLElBQUk7VUU4S1AsVUFBVSxFRjFMWCxPQUFPLEdFZ01UO1U0SXBKQSxBNUlnSkcsWTRJaEpJLENBcUVKLFFBQVEsQ0EwQkosa0JBQWtCLEE1STZDekIsT0FBTyxBQUlILE1BQU0sRTRJaEpWLFlBQU8sQ0FxRUosUUFBUSxDQTBCSixrQkFBa0IsQTVJNkNmLE1BQU0sQUFJWixNQUFNLENBQUM7WUFDSixLQUFLLEVGakxOLElBQUk7WUVrTEgsVUFBVSxFRjlMZixPQUFPLEdFK0xMO1E0SW5KSixBNUlzSkQsWTRJdEpRLENBcUVKLFFBQVEsQ0EwQkosa0JBQWtCLEE1SXVEekIsT0FBTyxDQUFDO1VBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtVNEk1SkEsQTVJeUpHLFk0SXpKSSxDQXFFSixRQUFRLENBMEJKLGtCQUFrQixBNUl1RHpCLE9BQU8sQUFHSCxNQUFNLENBQUM7WUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtRNEkzSkosQTVJOEpELFk0STlKUSxDQXFFSixRQUFRLENBMEJKLGtCQUFrQixBNUkrRHpCLE1BQU0sQ0FBQztVQUNKLEtBQUssRUYvTEYsSUFBSTtVRWdNUCxVQUFVLEVGNU1YLE9BQU87VUU2TU4sZUFBZSxFQUFFLElBQUksR0FNeEI7VTRJdktBLEE1SW1LRyxZNEluS0ksQ0FxRUosUUFBUSxDQTBCSixrQkFBa0IsQTVJK0R6QixNQUFNLEFBS0YsTUFBTSxDQUFDO1lBQ0osVUFBVSxFRmhOZixPQUFPO1lFaU5GLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO1E0SXRLSixBQXVHVyxZQXZHSixDQXFFSixRQUFRLENBMEJKLGtCQUFrQixBQVFiLE1BQU0sQ0FBQztVQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO1FBekdaLEFBMkdXLFlBM0dKLENBcUVKLFFBQVEsQ0EwQkosa0JBQWtCLEFBWWIsTUFBTSxDQUFDO1VBQ0osZUFBZSxFQUFFLElBQUksR0FDeEI7TUE3R1osQUFnSE8sWUFoSEEsQ0FxRUosUUFBUSxDQTJDSixRQUFRLENBQUM7UUFDTCxNQUFNLEVBQUUsQ0FBQyxHQWVaO1FBaElSLEFBbUhXLFlBbkhKLENBcUVKLFFBQVEsQ0EyQ0osUUFBUSxDQUdKLGtCQUFrQixDQUFDO1VBQ2YsTUFBTSxFQUFFLENBQUMsR0FNWjtVQTFIWixBQXNIZSxZQXRIUixDQXFFSixRQUFRLENBMkNKLFFBQVEsQ0FHSixrQkFBa0IsQUFHYixPQUFPLENBQUM7WUFDTCxHQUFHLEU1SWtHZixTQUEyQjtZNElqR2YsSUFBSSxFNUlpR2hCLFFBQTJCLEc0SWhHbEI7UUF6SGhCLEFBNEhXLFlBNUhKLENBcUVKLFFBQVEsQ0EyQ0osUUFBUSxDQVlKLGtCQUFrQixDQUFDO1U1SXVEL0IsU0FBUyxFQXNDRCxRQUEyQjtVQXJDbkMsV0FBVyxFNEl2RCtCLE9BQUU7VUFDNUIsT0FBTyxFNUkyRmYsU0FBMkIsQ0FBM0IsU0FBMkIsQ0FBM0IsU0FBMkIsQ0FBM0IsU0FBMkIsRzRJMUZ0Qjs7QUM1S1osQUFBRCxlQUFRLENBQUM7RUFDTCxLQUFLLEUvSThETixPQUFPO0UrSTdETixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFVBQVUsRS9JMkNQLE9BQU87RStJMUNWLE9BQU8sRTdJaVFILFNBQTJCLENBQTNCLFNBQTJCLEM2SWpRQSxDQUFDLEM3SWlRNUIsU0FBMkI7RTZJaFEvQixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxFQUFFLEdBb0JaO0VBbEJHLE1BQU0sQ0FBQyxNQUFNLE9BQU8sZ0JBQWdCLEVBQUUsTUFBTSxLQUFLLGdCQUFnQixFQUFFLElBQUk7SUFUMUUsQUFBRCxlQUFRLENBQUM7TUFVRCxPQUFPLEVBQUUsWUFBWSxHQWlCNUI7RXRJZ0NELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJc0kzRHZCLEFBQUQsZUFBUSxDQUFDO01BY0QsT0FBTyxFN0l3UFAsU0FBMkIsQzZJeFBQLEdBQUcsR0FhOUI7RXRJZ0NELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJc0kzRHZCLEFBQUQsZUFBUSxDQUFDO01Ba0JELE9BQU8sRTdJb1BQLFNBQTJCLEM2SXBQUCxHQUFHLEdBUzlCO0VBTkksQUFBRCxzQkFBUSxDQUFDO0lBQ0wsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsWUFBWTtJQUM3QixXQUFXLEVBQUUsTUFBTTtJQUNuQixTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUFHSixBQUFELGNBQU8sQ0FBQztFQUNKLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLE1BQU07RUFDdkIsY0FBYyxFQUFFLE1BQU07RTdJbUoxQixLQUFLLEVGckhGLE9BQU87RUVzSFYsVUFBVSxFRjFGTCxnQkFBZ0I7RStJeERqQixXQUFXLEVBQUUsSUFBSTtFN0k2THJCLFNBQVMsRUFzQ0QsU0FBMkI7RUFyQ25DLFdBQVcsRTZJN0xtQixPQUFFO0VBQzVCLFVBQVUsRS9JMkNULElBQUcsQ0FBQyxRQUFRO0UrSTFDYixLQUFLLEVBQUUsb0JBQW9CO0VBQzNCLGFBQWEsRTdJK05ULFNBQTJCLEc2SXpLbEM7RUFoRUEsQTdJNEpELGM2STVKTyxBN0k0Sk4sT0FBTyxFNkk1SlAsY0FBTSxBN0k0SkksTUFBTSxDQUFDO0lBQ2QsS0FBSyxFRjFITixPQUFPO0lFMkhOLFVBQVUsRUZoR1QsZ0JBQWdCLEdFc0dwQjtJNklwS0EsQTdJZ0tHLGM2SWhLRyxBN0k0Sk4sT0FBTyxBQUlILE1BQU0sRTZJaEtWLGNBQU0sQTdJNEpJLE1BQU0sQUFJWixNQUFNLENBQUM7TUFDSixLQUFLLEVGOUhWLE9BQU87TUUrSEYsVUFBVSxFRnBHYixnQkFBZ0IsR0VxR2hCO0U2SW5LSixBN0lzS0QsYzZJdEtPLEE3SXNLTixPQUFPLENBQUM7SUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO0k2STVLQSxBN0l5S0csYzZJektHLEE3SXNLTixPQUFPLEFBR0gsTUFBTSxDQUFDO01BQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7RTZJM0tKLEE3SThLRCxjNkk5S08sQTdJOEtOLE1BQU0sQ0FBQztJQUNKLEtBQUssRUY1SU4sT0FBTztJRTZJTixVQUFVLEVGbEhULGdCQUFnQjtJRW1IakIsZUFBZSxFQUFFLElBQUksR0FNeEI7STZJdkxBLEE3SW1MRyxjNkluTEcsQTdJOEtOLE1BQU0sQUFLRixNQUFNLENBQUM7TUFDSixVQUFVLEVGdEhiLGdCQUFnQjtNRXVIYixlQUFlLEVBQUUsSUFBSSxHQUN4QjtFQW5NTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2SWFsQyxBQUFELGNBQU8sQ0FBQztNQWFBLEtBQUssRUFBRSxvQkFBb0IsR0FtRGxDO0VBaEVBLEFBZ0JHLGNBaEJHLEFBZ0JGLE9BQU8sQ0FBQztJQUNMLEtBQUssRS9JdEJWLE9BQU87SStJdUJGLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFN0lzTk4sT0FBMkI7STZJck4zQixTQUFTLEU3SXFOVCxPQUEyQjtJQWpCL0IsV0FBVyxFRjdLSSxvQkFBb0IsRUU2S0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0k2SWxNNUQsT0FBTyxFQUFFLEtBQUs7SUFDZCxhQUFhLEU3SWtOYixRQUEyQjtJNklqTjNCLFVBQVUsRS9JMkJiLElBQUcsQ0FBQyxRQUFRLEcrSTFCWjtFQXpCSixBQTJCRyxjQTNCRyxBQTJCRixNQUFNLENBQUM7SUFDSixlQUFlLEVBQUUsSUFBSSxHQUt4QjtJQWpDSixBQThCTyxjQTlCRCxBQTJCRixNQUFNLEFBR0YsT0FBTyxDQUFDO01BQ0wsS0FBSyxFL0lyQ2QsT0FBTyxHK0lzQ0Q7RUFoQ1IsQUFtQ0csY0FuQ0csQ0FtQ0gsSUFBSSxDQUFDO0k3SWdLVCxTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEU2SWhLdUIsS0FBRTtJQUM1QixVQUFVLEU3SW9NVixTQUEyQjtJNkluTTNCLFdBQVcsRUFBRSxNQUFNLEdBQ3RCO0VBRUEsQUFDRyxzQkFESyxBQUNKLE9BQU8sQ0FBQztJQUNMLE9BQU8sRUFBRSxPQUFPLEdBQ25CO0VBR0osQUFDRyx1QkFETSxBQUNMLE9BQU8sQ0FBQztJQUNMLE9BQU8sRUFBRSxPQUFPLEdBQ25CO0VBR0osQUFDRyxvQkFERyxBQUNGLE9BQU8sQ0FBQztJQUNMLE9BQU8sRUFBRSxPQUFPLEdBQ25CO0VBR0osQUFDRyxxQkFESSxBQUNILE9BQU8sQ0FBQztJQUNMLE9BQU8sRUFBRSxPQUFPLEdBQ25COztBQUlSLEFBQUQsZUFBUSxDQUFDO0VBQ0wsS0FBSyxFL0lqQ04sT0FBTztFK0lrQ04sV0FBVyxFQUFFLElBQUk7RUFDakIsYUFBYSxFN0lvS1QsU0FBMkI7RUF0Q25DLFNBQVMsRUFzQ0QsTUFBMkI7RUFyQ25DLFdBQVcsRTZJOUhtQixPQUFFLEdBQy9COztBQUVBLEFBQUQsY0FBTyxDQUFDO0VBQ0osS0FBSyxFL0l4Q04sT0FBTztFK0l5Q04sYUFBYSxFN0k4SlQsU0FBMkIsRzZJN0psQzs7QUMxR0wsQUFBQSxRQUFRLENBQUM7RUFFTCxPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsTUFBTSxFQUFFLE9BQU8sR0F3R2xCO0V2SW5DRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7SXVJekUvQixBQUFBLFFBQVEsQ0FBQztNQU9ELFVBQVUsRUFBRSxNQUFNO01BQ2xCLGVBQWUsRUFBRSxNQUFNLEdBb0c5QjtFQTVHRCxBQVdJLFFBWEksQ0FXSixjQUFjLENBQUM7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsWUFBWTtJQUNyQixLQUFLLEU5SXlQRCxLQUEyQjtJOEl4UC9CLE1BQU0sRTlJd1BGLEtBQTJCO0k4SXZQL0IsTUFBTSxFQUFFLENBQUMsQzlJdVBMLFNBQTJCLENBQTNCLFFBQTJCLENBQTNCLFNBQTJCLEc4SXhMbEM7SXZJbkJELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNdUk1RDVCLEFBV0ksUUFYSSxDQVdKLGNBQWMsQ0FBQztRQVFQLEtBQUssRUFBRSxxQkFBcUI7UUFDNUIsTUFBTSxFOUltUE4sUUFBMkIsRzhJeExsQztJdkluQkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO011STVENUIsQUFXSSxRQVhJLENBV0osY0FBYyxDQUFDO1FBYVAsTUFBTSxFOUkrT04sU0FBMkIsRzhJeExsQztJdkluQkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO011STVENUIsQUFXSSxRQVhJLENBV0osY0FBYyxDQUFDO1FBaUJQLEtBQUssRUFBRSxxQkFBcUI7UUFDNUIsTUFBTSxFOUkwT04sU0FBMkI7UThJek8zQixNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQzlJeU9kLFFBQTJCLEM4SXpPRCxJQUFJLEdBaURyQztJQS9FTCxBQWlDUSxRQWpDQSxDQVdKLGNBQWMsQ0FzQlYsQ0FBQyxFQWpDVCxRQUFRLENBV0osY0FBYyxDQXNCUCxHQUFHLENBQUM7TUFDSCxLQUFLLEVoSnBCTixJQUFJO01nSnFCSCxhQUFhLEVBQUUsQ0FBQztNQUNoQixXQUFXLEVBQUUsQ0FBQyxHQUNqQjtJQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sZ0JBQWdCLEVBQUUsTUFBTSxLQUFLLGdCQUFnQixFQUFFLElBQUk7TUF2Qy9FLEFBd0NZLFFBeENKLENBV0osY0FBYyxDQTZCTixPQUFPLENBQUM7UUFDSixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7SUEzQ2IsQUE4Q1EsUUE5Q0EsQ0FXSixjQUFjLENBbUNWLEdBQUcsQ0FBQztNQUNBLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixVQUFVLEVBQUUsS0FBSyxHQUNwQjtJQWxEVCxBQW9EUSxRQXBEQSxDQVdKLGNBQWMsQUF5Q1QsT0FBTyxDQUFDO01BQ0wsVUFBVSxFaEo0QmIsSUFBRyxDQUFDLFFBQVE7TWdKM0JULE9BQU8sRUFBRSxFQUFFO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLENBQUM7TUFDTixJQUFJLEVBQUUsQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixVQUFVLEVoSjdDWCxJQUFJO01nSjhDSCxPQUFPLEVBQUUsRUFBRSxHQUNkO0lBOURULEFBaUVZLFFBakVKLENBV0osY0FBYyxBQXFEVCxNQUFNLEFBQ0YsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLENBQUMsR0FDYjtJQW5FYixBQXNFUSxRQXRFQSxDQVdKLGNBQWMsQ0EyRFYsVUFBVSxDQUFDO01BQ1AsUUFBUSxFQUFFLFFBQVE7TUFDbEIsTUFBTSxFQUFFLENBQUM7TUFDVCxJQUFJLEVBQUUsQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFOUk0TFAsUUFBMkI7TThJM0wzQixPQUFPLEVBQUUsQ0FBQyxHQUNiO0VBSUosQUFBRCxlQUFRLENBQUM7SUFDTCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsWUFBWTtJQUNyQixhQUFhLEU5SW1MVCxRQUEyQixHOEk1SmxDO0l2SS9DRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TXVJcUJ2QixBQUFELGVBQVEsQ0FBQztRQU1ELGFBQWEsRUFBRSxDQUFDLEdBb0J2QjtJQTFCQSxBQVNHLGVBVEksQUFTSCxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTztNQUNoQixRQUFRLEVBQUUsUUFBUTtNQUNsQixNQUFNLEU5STBLTixPQUEyQjtNOEl6SzNCLEtBQUssRTlJeUtMLE9BQTJCO004SXhLM0IsS0FBSyxFOUl3S0wsUUFBMkI7TThJdkszQixNQUFNLEU5SXVLTixRQUEyQjtNOEl0SzNCLFVBQVUsRUFBRSxxQkFBb0I7TTlJNElwQyxXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TThJMUk1RCxPQUFPLEVBQUUsSUFBSTtNQUNiLFdBQVcsRUFBRSxNQUFNO01BQ25CLGVBQWUsRUFBRSxNQUFNO01BQ3ZCLE9BQU8sRUFBRSxDQUFDO01BQ1YsS0FBSyxFaEp6Rk4sSUFBSTtNZ0owRkgsU0FBUyxFOUkrSlQsTUFBMkIsRzhJN0o5Qjs7QXJEcENULEFBQUEsVUFBVSxDcUR5Q0M7RUFDUCxVQUFVLEVBQUUsa0NBQXFDLENBQUMsU0FBUyxHQUM5RDs7QXJEWEQsQUFBQSxPQUFPLENBQUMsQ0FBQyxBQUFBLFFBQVEsQ3FEYUM7RUFDZCxVQUFVLEVBQUUsK0JBQWtDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTO0VBQ2pFLE9BQU8sRUFBRSxDQUFDLEdBQ2I7O0FyREVELEFBQUEsT0FBTyxDQUFDLENBQUMsQUFBQSxRQUFRLENxREFDO0VBQ2QsVUFBVSxFQUFFLCtCQUFrQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUztFQUNsRSxPQUFPLEVBQUUsQ0FBQyxHQUNiOztBckQ0REQsQUFBQSxRQUFRLENBQUMsU0FBUyxDcUQxREM7RUFDZixVQUFVLEVBQUUsZ0NBQW1DLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQ3RFOztBckRXRCxBQUFBLGlCQUFpQixDcURUQztFQUNkLEdBQUcsRUFBRSxLQUFLO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLEdBQUc7RUFDVCxTQUFTLEVBQUUsZ0JBQWdCLEdBQzlCOztBckRsSUQsQUFBQSxnQkFBZ0IsQ3FEb0lDO0VBQ2IsT0FBTyxFQUFFLE1BQU0sR0FDbEI7O0FyRDNIRCxBQUFBLFNBQVMsQ3FENkhDO0VBQ04sT0FBTyxFQUFFLE1BQU0sR0FDbEI7O0FDNUlELEFBQUEsY0FBYyxDQUFDO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLE1BQU0sRUFBRSxPQUFPLEdBbUpsQjtFeEk5RkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0l3STFENUIsQUFBQSxjQUFjLENBQUM7TUFRUCxlQUFlLEVBQUUsVUFBVSxHQWdKbEM7RUF4SkQsQUFXSSxjQVhVLENBV1YsSUFBSSxDQUFDO0lBQ0QsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQy9JdVBWLFFBQTJCLEMrSXZQTCxJQUFJO0lBQzlCLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsc0JBQXFCO0lBQzdDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsUUFBUSxFQUFFLFFBQVEsR0E0RHJCO0l4SXJCRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TXdJMUQ1QixBQVdJLGNBWFUsQ0FXVixJQUFJLENBQUM7UUFXRyxLQUFLLEVBQUUscUJBQXFCO1FBQzVCLFNBQVMsRUFBRSxJQUFJLEdBd0R0QjtJeElyQkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO013STFENUIsQUFXSSxjQVhVLENBV1YsSUFBSSxDQUFDO1FBZ0JHLEtBQUssRUFBRSxxQkFBcUIsR0FvRG5DO0l4SXJCRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07TXdJMUQ3QixBQVdJLGNBWFUsQ0FXVixJQUFJLENBQUM7UUFvQkcsS0FBSyxFQUFFLHVCQUF5QyxHQWdEdkQ7SUEvRUwsQUFrQ1EsY0FsQ00sQ0FXVixJQUFJLENBdUJBLE9BQU8sQ0FBQztNQUNKLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRS9JaU9ILFFBQTJCO00rSWhPM0IsSUFBSSxFQUFFLENBQUM7TUFDUCxlQUFlLEVBQUUsSUFBSTtNQUNyQixPQUFPLEVBQUUsQ0FBQyxHQXFCYjtNQTVEVCxBQXlDWSxjQXpDRSxDQVdWLElBQUksQ0F1QkEsT0FBTyxDQU9ILEVBQUUsQ0FBQztRQUNDLE9BQU8sRUFBRSxJQUFJO1FBQ2IsS0FBSyxFakovQlYsSUFBSTtRaUpnQ0MsVUFBVSxFQUFFLE9BQU87UUFDbkIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEMvSXdOZixTQUEyQixDK0l4TkQsQ0FBQztRQUN2QixPQUFPLEUvSXVOWCxTQUEyQixDQUEzQixRQUEyQixHK0kxTTFCO1FBM0RiLEFBZ0RnQixjQWhERixDQVdWLElBQUksQ0F1QkEsT0FBTyxDQU9ILEVBQUUsQUFPRyxTQUFTLENBQUM7VUFDUCxVQUFVLEVqSkxqQixPQUFPLEdpSk1IO1FBbERqQixBQW9EZ0IsY0FwREYsQ0FXVixJQUFJLENBdUJBLE9BQU8sQ0FPSCxFQUFFLEFBV0csY0FBYyxDQUFDO1VBQ1osVUFBVSxFakpYakIsT0FBTyxHaUpZSDtRQXREakIsQUF3RGdCLGNBeERGLENBV1YsSUFBSSxDQXVCQSxPQUFPLENBT0gsRUFBRSxBQWVHLEtBQUssQ0FBQztVQUNILFVBQVUsRWpKWnBCLE9BQU8sR2lKYUE7SUExRGpCLEFBK0RZLGNBL0RFLENBV1YsSUFBSSxBQW1EQyxTQUFTLENBQ04sU0FBUyxDQUFDO01BQ04sT0FBTyxFQUFFLE9BQU8sR0FDbkI7SUFqRWIsQUFxRVksY0FyRUUsQ0FXVixJQUFJLEFBeURDLGNBQWMsQ0FDWCxjQUFjLENBQUM7TUFDWCxPQUFPLEVBQUUsT0FBTyxHQUNuQjtJQXZFYixBQTJFWSxjQTNFRSxDQVdWLElBQUksQUErREMsS0FBSyxDQUNGLEtBQUssQ0FBQztNQUNGLE9BQU8sRUFBRSxPQUFPLEdBQ25CO0VBN0ViLEFBaUZJLGNBakZVLENBaUZWLGFBQWEsQ0FBQztJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFL0lrTEYsUUFBMkIsRytJM0tsQztJQTFGTCxBQXFGUSxjQXJGTSxDQWlGVixhQUFhLENBSVQsR0FBRyxDQUFDO01BQ0EsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEUvSThLTixRQUEyQjtNK0k3SzNCLFVBQVUsRUFBRSxLQUFLLEdBQ3BCO0VBekZULEFBNEZJLGNBNUZVLENBNEZWLGlCQUFpQixDQUFDO0lBQ2QsTUFBTSxFQUFFLElBQUk7SUFDWixVQUFVLEVqSmxGUCxJQUFJO0lpSm1GUCxPQUFPLEUvSXNLSCxRQUEyQjtJK0lySy9CLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsZUFBZSxFQUFFLGFBQWE7SUFDOUIsV0FBVyxFQUFFLE1BQU0sR0FrQnRCO0kvSTNDRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TStJMUU1QixBQTRGSSxjQTVGVSxDQTRGVixpQkFBaUIsQ0FBQztRQVVWLFdBQVcsRUFBRSxVQUFVLEdBZTlCO0lBckhMLEFBeUdRLGNBekdNLENBNEZWLGlCQUFpQixDQWFiLElBQUksQ0FBQztNQUNELEtBQUssRUFBRSxJQUFJO01BQ1gsU0FBUyxFQUFFLElBQUk7TUFDZixTQUFTLEUvSXlKVCxPQUEyQixHK0l4SjlCO0lBN0dULEFBK0dRLGNBL0dNLENBNEZWLGlCQUFpQixDQW1CYixNQUFNLENBQUM7TS9JZ0hYLFNBQVMsRUFzQ0QsSUFBMkI7TUFyQ25DLFdBQVcsRStJaEh1QixDQUFFO01BQzVCLEtBQUssRWpKcEdOLElBQUk7TWlKcUdILGFBQWEsRUFBRSxDQUFDO01BQ2hCLFdBQVcsRUFBRSxJQUFJLEdBQ3BCO0VBcEhULEFBdUhJLGNBdkhVLENBdUhWLHNCQUFzQixDQUFDO0lBQ25CLEtBQUssRUFBRSxJQUFJLEdBU2Q7SUFqSUwsQUEwSFEsY0ExSE0sQ0F1SFYsc0JBQXNCLENBR2xCLGVBQWUsQ0FBQztNQUNaLGFBQWEsRS9JMEliLFFBQTJCLEcrSXJJOUI7TUFoSVQsQUE2SFksY0E3SEUsQ0F1SFYsc0JBQXNCLENBR2xCLGVBQWUsQUFHVixhQUFhLENBQUM7UUFDWCxhQUFhLEUvSXVJakIsT0FBMkIsRytJdEkxQjtFQS9IYixBQW1JSSxjQW5JVSxDQW1JVix5QkFBeUIsQ0FBQztJQUN0QixLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWE7SUFDOUIsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUF4SUwsQUEwSUksY0ExSVUsQ0EwSVYsTUFBTSxDQUFDO0lBQ0gsYUFBYSxFL0kwSFQsT0FBMkIsRytJOUdsQztJQXZKTCxBQTZJUSxjQTdJTSxDQTBJVixNQUFNLENBR0YsRUFBRSxDQUFDO01BQ0MsT0FBTyxFL0l1SFAsU0FBMkIsQytJdkhSLENBQUM7TUFDcEIsVUFBVSxFQUFFLENBQUM7TUFDYixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2pKNUg3QixPQUFPO01pSjZIRixLQUFLLEVBQUUsR0FBRyxHQUtiO01BdEpULEFBbUpZLGNBbkpFLENBMElWLE1BQU0sQ0FHRixFQUFFLEFBTUcsWUFBYSxDQUFBLENBQUMsRUFBRTtRQUNiLFVBQVUsRUFBRSxLQUFLLEdBQ3BCOztBTHZKYixBQUFBLE9BQU8sQ01BQztFQUNKLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxNQUFNO0VBQ2YsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsR0F5UmxEO0V6SWhPRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SXlJNUQ1QixBQU1RLE9BTkQsQ0FLSCxXQUFXLENBQ1AsY0FBYyxDQUFDO01BRVAsUUFBUSxFQUFFLFFBQVE7TUFDbEIsSUFBSSxFQUFFLElBQUksR0FNakI7TUFmVCxBQVdnQixPQVhULENBS0gsV0FBVyxDQUNQLGNBQWMsQ0FLTixjQUFjLENBQUM7UUFDWCxRQUFRLEVBQUUsTUFBTSxHQUNuQjtFekkrQ2IsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0ltSTVENUIsQUF5Q0ksT0F6Q0csQ0F5Q0gsT0FBTyxDTXZCQztNQUVBLFdBQVcsRUFBRSxDQUFDO01BQ2QsY0FBYyxFQUFFLENBQUMsR0EyT3hCO0VOaFFMLEFBb0RRLE9BcERELENBb0RFLFlBQUssQ001QkM7SUFDSCxLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRWxKeEJmLE9BQU87SWtKeUJGLE9BQU8sRUFBRSxLQUFLLEdBaUJqQjtJQTVDVCxBQTZCWSxPQTdCTCxDQXdCRSxZQUFLLEFBS0QsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLEVBQUU7TUFDWCxRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsQ0FBQztNQUNOLElBQUksRUFBRSxLQUFLO01BQ1gsS0FBSyxFQUFFLEtBQUs7TUFDWixNQUFNLEVBQUUsSUFBSTtNQUNaLFVBQVUsRWxKbENuQixPQUFPO01rSm1DRSxPQUFPLEVBQUUsRUFBRSxHQUNkO0l6SXNCVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TW1JNUQ1QixBQW9EUSxPQXBERCxDQW9ERSxZQUFLLENNNUJDO1FBaUJDLE9BQU8sRUFBRSxJQUFJO1FBQ2IsZUFBZSxFQUFFLGFBQWEsR0FFckM7RUE1Q1QsQUE4Q1EsT0E5Q0QsQ0E4Q0UsYUFBTSxDQUFBO0lBQ0gsVUFBVSxFbEpyQmYsT0FBTztJa0pzQkYsS0FBSyxFaEp1TkwsU0FBMkI7SWdKdE4zQixNQUFNLEVoSnNOTixPQUEyQjtJZ0pyTjNCLFdBQVcsRWhKcU5YLFNBQTJCO0lnSnBOM0IsWUFBWSxFaEpvTlosU0FBMkIsR2dKOU05QjtJeklHTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TXlJNUQ1QixBQThDUSxPQTlDRCxDQThDRSxhQUFNLENBQUE7UUFRQyxXQUFXLEVoSmlOZixRQUEyQjtRZ0poTnZCLFlBQVksRWhKZ05oQixRQUEyQixHZ0o5TTlCO0VOekRULEFBd0RRLE9BeERELENBd0RFLGVBQVEsQ01HQztJQUNOLFVBQVUsRWxKOUNYLElBQUk7SWtKK0NILE9BQU8sRWhKME1QLFNBQTJCLENnSjFNUCxJQUFJLENoSjBNeEIsU0FBMkIsQ2dKMU1TLElBQUk7SUFDeEMsYUFBYSxFaEp5TWIsUUFBMkI7SWdKeE0zQixRQUFRLEVBQUUsUUFBUTtJQUVsQixPQUFPLEVBQUUsS0FBSyxHQWlCakI7SXpJdEJMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNbUk1RDVCLEFBd0RRLE9BeERELENBd0RFLGVBQVEsQ01HQztRQVNGLE9BQU8sRWhKbU1YLFNBQTJCLENnSm5NSCxDQUFDO1FBQ3JCLGFBQWEsRUFBRSxDQUFDLEdBYXZCO0lBbEZULEFBd0VZLE9BeEVMLENBMkRFLGVBQVEsQUFhSixPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsRUFBRTtNQUNYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sSUFBSSxFQUFFLEtBQUs7TUFDWCxLQUFLLEVBQUUsS0FBSztNQUNaLE1BQU0sRUFBRSxJQUFJO01BQ1osVUFBVSxFbEpqRWYsSUFBSTtNa0prRUMsT0FBTyxFQUFFLEVBQUUsR0FDZDtFQWpGYixBQXFHWSxPQXJHTCxDQXFHTSx3QkFBUSxDQUFDO0lBQ04sV0FBVyxFQUFFLElBQUksR0F3SnBCO0l6SWxNVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TXlJNUQ1QixBQXFHWSxPQXJHTCxDQXFHTSx3QkFBUSxDQUFDO1FBSUYsV0FBVyxFQUFFLENBQUMsR0FxSnJCO1FBOVBiLEFBMkdvQixPQTNHYixDQXFHTSx3QkFBUSxDQU1ELFdBQVcsQ0FBQztVQUNSLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0lBN0dyQixBQWdIZ0IsT0FoSFQsQ0FxR00sd0JBQVEsQ0FXTCxlQUFlLENBQUM7TUFDWixRQUFRLEVBQUUsUUFBUTtNQUNsQixJQUFJLEVBQUUsQ0FBQztNQUNQLE9BQU8sRWhKb0pmLFFBQTJCLENBQTNCLFNBQTJCO01nSm5KbkIsVUFBVSxFbEpoSHZCLE9BQU87TWtKaUhNLE9BQU8sRUFBRSxLQUFLLEdBeUdqQjtNeklsS2IsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1F5STVENUIsQUFnSGdCLE9BaEhULENBcUdNLHdCQUFRLENBV0wsZUFBZSxDQUFDO1VBUVIsS0FBSyxFaEorSWpCLFNBQTJCO1VnSjlJZixPQUFPLEVBQUUsS0FBSztVQUNkLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLEdBQUcsRUFBRSxHQUFHO1VBQ1IsU0FBUyxFQUFFLGdCQUFnQjtVQUMzQixJQUFJLEVBQUUsT0FBTztVQUNiLFVBQVUsRWxKbEN6QixnQkFBZ0IsR2tKa0lSO01oSnpOYixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLLE9BQU8sU0FBUyxFQUFFLE1BQU07UWdKTC9ELEFBZ0hnQixPQWhIVCxDQXFHTSx3QkFBUSxDQVdMLGVBQWUsQ0FBQztVQW1CUixLQUFLLEVoSm9JakIsUUFBMkIsR2dKekN0QjtNQTlOakIsQUFzSW9CLE9BdEliLENBcUdNLHdCQUFRLENBV0wsZUFBZSxDQXNCWCxjQUFjLENBQUM7UUFDWCxhQUFhLEVBQUUsQ0FBQztRQUNoQixVQUFVLEVsSnBJM0IsT0FBTyxHa0pnS087UUFwS3JCLEFBMEl3QixPQTFJakIsQ0FxR00sd0JBQVEsQ0FXTCxlQUFlLENBc0JYLGNBQWMsQUFJVCxPQUFPLENBQUM7VUFDTCxPQUFPLEVBQUUsSUFBSSxHQUNoQjtRekloRnJCLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztVeUk1RDVCLEFBc0lvQixPQXRJYixDQXFHTSx3QkFBUSxDQVdMLGVBQWUsQ0FzQlgsY0FBYyxDQUFDO1lBU1AsVUFBVSxFbEpuRDdCLGdCQUFnQixHa0p3RUo7UUFwS3JCLEFBa0p3QixPQWxKakIsQ0FxR00sd0JBQVEsQ0FXTCxlQUFlLENBc0JYLGNBQWMsQ0FZVixTQUFTLENBQUM7VUFDTixVQUFVLEVsSnZEN0IsZ0JBQWdCO1VrSndERyxPQUFPLEVBQUUsRUFBRSxHQWVkO1VBbkt6QixBQXNKNEIsT0F0SnJCLENBcUdNLHdCQUFRLENBV0wsZUFBZSxDQXNCWCxjQUFjLENBWVYsU0FBUyxBQUlKLE9BQU8sQ0FBQztZQUNMLE9BQU8sRUFBRSxPQUFPO1loSnNGeEMsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO1lnSnBGeEMsS0FBSyxFbEozSTFCLElBQUk7WWtKNElpQixPQUFPLEVBQUUsRUFBRTtZaEp1RXZDLFNBQVMsRUFzQ0QsTUFBMkI7WUFyQ25DLFdBQVcsRWdKdkUyQyxDQUFFO1lBQzVCLFVBQVUsRWxKMUpuQyxPQUFPLEdrSmdLZTtZekl0R3pCLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztjeUk1RDVCLEFBc0o0QixPQXRKckIsQ0FxR00sd0JBQVEsQ0FXTCxlQUFlLENBc0JYLGNBQWMsQ0FZVixTQUFTLEFBSUosT0FBTyxDQUFDO2dCQVNELEtBQUssRWxKN0psQyxPQUFPO2dCa0o4SnNCLFVBQVUsRWxKcEVyQyxnQkFBZ0IsR2tKc0VJO01BbEs3QixBQXNLb0IsT0F0S2IsQ0FxR00sd0JBQVEsQ0FXTCxlQUFlLENBc0RYLGFBQWEsQ0FBQztRQUNWLEtBQUssRWxKekpsQixJQUFJO1FrSjBKUyxNQUFNLEVoSitGbEIsT0FBMkI7UWdKOUZmLFVBQVUsRWxKdkszQixPQUFPO1FrSndLVSxPQUFPLEVoSjZGbkIsU0FBMkIsQ0FBM0IsT0FBMkI7UWdKNUZmLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDbEp6S3RDLE9BQU87UWtKMEtVLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDbEoxS3ZDLE9BQU87UWtKMktVLFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSyxDbEozS3hDLE9BQU87UWtKNEtVLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDbEo1S3pDLE9BQU87UWtKNktVLGtCQUFrQixFQUFFLElBQUksR0F1QjNCO1F6STFJakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1V5STVENUIsQUFzS29CLE9BdEtiLENBcUdNLHdCQUFRLENBV0wsZUFBZSxDQXNEWCxhQUFhLENBQUM7WUFZTixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2xKcEt0QyxJQUFJO1lrSnFLYSxXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2xKckt2QyxJQUFJO1lrSnNLYSxZQUFZLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2xKdEt4QyxJQUFJO1lrSnVLYSxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2xKbkw3QyxPQUFPO1lrSm9MYyxVQUFVLEVsSjFGN0IsZ0JBQWdCO1lrSjJGRyxNQUFNLEVoSmdGdEIsSUFBMkI7WWdKL0VYLEtBQUssRWxKbEsxQixPQUFPLEdrSmdMTztRQXRNckIsQUEyTHdCLE9BM0xqQixDQXFHTSx3QkFBUSxDQVdMLGVBQWUsQ0FzRFgsYUFBYSxBQXFCUixhQUFhLENBQUM7VUFDWCxLQUFLLEVsSjlLdEIsSUFBSSxHa0ptTFU7VXpJcklyQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7WXlJNUQ1QixBQTJMd0IsT0EzTGpCLENBcUdNLHdCQUFRLENBV0wsZUFBZSxDQXNEWCxhQUFhLEFBcUJSLGFBQWEsQ0FBQztjQUlQLEtBQUssRWxKeks5QixPQUFPLEdrSjJLVztNQWpNekIsQUF5TXdCLE9Bek1qQixDQXFHTSx3QkFBUSxDQVdMLGVBQWUsQ0F3RlgsV0FBVyxBQUNOLE9BQU8sQ0FBQztRQUNMLE9BQU8sRUFBRSxJQUFJLEdBY2hCO1FBeE56QixBQTRNNEIsT0E1TXJCLENBcUdNLHdCQUFRLENBV0wsZUFBZSxDQXdGWCxXQUFXLEFBQ04sT0FBTyxDQUdKLGNBQWMsQ0FBQztVQUNYLFFBQVEsRUFBRSxRQUFRLEdBVXJCO1VBdk43QixBQStNZ0MsT0EvTXpCLENBcUdNLHdCQUFRLENBV0wsZUFBZSxDQXdGWCxXQUFXLEFBQ04sT0FBTyxDQUdKLGNBQWMsQ0FHVixTQUFTLENBQUM7WUFDTixLQUFLLEVoSnVEN0IsSUFBMkI7WWdKdERILE1BQU0sRUFBRSxJQUFJO1lBQ1osYUFBYSxFQUFFLFdBQVc7WUFDMUIsS0FBSyxFQUFFLENBQUM7WUFDUixRQUFRLEVBQUUsUUFBUTtZQUNsQixNQUFNLEVBQUUsQ0FBQyxHQUNaO01BdE5qQyxBQTJOb0IsT0EzTmIsQ0FxR00sd0JBQVEsQ0FXTCxlQUFlLENBMkdYLFdBQVcsQ0FBQztRQUNSLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0lBN05yQixBQWdPZ0IsT0FoT1QsQ0FxR00sd0JBQVEsQ0EySEwsV0FBVyxDQUFDO01BQ1IsUUFBUSxFQUFFLE9BQU8sR0FDcEI7SUFsT2pCLEFBMkdvQixPQTNHYixDQXFHTSx3QkFBUSxDQU1ELFdBQVcsQ0F5SEg7TUFDUixRQUFRLEVBQUUsUUFBUTtNaEpoRGxDLEtBQUssRUZ2S0UsSUFBSTtNRXdLWCxVQUFVLEVGMUZMLGdCQUFnQjtNa0oySUwsT0FBTyxFQUFFLENBQUM7TUFDVixNQUFNLEVBQUUsQ0FBQztNQUNULFdBQVcsRUFBRSxNQUFNLEdBb0J0QjtNQTdQakIsQWhKMExJLE9nSjFMRyxDQXFHTSx3QkFBUSxDQStITCxXQUFXLEFoSjFDdEIsT0FBTyxFZ0oxTFosT0FBTyxDQXFHTSx3QkFBUSxDQStITCxXQUFXLEFoSjFDWixNQUFNLENBQUM7UUFDZCxLQUFLLEVGdExOLE9BQU87UUV1TE4sVUFBVSxFRmhHVCxnQkFBZ0IsR0VzR3BCO1FnSmxNTCxBaEo4TFEsT2dKOUxELENBcUdNLHdCQUFRLENBK0hMLFdBQVcsQWhKMUN0QixPQUFPLEFBSUgsTUFBTSxFZ0o5TGYsT0FBTyxDQXFHTSx3QkFBUSxDQStITCxXQUFXLEFoSjFDWixNQUFNLEFBSVosTUFBTSxDQUFDO1VBQ0osS0FBSyxFRjFMVixPQUFPO1VFMkxGLFVBQVUsRUZwR2IsZ0JBQWdCLEdFcUdoQjtNZ0pqTVQsQWhKb01JLE9nSnBNRyxDQXFHTSx3QkFBUSxDQStITCxXQUFXLEFoSmhDdEIsT0FBTyxDQUFDO1FBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtRZ0oxTUwsQWhKdU1RLE9nSnZNRCxDQXFHTSx3QkFBUSxDQStITCxXQUFXLEFoSmhDdEIsT0FBTyxBQUdILE1BQU0sQ0FBQztVQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO01nSnpNVCxBaEo0TUksT2dKNU1HLENBcUdNLHdCQUFRLENBK0hMLFdBQVcsQWhKeEJ0QixNQUFNLENBQUM7UUFDSixLQUFLLEVGeE1OLE9BQU87UUV5TU4sVUFBVSxFRmxIVCxnQkFBZ0I7UUVtSGpCLGVBQWUsRUFBRSxJQUFJLEdBTXhCO1FnSnJOTCxBaEppTlEsT2dKak5ELENBcUdNLHdCQUFRLENBK0hMLFdBQVcsQWhKeEJ0QixNQUFNLEFBS0YsTUFBTSxDQUFDO1VBQ0osVUFBVSxFRnRIYixnQkFBZ0I7VUV1SGIsZUFBZSxFQUFFLElBQUksR0FDeEI7TU94SkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1F5STVENUIsQUEyR29CLE9BM0diLENBcUdNLHdCQUFRLENBTUQsV0FBVyxDQXlISDtVQVFKLE9BQU8sRWhKMkJuQixRQUEyQixHZ0pWdEI7TUE3UGpCLEFBK09vQixPQS9PYixDQXFHTSx3QkFBUSxDQStITCxXQUFXLEFBV04sT0FBTyxDQUFDO1FBQ0wsU0FBUyxFaEp1QnJCLFFBQTJCO1FnSnRCZixPQUFPLEVBQUUsT0FBTztRaEpKaEMsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO1FnSk1oRCxPQUFPLEVBQUUsSUFBSSxHQUtoQjtRekk1TGpCLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztVeUk1RDVCLEFBK09vQixPQS9PYixDQXFHTSx3QkFBUSxDQStITCxXQUFXLEFBV04sT0FBTyxDQUFDO1lBT0QsT0FBTyxFQUFFLFlBQVksR0FFNUI7TUF4UHJCLEFBMFBvQixPQTFQYixDQXFHTSx3QkFBUSxDQStITCxXQUFXLEFBc0JOLE1BQU0sQ0FBQztRQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VONVByQixBQXVCSSxPQXZCRyxDQXVCSCxnQkFBZ0IsQ00yT0M7SUFDYixPQUFPLEVBQUUsSUFBSSxHQXdCaEI7SXpJL05ELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNbUk1RDVCLEFBdUJJLE9BdkJHLENBdUJILGdCQUFnQixDTTJPQztRQUlULEtBQUssRUFBRSxpQkFBaUI7UUFDeEIsT0FBTyxFQUFFLElBQUk7UUFDYixlQUFlLEVBQUUsYUFBYTtRQUM5QixNQUFNLEVBQUUsT0FBTyxHQWtCdEI7SUEzUkwsQUE4UVksT0E5UUwsQ0FrUUgsZ0JBQWdCLEdBV1YsS0FBSyxBQUNGLE1BQU0sQ0FBQztNQUNKLE9BQU8sRUFBRSxFQUFFO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLENBQUM7TUFDTixJQUFJLEVBQUUsS0FBSztNQUNYLEtBQUssRUFBRSxLQUFLO01BQ1osTUFBTSxFQUFFLElBQUk7TUFDWixPQUFPLEVBQUUsRUFBRTtNQUNYLFVBQVUsRWxKalJuQixPQUFPO01rSmtSRSxpQkFBaUIsRUFBRSxvQkFBa0I7TUFDckMsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHdCQUF3QixHQUNsRDs7QUN6UmIsQUFDSSxJQURBLEFBQ0MsSUFBSyxDM0NFQSxJQUFJLEUyQ0ZFO0VBQ1IsT0FBTyxFakpxUUgsUUFBMkI7RUF0Q25DLFNBQVMsRUFzQ0QsSUFBMkI7RUFyQ25DLFdBQVcsRWlKL05tQixDQUFFO0VBRTVCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsYUFBYSxFQUFFLENBQUM7RUFDaEIsVUFBVSxFbkowRVQsSUFBRyxDQUFDLFFBQVEsR21KekVoQjs7QUFFQSxBQUFELFVBQU8sQ0FBQztFQUNKLE9BQU8sRUFBRSxJQUFJO0VqSjBLakIsS0FBSyxFRi9KRixPQUFPO0VFZ0tWLFVBQVUsRUYxRkwsZ0JBQWdCO0VtSi9FakIsUUFBUSxFQUFFLFFBQVEsR0F3RXJCO0VBM0VBLEFqSmdMRCxVaUpoTE8sQWpKZ0xOLE9BQU8sRWlKaExQLFVBQU0sQWpKZ0xJLE1BQU0sQ0FBQztJQUNkLEtBQUssRUZ6TE4sT0FBTztJRTBMTixVQUFVLEVGaEdULGdCQUFnQixHRXNHcEI7SWlKeExBLEFqSm9MRyxVaUpwTEcsQWpKZ0xOLE9BQU8sQUFJSCxNQUFNLEVpSnBMVixVQUFNLEFqSmdMSSxNQUFNLEFBSVosTUFBTSxDQUFDO01BQ0osS0FBSyxFRjdMVixPQUFPO01FOExGLFVBQVUsRUZwR2IsZ0JBQWdCLEdFcUdoQjtFaUp2TEosQWpKMExELFVpSjFMTyxBakowTE4sT0FBTyxDQUFDO0lBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtJaUpoTUEsQWpKNkxHLFVpSjdMRyxBakowTE4sT0FBTyxBQUdILE1BQU0sQ0FBQztNQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VpSi9MSixBakprTUQsVWlKbE1PLEFqSmtNTixNQUFNLENBQUM7SUFDSixLQUFLLEVGM01OLE9BQU87SUU0TU4sVUFBVSxFRmxIVCxnQkFBZ0I7SUVtSGpCLGVBQWUsRUFBRSxJQUFJLEdBTXhCO0lpSjNNQSxBakp1TUcsVWlKdk1HLEFqSmtNTixNQUFNLEFBS0YsTUFBTSxDQUFDO01BQ0osVUFBVSxFRnRIYixnQkFBZ0I7TUV1SGIsZUFBZSxFQUFFLElBQUksR0FDeEI7RWlKMU1KLEFBS0csVUFMRyxBQUtGLE1BQU0sQ0FBQztJQUNKLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFakpxUEgsU0FBMkI7SWlKcFAzQixJQUFJLEVqSm9QSixTQUEyQjtJaUpuUDNCLEtBQUssRWpKbVBMLE9BQTJCO0lpSmxQM0IsTUFBTSxFakprUE4sT0FBMkI7SWlKalAzQixLQUFLLEVuSlJOLElBQUk7SW1KU0gsVUFBVSxFbkpwQmYsT0FBTztJbUpxQkYsYUFBYSxFQUFFLEdBQUc7SWpKeU0xQixTQUFTLEVBc0NELE1BQTJCO0lBckNuQyxXQUFXLEVpSnpNc0IsS0FBQztJQUMxQixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNLEdBQzFCO0VBbkJKLEFBcUJHLFVBckJHLENBcUJILGlCQUFpQixDQUFDO0lBQ2QsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixjQUFjLEVBQUUsU0FBUztJQUN6QixXQUFXLEVqSm9PWCxRQUEyQjtJaUpuTzNCLFVBQVUsRUFBRSxJQUFJO0lqSjZMeEIsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFaUo3THVCLEdBQUUsR0EyQi9CO0kxSUpMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNMElsRHZCLEFBcUJHLFVBckJHLENBcUJILGlCQUFpQixDQUFDO1FqSmtNdEIsU0FBUyxFQXNDRCxPQUEyQjtRQXJDbkMsV0FBVyxFaUoxTDJCLE9BQUUsR0F3Qm5DO0lBdERKLEFBa0NXLFVBbENMLENBcUJILGlCQUFpQixBQVlaLE1BQU0sQ0FDSCxHQUFHLENBQUE7TUFDQyxlQUFlLEVBQUUsSUFBSSxHQUN4QjtJQXBDWixBQXVDTyxVQXZDRCxDQXFCSCxpQkFBaUIsQ0FrQmIsR0FBRyxDQUFDO01BQ0EsS0FBSyxFbkpoRGQsT0FBTztNbUppREUsZUFBZSxFQUFFLFNBQVM7TUFDMUIsY0FBYyxFQUFFLElBQUk7TUFDcEIsVUFBVSxFakprTmQsU0FBMkI7TUF0Q25DLFNBQVMsRUFzQ0QsU0FBMkI7TUFyQ25DLFdBQVcsRWlKNUsyQixHQUFFLEdBUy9CO00xSUhULE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRMElsRHZCLEFBdUNPLFVBdkNELENBcUJILGlCQUFpQixDQWtCYixHQUFHLENBQUM7VWpKZ0xaLFNBQVMsRUFzQ0QsUUFBMkI7VUFyQ25DLFdBQVcsRWlKeksrQixPQUFFLEdBTW5DO01BckRSLEFBa0RXLFVBbERMLENBcUJILGlCQUFpQixDQWtCYixHQUFHLEFBV0UsTUFBTSxDQUFBO1FBQ0gsZUFBZSxFQUFFLElBQUksR0FDeEI7RTFJRmIsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0kwSWxEdkIsQUFBRCxVQUFPLENBQUM7TUF5REEsT0FBTyxFQUFFLElBQUksR0FrQnBCO01BM0VBLEFBcUJHLFVBckJHLENBcUJILGlCQUFpQixDQXNDSztRQUNkLE9BQU8sRUFBRSxZQUFZLEdBQ3hCO0VBR0osQUFBRCxhQUFJLENBQUM7SUFDRCxRQUFRLEVBQUUsUUFBUSxHQVNyQjtJQVZBLEFBR0csYUFIQSxBQUdDLE9BQU8sQ0FBQztNQUNMLE9BQU8sRUFBRSxPQUFPO01qSitKeEIsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO01pSjdKeEQsWUFBWSxFakp1TGhCLE1BQTJCO01pSnRMdkIsV0FBVyxFQUFFLE1BQU07TUFDbkIsU0FBUyxFakpxTGIsUUFBMkIsR2lKcEwxQjs7QUFJUixBQUFELGVBQVksQ0FBQztFQUNULE9BQU8sRUFBRSxJQUFJLEdBS2hCO0UxSWpDRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7STBJMkJ2QixBQUFELGVBQVksQ0FBQztNQUlMLE9BQU8sRUFBRSxJQUFJLEdBRXBCOztBQUVBLEFBQUQsVUFBTyxDQUFDO0VBQ0osUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFakpzS0MsUUFBMkI7RWlKcksvQixLQUFLLEVqSnFLRCxRQUEyQixHaUp2SWxDO0VBakNBLEFBS0csVUFMRyxBQUtGLE9BQU8sQ0FBQztJQUNMLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxDQUFDO0lBQ04sSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lqSm1JaEIsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0lpSmpJNUQsS0FBSyxFbkoxR1YsT0FBTztJbUoyR0YsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixlQUFlLEVBQUUsTUFBTTtJQUN2QixTQUFTLEVqSnVKVCxRQUEyQjtJaUp0SjNCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFVBQVUsRW5KakNiLElBQUcsQ0FBQyxRQUFRLEdtSmtDWjtFQXBCSixBQXVCTyxVQXZCRCxBQXNCRixPQUFPLEFBQ0gsT0FBTyxDQUFDO0lqSjBIYixXQUFXLEVGektJLG9CQUFvQixFRXlLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsR2lKeEgzRDtFQXpCUixBQTZCTyxVQTdCRCxBQTRCRixNQUFNLEFBQ0YsT0FBTyxDQUFDO0lqSm9IYixXQUFXLEVGektJLG9CQUFvQixFRXlLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsR2lKbEgzRDs7QUFJUixBQUNHLFNBREUsQUFDRCxJQUFLLEMzQ2hJSixJQUFJLEUyQ2dJTTtFakprRGhCLEtBQUssRUZ2S0UsSUFBSTtFRXdLWCxVQUFVLEVGdEpQLE9BQU87RUVpTVYsU0FBUyxFQXNDRCxRQUEyQjtFQXJDbkMsV0FBVyxFaUo3RnVCLE9BQUU7RUFDNUIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFakpnSVAsT0FBMkIsQ0FBM0IsUUFBMkI7RWlKL0gzQixhQUFhLEVqSitIYixPQUEyQixHaUp0SDlCO0VBZkosQWpKd0RELFNpSnhETSxBQUNELElBQUssQzNDaElKLElBQUksQ3RHdUxULE9BQU8sRWlKeERQLFNBQUssQUFDRCxJQUFLLEMzQ2hJSixJQUFJLEN0R3VMQyxNQUFNLENBQUM7SUFDZCxLQUFLLEVGN0tGLElBQUk7SUU4S1AsVUFBVSxFRjFKWCxPQUFPLEdFZ0tUO0lpSmhFQSxBako0REcsU2lKNURFLEFBQ0QsSUFBSyxDM0NoSUosSUFBSSxDdEd1TFQsT0FBTyxBQUlILE1BQU0sRWlKNURWLFNBQUssQUFDRCxJQUFLLEMzQ2hJSixJQUFJLEN0R3VMQyxNQUFNLEFBSVosTUFBTSxDQUFDO01BQ0osS0FBSyxFRmpMTixJQUFJO01Fa0xILFVBQVUsRUY5SmYsT0FBTyxHRStKTDtFaUovREosQWpKa0VELFNpSmxFTSxBQUNELElBQUssQzNDaElKLElBQUksQ3RHaU1ULE9BQU8sQ0FBQztJQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7SWlKeEVBLEFqSnFFRyxTaUpyRUUsQUFDRCxJQUFLLEMzQ2hJSixJQUFJLEN0R2lNVCxPQUFPLEFBR0gsTUFBTSxDQUFDO01BQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7RWlKdkVKLEFqSjBFRCxTaUoxRU0sQUFDRCxJQUFLLEMzQ2hJSixJQUFJLEN0R3lNVCxNQUFNLENBQUM7SUFDSixLQUFLLEVGL0xGLElBQUk7SUVnTVAsVUFBVSxFRjVLWCxPQUFPO0lFNktOLGVBQWUsRUFBRSxJQUFJLEdBTXhCO0lpSm5GQSxBakorRUcsU2lKL0VFLEFBQ0QsSUFBSyxDM0NoSUosSUFBSSxDdEd5TVQsTUFBTSxBQUtGLE1BQU0sQ0FBQztNQUNKLFVBQVUsRUZoTGYsT0FBTztNRWlMRixlQUFlLEVBQUUsSUFBSSxHQUN4QjtFaUpsRkosQUFRTyxTQVJGLEFBQ0QsSUFBSyxDM0NoSUosSUFBSSxDMkN1SUQsT0FBTyxDQUFDO0lBQ0wsT0FBTyxFQUFFLE9BQU87SWpKa0d4QixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7SWlKaEd4RCxZQUFZLEVqSjBIaEIsTUFBMkI7SWlKekh2QixXQUFXLEVBQUUsTUFBTTtJQUNuQixTQUFTLEVqSndIYixRQUEyQixHaUp2SDFCOztBQUlSLEFBQ0csYUFETSxBQUNMLElBQUssQzNDbEpKLElBQUksRTJDa0pNO0VqSmdDaEIsS0FBSyxFRnZLRSxJQUFJO0VFd0tYLFVBQVUsRUZ2SlAsT0FBTztFRWtNVixTQUFTLEVBc0NELFFBQTJCO0VBckNuQyxXQUFXLEVpSjNFdUIsT0FBRTtFQUM1QixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVqSjhHUCxPQUEyQixDQUEzQixRQUEyQjtFaUo3RzNCLGFBQWEsRWpKNkdiLE9BQTJCLEdpSnBHOUI7RUFmSixBakpzQ0QsYWlKdENVLEFBQ0wsSUFBSyxDM0NsSkosSUFBSSxDdEd1TFQsT0FBTyxFaUp0Q1AsYUFBUyxBQUNMLElBQUssQzNDbEpKLElBQUksQ3RHdUxDLE1BQU0sQ0FBQztJQUNkLEtBQUssRUY3S0YsSUFBSTtJRThLUCxVQUFVLEVGcExYLE9BQU8sR0UwTFQ7SWlKOUNBLEFqSjBDRyxhaUoxQ00sQUFDTCxJQUFLLEMzQ2xKSixJQUFJLEN0R3VMVCxPQUFPLEFBSUgsTUFBTSxFaUoxQ1YsYUFBUyxBQUNMLElBQUssQzNDbEpKLElBQUksQ3RHdUxDLE1BQU0sQUFJWixNQUFNLENBQUM7TUFDSixLQUFLLEVGakxOLElBQUk7TUVrTEgsVUFBVSxFRnhMZixPQUFPLEdFeUxMO0VpSjdDSixBakpnREQsYWlKaERVLEFBQ0wsSUFBSyxDM0NsSkosSUFBSSxDdEdpTVQsT0FBTyxDQUFDO0lBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtJaUp0REEsQWpKbURHLGFpSm5ETSxBQUNMLElBQUssQzNDbEpKLElBQUksQ3RHaU1ULE9BQU8sQUFHSCxNQUFNLENBQUM7TUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtFaUpyREosQWpKd0RELGFpSnhEVSxBQUNMLElBQUssQzNDbEpKLElBQUksQ3RHeU1ULE1BQU0sQ0FBQztJQUNKLEtBQUssRUYvTEYsSUFBSTtJRWdNUCxVQUFVLEVGdE1YLE9BQU87SUV1TU4sZUFBZSxFQUFFLElBQUksR0FNeEI7SWlKakVBLEFqSjZERyxhaUo3RE0sQUFDTCxJQUFLLEMzQ2xKSixJQUFJLEN0R3lNVCxNQUFNLEFBS0YsTUFBTSxDQUFDO01BQ0osVUFBVSxFRjFNZixPQUFPO01FMk1GLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0VpSmhFSixBQVFPLGFBUkUsQUFDTCxJQUFLLEMzQ2xKSixJQUFJLEMyQ3lKRCxPQUFPLENBQUM7SUFDTCxPQUFPLEVBQUUsT0FBTztJakptRnhCLFdBQVcsRUZ6S0ksb0JBQW9CLEVFeUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtJaUpqRnhELFlBQVksRWpKd0doQixNQUEyQjtJaUp2R3ZCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFNBQVMsRWpKc0diLFFBQTJCLEdpSnJHMUI7O0FBSVIsQUFDRyxXQURJLEFBQ0gsSUFBSyxDM0NwS0osSUFBSSxFMkNvS007RWpKY2hCLEtBQUssRUZ2S0UsSUFBSTtFRXdLWCxVQUFVLEVGbkxQLE9BQU87RUU4TlYsU0FBUyxFQXNDRCxRQUEyQjtFQXJDbkMsV0FBVyxFaUp6RHVCLE9BQUU7RUFDNUIsT0FBTyxFako2RlAsT0FBMkIsQ0FBM0IsUUFBMkI7RWlKNUYzQixRQUFRLEVBQUUsUUFBUSxHQVNyQjtFQWRKLEFqSm9CRCxXaUpwQlEsQUFDSCxJQUFLLEMzQ3BLSixJQUFJLEN0R3VMVCxPQUFPLEVpSnBCUCxXQUFPLEFBQ0gsSUFBSyxDM0NwS0osSUFBSSxDdEd1TEMsTUFBTSxDQUFDO0lBQ2QsS0FBSyxFRjdLRixJQUFJO0lFOEtQLFVBQVUsRUYxTFgsT0FBTyxHRWdNVDtJaUo1QkEsQWpKd0JHLFdpSnhCSSxBQUNILElBQUssQzNDcEtKLElBQUksQ3RHdUxULE9BQU8sQUFJSCxNQUFNLEVpSnhCVixXQUFPLEFBQ0gsSUFBSyxDM0NwS0osSUFBSSxDdEd1TEMsTUFBTSxBQUlaLE1BQU0sQ0FBQztNQUNKLEtBQUssRUZqTE4sSUFBSTtNRWtMSCxVQUFVLEVGOUxmLE9BQU8sR0UrTEw7RWlKM0JKLEFqSjhCRCxXaUo5QlEsQUFDSCxJQUFLLEMzQ3BLSixJQUFJLEN0R2lNVCxPQUFPLENBQUM7SUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO0lpSnBDQSxBakppQ0csV2lKakNJLEFBQ0gsSUFBSyxDM0NwS0osSUFBSSxDdEdpTVQsT0FBTyxBQUdILE1BQU0sQ0FBQztNQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VpSm5DSixBakpzQ0QsV2lKdENRLEFBQ0gsSUFBSyxDM0NwS0osSUFBSSxDdEd5TVQsTUFBTSxDQUFDO0lBQ0osS0FBSyxFRi9MRixJQUFJO0lFZ01QLFVBQVUsRUY1TVgsT0FBTztJRTZNTixlQUFlLEVBQUUsSUFBSSxHQU14QjtJaUovQ0EsQWpKMkNHLFdpSjNDSSxBQUNILElBQUssQzNDcEtKLElBQUksQ3RHeU1ULE1BQU0sQUFLRixNQUFNLENBQUM7TUFDSixVQUFVLEVGaE5mLE9BQU87TUVpTkYsZUFBZSxFQUFFLElBQUksR0FDeEI7RWlKOUNKLEFBT08sV0FQQSxBQUNILElBQUssQzNDcEtKLElBQUksQzJDMEtELE9BQU8sQ0FBQztJQUNMLE9BQU8sRUFBRSxPQUFPO0lqSitEeEIsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0lpSjdEeEQsWUFBWSxFakp1RmhCLE1BQTJCO0lpSnRGdkIsV0FBVyxFQUFFLE1BQU07SUFDbkIsU0FBUyxFakpxRmIsUUFBMkIsR2lKcEYxQjs7QUFJUixBQUNHLFdBREksQUFDSCxJQUFLLEMzQ3JMSixJQUFJLEUyQ3FMTTtFakpIaEIsS0FBSyxFRnZLRSxJQUFJO0VFd0tYLFVBQVUsRUZ0SlAsT0FBTztFRWlNVixTQUFTLEVBc0NELFFBQTJCO0VBckNuQyxXQUFXLEVpSnhDdUIsT0FBRTtFQUM1QixPQUFPLEVqSjRFUCxPQUEyQixDQUEzQixRQUEyQixHaUozRTlCO0VBTEosQWpKR0QsV2lKSFEsQUFDSCxJQUFLLEMzQ3JMSixJQUFJLEN0R3VMVCxPQUFPLEVpSkhQLFdBQU8sQUFDSCxJQUFLLEMzQ3JMSixJQUFJLEN0R3VMQyxNQUFNLENBQUM7SUFDZCxLQUFLLEVGN0tGLElBQUk7SUU4S1AsVUFBVSxFRjNKWCxPQUFPLEdFaUtUO0lpSlhBLEFqSk9HLFdpSlBJLEFBQ0gsSUFBSyxDM0NyTEosSUFBSSxDdEd1TFQsT0FBTyxBQUlILE1BQU0sRWlKUFYsV0FBTyxBQUNILElBQUssQzNDckxKLElBQUksQ3RHdUxDLE1BQU0sQUFJWixNQUFNLENBQUM7TUFDSixLQUFLLEVGakxOLElBQUk7TUVrTEgsVUFBVSxFRi9KZixPQUFPLEdFZ0tMO0VpSlZKLEFqSmFELFdpSmJRLEFBQ0gsSUFBSyxDM0NyTEosSUFBSSxDdEdpTVQsT0FBTyxDQUFDO0lBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtJaUpuQkEsQWpKZ0JHLFdpSmhCSSxBQUNILElBQUssQzNDckxKLElBQUksQ3RHaU1ULE9BQU8sQUFHSCxNQUFNLENBQUM7TUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtFaUpsQkosQWpKcUJELFdpSnJCUSxBQUNILElBQUssQzNDckxKLElBQUksQ3RHeU1ULE1BQU0sQ0FBQztJQUNKLEtBQUssRUYvTEYsSUFBSTtJRWdNUCxVQUFVLEVGN0tYLE9BQU87SUU4S04sZUFBZSxFQUFFLElBQUksR0FNeEI7SWlKOUJBLEFqSjBCRyxXaUoxQkksQUFDSCxJQUFLLEMzQ3JMSixJQUFJLEN0R3lNVCxNQUFNLEFBS0YsTUFBTSxDQUFDO01BQ0osVUFBVSxFRmpMZixPQUFPO01Fa0xGLGVBQWUsRUFBRSxJQUFJLEdBQ3hCOztBaUpwTlQsQUErTEksSUEvTEEsQUErTEMsSUFBSSxDQUFDO0VBQ0YsS0FBSyxFakp1RUQsUUFBMkI7RWlKdEUvQixNQUFNLEVqSnNFRixRQUEyQjtFaUpyRS9CLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLE9BQU8sRWpKbUVILFFBQTJCLEdpSjBEbEM7RUFqVUwsQUFzTVEsSUF0TUosQUErTEMsSUFBSSxBQU9BLE9BQU8sQ0FBQztJQUNMLFNBQVMsRWpKZ0VULFFBQTJCO0lpSi9EM0IsV0FBVyxFQUFFLE1BQU07SUFDbkIsS0FBSyxFbkp2TVYsT0FBTztJbUp3TUYsVUFBVSxFbkp6SGIsSUFBRyxDQUFDLFFBQVEsR21KMEhaO0VBM01ULEFBOE1ZLElBOU1SLEFBK0xDLElBQUksQUFjQSxPQUFPLEFBQ0gsT0FBTyxDQUFDO0lqSmtDYixXQUFXLEVGektJLG9CQUFvQixFRXlLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsR2lKaEMzRDtFQWhOYixBQW9OWSxJQXBOUixBQStMQyxJQUFJLEFBb0JBLE1BQU0sQUFDRixPQUFPLENBQUM7SUFDTCxLQUFLLEVuSm5OZCxPQUFPLEdtSm9ORDtFQXROYixBQXlOWSxJQXpOUixBQStMQyxJQUFJLEFBb0JBLE1BQU0sQ0FNSCxHQUFHLENBQUE7SUFDQyxlQUFlLEVBQUUsSUFBSSxHQUN4QjtFQTNOYixBQThOUSxJQTlOSixBQThOSyxVQUFNLENBQUM7SUFDSixLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRWpKdUNQLFFBQTJCLEdpSmxCOUI7STFJekxMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNMEk1RDVCLEFBOE5RLElBOU5KLEFBOE5LLFVBQU0sQ0FBQztRQUtBLE9BQU8sRWpKb0NYLFFBQTJCLENpSnBDSCxDQUFDLENqSm9DekIsUUFBMkIsQ0FBM0IsUUFBMkIsR2lKbEI5QjtJQXJQVCxBQXNPWSxJQXRPUixBQThOSyxVQUFNLEFBUUYsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU87TWpKTXhCLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxHaUpKM0Q7SUF6T2IsQUEyT1ksSUEzT1IsQUEyT1MsYUFBRyxDQUFDO01BQ0QsUUFBUSxFQUFFLFFBQVEsR0FRckI7TUFwUGIsQUE4T2dCLElBOU9aLEFBMk9TLGFBQUcsQUFHQyxPQUFPLENBQUM7UUFDTCxPQUFPLEVBQUUsT0FBTztRakpGNUIsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO1FpSklwRCxZQUFZLEVqSnNCcEIsTUFBMkI7UWlKckJuQixTQUFTLEVqSnFCakIsUUFBMkIsR2lKcEJ0QjtFQW5QakIsQUF3UFksSUF4UFIsQUF1UEssZUFBVyxBQUNQLE9BQU8sQ0FBQztJQUNMLE9BQU8sRUFBRSxPQUFPO0lqSlp4QixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsR2lKYzNEO0VBM1BiLEFBOFBRLElBOVBKLEFBOFBLLFVBQU0sQ0FBQztJQUNKLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixXQUFXLEVBQUUsTUFBTTtJQUNuQixlQUFlLEVBQUUsTUFBTTtJQUN2QixPQUFPLEVqSkdQLFFBQTJCO0lpSkYzQixPQUFPLEVBQUUsV0FBVyxHQWV2QjtJQXBSVCxBQXVRWSxJQXZRUixBQThQSyxVQUFNLEFBU0YsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU87TWpKM0J4QixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TWlKNkJ4RCxZQUFZLEVqSkhoQixNQUEyQjtNaUpJdkIsU0FBUyxFakpKYixRQUEyQjtNaUpLdkIsVUFBVSxFbkozTGpCLElBQUcsQ0FBQyxRQUFRLEdtSjRMUjtJQTdRYixBQWdSZ0IsSUFoUlosQUE4UEssVUFBTSxBQWlCRixNQUFNLEFBQ0YsT0FBTyxDQUFDO01BQ0wsS0FBSyxFbkpuUWQsSUFBSSxHbUpvUUU7RUFsUmpCLEFBc1JRLElBdFJKLEFBc1JLLFVBQU0sQ0FBQztJQUNKLFFBQVEsRUFBRSxRQUFRLEdBUXJCO0lBL1JULEFBeVJZLElBelJSLEFBc1JLLFVBQU0sQUFHRixPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTztNako3Q3hCLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNaUorQ3hELFlBQVksRWpKckJoQixNQUEyQjtNaUpzQnZCLFNBQVMsRWpKdEJiLFFBQTJCLEdpSnVCMUI7RUE5UmIsQUFpU1EsSUFqU0osQUFpU0ssVUFBTSxDQUFDO0lBQ0osUUFBUSxFQUFFLFFBQVEsR0FRckI7SUExU1QsQUFvU1ksSUFwU1IsQUFpU0ssVUFBTSxBQUdGLE9BQU8sQ0FBQztNQUNMLE9BQU8sRUFBRSxPQUFPO01qSnhEeEIsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO01pSjBEeEQsWUFBWSxFakpoQ2hCLE1BQTJCO01pSmlDdkIsU0FBUyxFakpqQ2IsUUFBMkIsR2lKa0MxQjtFQXpTYixBQTRTUSxJQTVTSixBQTRTSyxZQUFRLENBQUM7SUFDTixRQUFRLEVBQUUsUUFBUSxHQVFyQjtJQXJUVCxBQStTWSxJQS9TUixBQTRTSyxZQUFRLEFBR0osT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU87TWpKbkV4QixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TWlKcUV4RCxZQUFZLEVqSjNDaEIsTUFBMkI7TWlKNEN2QixTQUFTLEVqSjVDYixRQUEyQixHaUo2QzFCO0VBcFRiLEFBdVRRLElBdlRKLEFBdVRLLFVBQU0sQ0FBQztJQUNKLFFBQVEsRUFBRSxRQUFRLEdBUXJCO0lBaFVULEFBMFRZLElBMVRSLEFBdVRLLFVBQU0sQUFHRixPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTztNako5RXhCLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNaUpnRnhELFlBQVksRWpKdERoQixNQUEyQjtNaUp1RHZCLFNBQVMsRWpKdkRiLFFBQTJCLEdpSndEMUI7O0FBSVIsQUFDRyxPQURBLEFBQ0MsSUFBSyxDM0NqVUosSUFBSSxFMkNpVU07RWpKL0loQixLQUFLLEVGdktFLElBQUk7RUV3S1gsVUFBVSxFRnBMUCxPQUFPO0VFK05WLFNBQVMsRUFzQ0QsUUFBMkI7RUFyQ25DLFdBQVcsRWlKb0d1QixPQUFFO0VBQzVCLE9BQU8sRWpKaEVQLE9BQTJCLENBQTNCLFFBQTJCLEdpSmlFOUI7RUFMSixBakp6SUQsT2lKeUlJLEFBQ0MsSUFBSyxDM0NqVUosSUFBSSxDdEd1TFQsT0FBTyxFaUp5SVAsT0FBRyxBQUNDLElBQUssQzNDalVKLElBQUksQ3RHdUxDLE1BQU0sQ0FBQztJQUNkLEtBQUssRUY3S0YsSUFBSTtJRThLUCxVQUFVLEVGeExYLE9BQU8sR0U4TFQ7SWlKaUlBLEFqSnJJRyxPaUpxSUEsQUFDQyxJQUFLLEMzQ2pVSixJQUFJLEN0R3VMVCxPQUFPLEFBSUgsTUFBTSxFaUpxSVYsT0FBRyxBQUNDLElBQUssQzNDalVKLElBQUksQ3RHdUxDLE1BQU0sQUFJWixNQUFNLENBQUM7TUFDSixLQUFLLEVGakxOLElBQUk7TUVrTEgsVUFBVSxFRjVMZixPQUFPLEdFNkxMO0VpSmtJSixBakovSEQsT2lKK0hJLEFBQ0MsSUFBSyxDM0NqVUosSUFBSSxDdEdpTVQsT0FBTyxDQUFDO0lBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtJaUp5SEEsQWpKNUhHLE9pSjRIQSxBQUNDLElBQUssQzNDalVKLElBQUksQ3RHaU1ULE9BQU8sQUFHSCxNQUFNLENBQUM7TUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtFaUowSEosQWpKdkhELE9pSnVISSxBQUNDLElBQUssQzNDalVKLElBQUksQ3RHeU1ULE1BQU0sQ0FBQztJQUNKLEtBQUssRUYvTEYsSUFBSTtJRWdNUCxVQUFVLEVGMU1YLE9BQU87SUUyTU4sZUFBZSxFQUFFLElBQUksR0FNeEI7SWlKOEdBLEFqSmxIRyxPaUprSEEsQUFDQyxJQUFLLEMzQ2pVSixJQUFJLEN0R3lNVCxNQUFNLEFBS0YsTUFBTSxDQUFDO01BQ0osVUFBVSxFRjlNZixPQUFPO01FK01GLGVBQWUsRUFBRSxJQUFJLEdBQ3hCOztBaUp1SEosQUFDRyxPQURBLEFBQ0MsSUFBSyxDM0N6VUosSUFBSSxFMkN5VU07RWpKdkpoQixLQUFLLEVGdktFLElBQUk7RUV3S1gsVUFBVSxFRm5MUCxPQUFPO0VFOE5WLFNBQVMsRUFzQ0QsUUFBMkI7RUFyQ25DLFdBQVcsRWlKNEd1QixPQUFFO0VBQzVCLE9BQU8sRWpKeEVQLE9BQTJCLENBQTNCLFFBQTJCLEdpSnlFOUI7RUFMSixBakpqSkQsT2lKaUpJLEFBQ0MsSUFBSyxDM0N6VUosSUFBSSxDdEd1TFQsT0FBTyxFaUppSlAsT0FBRyxBQUNDLElBQUssQzNDelVKLElBQUksQ3RHdUxDLE1BQU0sQ0FBQztJQUNkLEtBQUssRUY3S0YsSUFBSTtJRThLUCxVQUFVLEVGMUxYLE9BQU8sR0VnTVQ7SWlKeUlBLEFqSjdJRyxPaUo2SUEsQUFDQyxJQUFLLEMzQ3pVSixJQUFJLEN0R3VMVCxPQUFPLEFBSUgsTUFBTSxFaUo2SVYsT0FBRyxBQUNDLElBQUssQzNDelVKLElBQUksQ3RHdUxDLE1BQU0sQUFJWixNQUFNLENBQUM7TUFDSixLQUFLLEVGakxOLElBQUk7TUVrTEgsVUFBVSxFRjlMZixPQUFPLEdFK0xMO0VpSjBJSixBakp2SUQsT2lKdUlJLEFBQ0MsSUFBSyxDM0N6VUosSUFBSSxDdEdpTVQsT0FBTyxDQUFDO0lBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtJaUppSUEsQWpKcElHLE9pSm9JQSxBQUNDLElBQUssQzNDelVKLElBQUksQ3RHaU1ULE9BQU8sQUFHSCxNQUFNLENBQUM7TUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtFaUprSUosQWpKL0hELE9pSitISSxBQUNDLElBQUssQzNDelVKLElBQUksQ3RHeU1ULE1BQU0sQ0FBQztJQUNKLEtBQUssRUYvTEYsSUFBSTtJRWdNUCxVQUFVLEVGNU1YLE9BQU87SUU2TU4sZUFBZSxFQUFFLElBQUksR0FNeEI7SWlKc0hBLEFqSjFIRyxPaUowSEEsQUFDQyxJQUFLLEMzQ3pVSixJQUFJLEN0R3lNVCxNQUFNLEFBS0YsTUFBTSxDQUFDO01BQ0osVUFBVSxFRmhOZixPQUFPO01FaU5GLGVBQWUsRUFBRSxJQUFJLEdBQ3hCOztBaUorSEosQUFDRyxPQURBLEFBQ0MsSUFBSyxDM0NqVkosSUFBSSxFMkNpVk07RWpKL0poQixLQUFLLEVGdktFLElBQUk7RUV3S1gsVUFBVSxFRnRKUCxPQUFPO0VFaU1WLFNBQVMsRUFzQ0QsUUFBMkI7RUFyQ25DLFdBQVcsRWlKb0h1QixPQUFFO0VBQzVCLE9BQU8sRWpKaEZQLE9BQTJCLENBQTNCLFFBQTJCLEdpSmlGOUI7RUFMSixBakp6SkQsT2lKeUpJLEFBQ0MsSUFBSyxDM0NqVkosSUFBSSxDdEd1TFQsT0FBTyxFaUp5SlAsT0FBRyxBQUNDLElBQUssQzNDalZKLElBQUksQ3RHdUxDLE1BQU0sQ0FBQztJQUNkLEtBQUssRUY3S0YsSUFBSTtJRThLUCxVQUFVLEVGMUpYLE9BQU8sR0VnS1Q7SWlKaUpBLEFqSnJKRyxPaUpxSkEsQUFDQyxJQUFLLEMzQ2pWSixJQUFJLEN0R3VMVCxPQUFPLEFBSUgsTUFBTSxFaUpxSlYsT0FBRyxBQUNDLElBQUssQzNDalZKLElBQUksQ3RHdUxDLE1BQU0sQUFJWixNQUFNLENBQUM7TUFDSixLQUFLLEVGakxOLElBQUk7TUVrTEgsVUFBVSxFRjlKZixPQUFPLEdFK0pMO0VpSmtKSixBakovSUQsT2lKK0lJLEFBQ0MsSUFBSyxDM0NqVkosSUFBSSxDdEdpTVQsT0FBTyxDQUFDO0lBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtJaUp5SUEsQWpKNUlHLE9pSjRJQSxBQUNDLElBQUssQzNDalZKLElBQUksQ3RHaU1ULE9BQU8sQUFHSCxNQUFNLENBQUM7TUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtFaUowSUosQWpKdklELE9pSnVJSSxBQUNDLElBQUssQzNDalZKLElBQUksQ3RHeU1ULE1BQU0sQ0FBQztJQUNKLEtBQUssRUYvTEYsSUFBSTtJRWdNUCxVQUFVLEVGNUtYLE9BQU87SUU2S04sZUFBZSxFQUFFLElBQUksR0FNeEI7SWlKOEhBLEFqSmxJRyxPaUprSUEsQUFDQyxJQUFLLEMzQ2pWSixJQUFJLEN0R3lNVCxNQUFNLEFBS0YsTUFBTSxDQUFDO01BQ0osVUFBVSxFRmhMZixPQUFPO01FaUxGLGVBQWUsRUFBRSxJQUFJLEdBQ3hCOztBaUp1SUosQUFDRyxPQURBLEFBQ0MsSUFBSyxDM0N6VkosSUFBSSxFMkN5Vk07RWpKdktoQixLQUFLLEVGdktFLElBQUk7RUV3S1gsVUFBVSxFRnRKUCxPQUFPO0VFaU1WLFNBQVMsRUFzQ0QsUUFBMkI7RUFyQ25DLFdBQVcsRWlKNEh1QixPQUFFO0VBQzVCLE9BQU8sRWpKeEZQLE9BQTJCLENBQTNCLFFBQTJCO0VpSnlGM0IsV0FBVyxFQUFFLElBQUk7RUFDakIsUUFBUSxFQUFFLFFBQVEsR0FvQnJCO0VBMUJKLEFqSmpLRCxPaUppS0ksQUFDQyxJQUFLLEMzQ3pWSixJQUFJLEN0R3VMVCxPQUFPLEVpSmlLUCxPQUFHLEFBQ0MsSUFBSyxDM0N6VkosSUFBSSxDdEd1TEMsTUFBTSxDQUFDO0lBQ2QsS0FBSyxFRjdLRixJQUFJO0lFOEtQLFVBQVUsRUYxSlgsT0FBTyxHRWdLVDtJaUp5SkEsQWpKN0pHLE9pSjZKQSxBQUNDLElBQUssQzNDelZKLElBQUksQ3RHdUxULE9BQU8sQUFJSCxNQUFNLEVpSjZKVixPQUFHLEFBQ0MsSUFBSyxDM0N6VkosSUFBSSxDdEd1TEMsTUFBTSxBQUlaLE1BQU0sQ0FBQztNQUNKLEtBQUssRUZqTE4sSUFBSTtNRWtMSCxVQUFVLEVGOUpmLE9BQU8sR0UrSkw7RWlKMEpKLEFqSnZKRCxPaUp1SkksQUFDQyxJQUFLLEMzQ3pWSixJQUFJLEN0R2lNVCxPQUFPLENBQUM7SUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO0lpSmlKQSxBakpwSkcsT2lKb0pBLEFBQ0MsSUFBSyxDM0N6VkosSUFBSSxDdEdpTVQsT0FBTyxBQUdILE1BQU0sQ0FBQztNQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VpSmtKSixBakovSUQsT2lKK0lJLEFBQ0MsSUFBSyxDM0N6VkosSUFBSSxDdEd5TVQsTUFBTSxDQUFDO0lBQ0osS0FBSyxFRi9MRixJQUFJO0lFZ01QLFVBQVUsRUY1S1gsT0FBTztJRTZLTixlQUFlLEVBQUUsSUFBSSxHQU14QjtJaUpzSUEsQWpKMUlHLE9pSjBJQSxBQUNDLElBQUssQzNDelZKLElBQUksQ3RHeU1ULE1BQU0sQUFLRixNQUFNLENBQUM7TUFDSixVQUFVLEVGaExmLE9BQU87TUVpTEYsZUFBZSxFQUFFLElBQUksR0FDeEI7RWlKdUlKLEFBUU8sT0FSSixBQUNDLElBQUssQzNDelZKLElBQUksQzJDZ1dELE1BQU0sQ0FBQztJQUNKLE9BQU8sRUFBRSxPQUFPO0lqSnZIeEIsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0lpSnlIeEQsV0FBVyxFQUFFLE1BQU07SUFDbkIsV0FBVyxFakpoR2YsUUFBMkIsR2lKaUcxQjtFQWJSLEFBa0JlLE9BbEJaLEFBQ0MsSUFBSyxDM0N6VkosSUFBSSxDMkN5V0csV0FBTyxBQUNILE1BQU0sQ0FBQztJQUNKLE9BQU8sRUFBRSxPQUFPO0lqSjlIaEMsV0FBVyxFRnpLSSxvQkFBb0IsRUV5S0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0lpSmdJaEQsV0FBVyxFQUFFLE1BQU07SUFDbkIsV0FBVyxFakoxR3ZCLFFBQTJCLEdpSjJHbEI7O0FDbFhyQixBQVNRLEtBVEgsQ0FTSSxVQUFLLENBQUM7RUFDSCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsSUFBSTtFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVwSkFOLElBQUk7RW9KQ0gsVUFBVSxFcEpYZixPQUFPO0VvSllGLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTyxFbEpzUFAsTUFBMkIsR2tKck85QjtFQWxDVCxBQW1CWSxLQW5CUCxDQVNJLFVBQUssQ0FVRixJQUFJLENBQUM7SUFDRCxNQUFNLEVBQUUsQ0FBQyxHQUNaO0VBckJiLEFBdUJZLEtBdkJQLENBdUJRLGdCQUFNLENBQUM7SWxKOEpoQixLQUFLLEVGdktFLElBQUk7SUV3S1gsVUFBVSxFRjFGTCxnQkFBZ0IsR29KL0RaO0lBN0JiLEFsSjBMSSxLa0oxTEMsQ0F1QlEsZ0JBQU0sQWxKbUtkLE9BQU8sRWtKMUxaLEtBQUssQ0F1QlEsZ0JBQU0sQWxKbUtKLE1BQU0sQ0FBQztNQUNkLEtBQUssRUY3S0YsSUFBSTtNRThLUCxVQUFVLEVGaEdULGdCQUFnQixHRXNHcEI7TWtKbE1MLEFsSjhMUSxLa0o5TEgsQ0F1QlEsZ0JBQU0sQWxKbUtkLE9BQU8sQUFJSCxNQUFNLEVrSjlMZixLQUFLLENBdUJRLGdCQUFNLEFsSm1LSixNQUFNLEFBSVosTUFBTSxDQUFDO1FBQ0osS0FBSyxFRmpMTixJQUFJO1FFa0xILFVBQVUsRUZwR2IsZ0JBQWdCLEdFcUdoQjtJa0pqTVQsQWxKb01JLEtrSnBNQyxDQXVCUSxnQkFBTSxBbEo2S2QsT0FBTyxDQUFDO01BQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtNa0oxTUwsQWxKdU1RLEtrSnZNSCxDQXVCUSxnQkFBTSxBbEo2S2QsT0FBTyxBQUdILE1BQU0sQ0FBQztRQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0lrSnpNVCxBbEo0TUksS2tKNU1DLENBdUJRLGdCQUFNLEFsSnFMZCxNQUFNLENBQUM7TUFDSixLQUFLLEVGL0xGLElBQUk7TUVnTVAsVUFBVSxFRmxIVCxnQkFBZ0I7TUVtSGpCLGVBQWUsRUFBRSxJQUFJLEdBTXhCO01rSnJOTCxBbEppTlEsS2tKak5ILENBdUJRLGdCQUFNLEFsSnFMZCxNQUFNLEFBS0YsTUFBTSxDQUFDO1FBQ0osVUFBVSxFRnRIYixnQkFBZ0I7UUV1SGIsZUFBZSxFQUFFLElBQUksR0FDeEI7SWtKcE5ULEFBMEJnQixLQTFCWCxDQXVCUSxnQkFBTSxBQUdGLE1BQU0sQ0FBQztNQUNKLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0UzSWdDYixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7STJJNUQ1QixBQVNRLEtBVEgsQ0FTSSxVQUFLLENBQUM7TUF1QkMsT0FBTyxFQUFFLFlBQVksR0FFNUI7O0FBbENULEFBc0NZLEtBdENQLENBc0NRLG9CQUFTLENBQUM7RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNLEdBbUV0QjtFM0kvQ1QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0kySTVENUIsQUFzQ1ksS0F0Q1AsQ0FzQ1Esb0JBQVMsQ0FBQztNQUtILE9BQU8sRUFBRSxJQUFJLEdBZ0VwQjtFQTNHYixBQThDZ0IsS0E5Q1gsQ0E4Q1ksdUJBQUcsQ0FBQztJQUNELEtBQUssRXBKMUNsQixPQUFPO0lvSjJDTSxNQUFNLEVBQUUsQ0FBQyxDbEp1TmpCLFFBQTJCO0lrSnRObkIsU0FBUyxFbEpzTmpCLE9BQTJCO0lrSnJObkIsT0FBTyxFQUFFLElBQUksR0FLaEI7STNJS2IsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO00ySTVENUIsQUE4Q2dCLEtBOUNYLENBOENZLHVCQUFHLENBQUM7UUFPRyxPQUFPLEVBQUUsWUFBWSxHQUU1QjtFQXZEakIsQUF5RGdCLEtBekRYLENBc0NRLG9CQUFTLENBbUJOLFdBQVcsQ0FBQztJQUNSLFVBQVUsRUFBRSxNQUFNO0lsSjJIbEMsS0FBSyxFRnZLRSxJQUFJO0lFd0tYLFVBQVUsRUZsTFAsT0FBTztJb0p3RE0sUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixlQUFlLEVBQUUsTUFBTTtJQUN2QixjQUFjLEVBQUUsU0FBUztJQUN6QixXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVsSnFNZixJQUEyQixDa0pyTUMsSUFBSTtJQUN4QixNQUFNLEVBQUUsQ0FBQztJbEo4SnpCLFNBQVMsRUFzQ0QsU0FBMkI7SUFyQ25DLFdBQVcsRWtKOUorQixHQUFFLEdBc0MvQjtJQTFHakIsQWxKMExJLEtrSjFMQyxDQXNDUSxvQkFBUyxDQW1CTixXQUFXLEFsSmlJdEIsT0FBTyxFa0oxTFosS0FBSyxDQXNDUSxvQkFBUyxDQW1CTixXQUFXLEFsSmlJWixNQUFNLENBQUM7TUFDZCxLQUFLLEVGN0tGLElBQUk7TUU4S1AsVUFBVSxFRnZMWCxPQUFPLEdFNkxUO01rSmxNTCxBbEo4TFEsS2tKOUxILENBc0NRLG9CQUFTLENBbUJOLFdBQVcsQWxKaUl0QixPQUFPLEFBSUgsTUFBTSxFa0o5TGYsS0FBSyxDQXNDUSxvQkFBUyxDQW1CTixXQUFXLEFsSmlJWixNQUFNLEFBSVosTUFBTSxDQUFDO1FBQ0osS0FBSyxFRmpMTixJQUFJO1FFa0xILFVBQVUsRUYzTGYsT0FBTyxHRTRMTDtJa0pqTVQsQWxKb01JLEtrSnBNQyxDQXNDUSxvQkFBUyxDQW1CTixXQUFXLEFsSjJJdEIsT0FBTyxDQUFDO01BQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtNa0oxTUwsQWxKdU1RLEtrSnZNSCxDQXNDUSxvQkFBUyxDQW1CTixXQUFXLEFsSjJJdEIsT0FBTyxBQUdILE1BQU0sQ0FBQztRQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0lrSnpNVCxBbEo0TUksS2tKNU1DLENBc0NRLG9CQUFTLENBbUJOLFdBQVcsQWxKbUp0QixNQUFNLENBQUM7TUFDSixLQUFLLEVGL0xGLElBQUk7TUVnTVAsVUFBVSxFRnpNWCxPQUFPO01FME1OLGVBQWUsRUFBRSxJQUFJLEdBTXhCO01rSnJOTCxBbEppTlEsS2tKak5ILENBc0NRLG9CQUFTLENBbUJOLFdBQVcsQWxKbUp0QixNQUFNLEFBS0YsTUFBTSxDQUFDO1FBQ0osVUFBVSxFRjdNZixPQUFPO1FFOE1GLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0lPeEpMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNMkk1RDVCLEFBeURnQixLQXpEWCxDQXNDUSxvQkFBUyxDQW1CTixXQUFXLENBQUM7UWxKd0t4QixTQUFTLEVBc0NELFFBQTJCO1FBckNuQyxXQUFXLEVrSjNKbUMsT0FBRSxHQW1DbkM7SUExR2pCLEFBMEVvQixLQTFFZixDQXNDUSxvQkFBUyxDQW1CTixXQUFXLEFBaUJOLE9BQU8sQ0FBQztNQUNMLFNBQVMsRWxKNExyQixTQUEyQjtNa0ozTGYsT0FBTyxFQUFFLEVBQUU7TWxKaUszQixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TWtKL0poRCxZQUFZLEVsSnlMeEIsTUFBMkIsR2tKeExsQjtJQS9FckIsQUFrRndCLEtBbEZuQixDQXNDUSxvQkFBUyxDQW1CTixXQUFXLEFBd0JOLE9BQU8sQUFDSCxPQUFPLENBQUM7TWxKOEp6QixXQUFXLEVGektJLG9CQUFvQixFRXlLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsR2tKNUovQztJQXBGekIsQUF1Rm9CLEtBdkZmLENBc0NRLG9CQUFTLENBbUJOLFdBQVcsQUE4Qk4sTUFBTSxDQUFDO01BQ0osT0FBTyxFQUFFLElBQUksR0FDaEI7SUF6RnJCLEFBMkZvQixLQTNGZixDQXNDUSxvQkFBUyxDQW1CTixXQUFXLEFBa0NOLE1BQU0sQ0FBQztNQUNKLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0lBN0ZyQixBQWdHd0IsS0FoR25CLENBc0NRLG9CQUFTLENBeURELGlCQUFNLEFBQ0YsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU8sR0FDbkI7SUFsR3pCLEFBc0d3QixLQXRHbkIsQ0FzQ1Esb0JBQVMsQ0ErREQsc0JBQVcsQUFDUCxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTyxHQUNuQjs7QUF4R3pCLEFBNkdZLEtBN0dQLENBNkdRLHFCQUFVLENBQUM7RUFDUixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxhQUFhLEdBaUNqQztFM0lwRlQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0kySTVENUIsQUFpSGdCLEtBakhYLENBNkdRLHFCQUFVLEdBSUgsV0FBVyxDQUFDO01BSVIsUUFBUSxFQUFFLFFBQVEsR0EwQnpCO01BL0lqQixBQXVId0IsS0F2SG5CLENBNkdRLHFCQUFVLEdBSUgsV0FBVyxBQU1OLE1BQU0sQ0FBQztRQUNKLFNBQVMsRWxKK0l6QixPQUEyQjtRa0o5SVgsTUFBTSxFbEo4SXRCLE9BQTJCO1FrSjdJWCxPQUFPLEVBQUUsT0FBTztRbEptSHBDLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtRa0pqSDVDLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFdBQVcsRWxKMEkzQixRQUEyQjtRa0p6SVgsVUFBVSxFcEo3QzdCLElBQUcsQ0FBQyxRQUFRO1FvSjhDTyxPQUFPLEVBQUUsSUFBSTtRQUNiLFdBQVcsRUFBRSxRQUFRLEdBQ3hCO01Bakl6QixBQW9JNEIsS0FwSXZCLENBNkdRLHFCQUFVLEdBSUgsV0FBVyxBQWtCTixNQUFNLEFBQ0YsTUFBTSxDQUFDO1FBT0osU0FBUyxFQUFFLGNBQWMsR0FDNUI7O0EzSWhGekIsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0UySTVENUIsQUFvSm9CLEtBcEpmLENBb0NJLFdBQU0sQUE4R0YsaUJBQWlCLEFBRVQsT0FBTyxDQUFDO0lBQ0wsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsS0FBSztJQUNmLFVBQVUsRUFBRSxxQkFBb0I7SUFDaEMsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBQ1QsR0FBRyxFQUFFLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxDQUFDO0lBQ1YsY0FBYyxFQUFFLElBQUksR0FFdkI7RUFoS3JCLEFBbUt3QixLQW5LbkIsQ0FvQ0ksV0FBTSxBQThHRixpQkFBaUIsQUFnQlQsTUFBTSxHQUNDLGNBQWMsQ0FBQztJQUNmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJLEdBeUNkO0lBaE56QixBQXlLNEIsS0F6S3ZCLENBb0NJLFdBQU0sQUE4R0YsaUJBQWlCLEFBZ0JULE1BQU0sR0FDQyxjQUFjLENBTWQsY0FBYyxDQUFDO01BQ1gsT0FBTyxFQUFFLFlBQVksR0FDeEI7SUEzSzdCLEFBNks0QixLQTdLdkIsQ0FvQ0ksV0FBTSxBQThHRixpQkFBaUIsQUFnQlQsTUFBTSxHQUNDLGNBQWMsQ0FVZCxpQkFBaUIsQ0FBQztNQUNkLEtBQUssRUFBRSx1QkFBOEI7TUFDckMsTUFBTSxFQUFFLENBQUMsQ2xKd0Y3QixPQUEyQixHa0p6RVY7SWxKN0t6QixNQUFNLENBQUMsTUFBOEIsTU8yQzdCLFNBQVMsRUFBRSxLQUFLLE9QM0NMLFNBQVMsRUFBRSxNQUFNO01rSmpCeEMsQUE2SzRCLEtBN0t2QixDQW9DSSxXQUFNLEFBOEdGLGlCQUFpQixBQWdCVCxNQUFNLEdBQ0MsY0FBYyxDQVVkLGlCQUFpQixDQUFDO1FBS1YsS0FBSyxFQUFFLHVCQUE4QixHQVk1QztJM0lsSXpCLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxPQUFoQixTQUFTLEVBQUUsS0FBSztNMkk1RDVCLEFBNks0QixLQTdLdkIsQ0FvQ0ksV0FBTSxBQThHRixpQkFBaUIsQUFnQlQsTUFBTSxHQUNDLGNBQWMsQ0FVZCxpQkFBaUIsQ0FBQztRQVNWLE1BQU0sRWxKaUY5QixPQUEyQixHa0p6RVY7UUE5TDdCLEFBeUx3QyxLQXpMbkMsQ0FvQ0ksV0FBTSxBQThHRixpQkFBaUIsQUFnQlQsTUFBTSxHQUNDLGNBQWMsQ0FVZCxpQkFBaUIsQ0FXVCxXQUFXLEFBQ04sTUFBTSxDQUFDO1VBQ0osT0FBTyxFQUFFLElBQUksR0FDaEI7O0EzSS9IckMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0kySTVENUIsQUFnTTRCLEtBaE12QixDQW9DSSxXQUFNLEFBOEdGLGlCQUFpQixBQWdCVCxNQUFNLEdBQ0MsY0FBYyxDQTZCZCx3QkFBd0IsQ0FBQztNQUNyQixPQUFPLEVBQUUsSUFBSSxHQUNoQjtJQWxNN0IsQUFvTTRCLEtBcE12QixDQW9DSSxXQUFNLEFBOEdGLGlCQUFpQixBQWdCVCxNQUFNLEdBQ0MsY0FBYyxBQWlDYixjQUFjLENBQUM7TUFDWixLQUFLLEVBQUUsSUFBSTtNQUNYLElBQUksRUFBRSxJQUFJLEdBU2I7TUEvTTdCLEFBd01nQyxLQXhNM0IsQ0FvQ0ksV0FBTSxBQThHRixpQkFBaUIsQUFnQlQsTUFBTSxHQUNDLGNBQWMsQUFpQ2IsY0FBYyxDQUlYLHFCQUFxQixDQUFDO1FBQ2xCLGNBQWMsRUFBRSxNQUFNLEdBQ3pCO01BMU1qQyxBQTRNZ0MsS0E1TTNCLENBb0NJLFdBQU0sQUE4R0YsaUJBQWlCLEFBZ0JULE1BQU0sR0FDQyxjQUFjLEFBaUNiLGNBQWMsQ0FRWCxpQkFBaUIsQ0FBQztRQUNkLFNBQVMsRWxKMERqQyxRQUEyQixHa0p6RE47RUE5TWpDLEFBa053QixLQWxObkIsQ0FvQ0ksV0FBTSxBQThHRixpQkFBaUIsQUFnQlQsTUFBTSxBQWdERixPQUFPLENBQUM7SUFDTCxPQUFPLEVBQUUsQ0FBQyxHQUNiOztBQXBOekIsQUE4UFEsS0E5UEgsQ0E4UEksV0FBTSxDQUFDO0VBQ0osVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFbEpPUCxRQUEyQixDa0pQUCxJQUFJO0VsSjNFaEMsS0FBSyxFRm5MRixPQUFPO0VFb0xWLFVBQVUsRUZqTFAsT0FBTztFb0o2UEYsY0FBYyxFQUFFLFNBQVM7RUFDekIsV0FBVyxFQUFFLElBQUk7RUFDakIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFbEpwQzNCLFNBQVMsRUFzQ0QsSUFBMkI7RUFyQ25DLFdBQVcsRWtKb0N1QixNQUFFO0VBRTVCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDcEoxUHpCLElBQUk7RW9KMlBILFVBQVUsRWxKRlYsU0FBMkIsR2tKYzlCO0VBclJULEFsSjBMSSxLa0oxTEMsQ0E4UEksV0FBTSxBbEpwRVYsT0FBTyxFa0oxTFosS0FBSyxDQThQSSxXQUFNLEFsSnBFQSxNQUFNLENBQUM7SUFDZCxLQUFLLEVGN0tGLElBQUk7SUU4S1AsVUFBVSxFRnhMWCxPQUFPLEdFOExUO0lrSmxNTCxBbEo4TFEsS2tKOUxILENBOFBJLFdBQU0sQWxKcEVWLE9BQU8sQUFJSCxNQUFNLEVrSjlMZixLQUFLLENBOFBJLFdBQU0sQWxKcEVBLE1BQU0sQUFJWixNQUFNLENBQUM7TUFDSixLQUFLLEVGakxOLElBQUk7TUVrTEgsVUFBVSxFRjVMZixPQUFPLEdFNkxMO0VrSmpNVCxBbEpvTUksS2tKcE1DLENBOFBJLFdBQU0sQWxKMURWLE9BQU8sQ0FBQztJQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7SWtKMU1MLEFsSnVNUSxLa0p2TUgsQ0E4UEksV0FBTSxBbEoxRFYsT0FBTyxBQUdILE1BQU0sQ0FBQztNQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VrSnpNVCxBbEo0TUksS2tKNU1DLENBOFBJLFdBQU0sQWxKbERWLE1BQU0sQ0FBQztJQUNKLEtBQUssRUYvTEYsSUFBSTtJRWdNUCxVQUFVLEVGMU1YLE9BQU87SUUyTU4sZUFBZSxFQUFFLElBQUksR0FNeEI7SWtKck5MLEFsSmlOUSxLa0pqTkgsQ0E4UEksV0FBTSxBbEpsRFYsTUFBTSxBQUtGLE1BQU0sQ0FBQztNQUNKLFVBQVUsRUY5TWYsT0FBTztNRStNRixlQUFlLEVBQUUsSUFBSSxHQUN4QjtFT3hKTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7STJJNUQ1QixBQThQUSxLQTlQSCxDQThQSSxXQUFNLENBQUM7TUFjQSxPQUFPLEVsSkxYLFNBQTJCLENrSktILElBQUk7TUFDeEIsVUFBVSxFQUFFLElBQUk7TUFDaEIsYUFBYSxFQUFFLENBQUM7TWxKekY1QixLQUFLLEVGbkxGLE9BQU8sR29KbVJMO01BclJULEFsSjBMSSxLa0oxTEMsQ0E4UEksV0FBTSxBbEpwRVYsT0FBTyxFa0oxTFosS0FBSyxDQThQSSxXQUFNLEFsSnBFQSxNQUFNLENBQUM7UUFDZCxLQUFLLEVGN0tGLElBQUk7UUU4S1AsVUFBVSxFRnZMWCxPQUFPLEdFNkxUO1FrSmxNTCxBbEo4TFEsS2tKOUxILENBOFBJLFdBQU0sQWxKcEVWLE9BQU8sQUFJSCxNQUFNLEVrSjlMZixLQUFLLENBOFBJLFdBQU0sQWxKcEVBLE1BQU0sQUFJWixNQUFNLENBQUM7VUFDSixLQUFLLEVGakxOLElBQUk7VUVrTEgsVUFBVSxFRjNMZixPQUFPLEdFNExMO01rSmpNVCxBbEpvTUksS2tKcE1DLENBOFBJLFdBQU0sQWxKMURWLE9BQU8sQ0FBQztRQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7UWtKMU1MLEFsSnVNUSxLa0p2TUgsQ0E4UEksV0FBTSxBbEoxRFYsT0FBTyxBQUdILE1BQU0sQ0FBQztVQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO01rSnpNVCxBbEo0TUksS2tKNU1DLENBOFBJLFdBQU0sQWxKbERWLE1BQU0sQ0FBQztRQUNKLEtBQUssRUYvTEYsSUFBSTtRRWdNUCxVQUFVLEVGek1YLE9BQU87UUUwTU4sZUFBZSxFQUFFLElBQUksR0FNeEI7UWtKck5MLEFsSmlOUSxLa0pqTkgsQ0E4UEksV0FBTSxBbEpsRFYsTUFBTSxBQUtGLE1BQU0sQ0FBQztVQUNKLFVBQVUsRUY3TWYsT0FBTztVRThNRixlQUFlLEVBQUUsSUFBSSxHQUN4QjtFa0pwTlQsQUFrUlksS0FsUlAsQ0E4UEksV0FBTSxBQW9CRixNQUFNLENBQUM7SUFDSixlQUFlLEVBQUUsSUFBSSxHQUN4Qjs7QUFwUmIsQUF1UlEsS0F2UkgsQ0F1UkksZUFBVSxDQUFDO0VBQ1IsS0FBSyxFQUFFLElBQUksR0FtRmQ7RTNJL1NMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJMkk1RDVCLEFBdVJRLEtBdlJILENBdVJJLGVBQVUsQ0FBQztNQUlKLFFBQVEsRUFBRSxRQUFRLEdBZ0Z6QjtFQTNXVCxBQThSWSxLQTlSUCxDQThSUSxxQkFBTSxDQUFDO0lBQ0osS0FBSyxFQUFFLGNBQWMsR0FDeEI7RUFoU2IsQUFrU1ksS0FsU1AsQ0FrU1Esc0JBQU8sQ0FBQztJQUNMLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUFwU2IsQUFzU1ksS0F0U1AsQ0FzU1Esd0JBQVMsQ0FBQztJQUNQLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRWxKakNULFNBQTJCO0lrSmtDdkIsU0FBUyxFbEpsQ2IsU0FBMkI7SWtKbUN2QixVQUFVLEVBQUUsSUFBSTtJQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE1BQU0sR0F1QjFCO0kzSXpRVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TTJJNUQ1QixBQXNTWSxLQXRTUCxDQXNTUSx3QkFBUyxDQUFDO1FBWUgsT0FBTyxFQUFFLElBQUksR0FtQnBCO1FBclViLEFBb1RvQixLQXBUZixDQXNTUSx3QkFBUyxBQWNELFdBQVcsQ0FBQztVQUNULE9BQU8sRWxKOUNuQixTQUEyQixHa0orQ2xCO0lBdFRyQixBQXlUZ0IsS0F6VFgsQ0FzU1Esd0JBQVMsQUFtQkwsTUFBTSxDQUFDO01BQ0osU0FBUyxFbEpuRGpCLFFBQTJCO01rSm9EbkIsT0FBTyxFQUFFLE9BQU87TWxKOUU1QixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TWtKZ0ZwRCxXQUFXLEVBQUUsTUFBTSxHQUN0QjtJQTlUakIsQUFpVW9CLEtBalVmLENBc1NRLHdCQUFTLEFBMEJMLEtBQUssQUFDRCxNQUFNLENBQUM7TUFDSixPQUFPLEVBQUUsT0FBTyxHQUNuQjtFQW5VckIsQUF1VVksS0F2VVAsQ0F1VVEscUJBQU0sQ0FBQztJQUNKLFNBQVMsRWxKakViLE1BQTJCO0lrSmtFdkIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsVUFBVSxFcEp0VW5CLE9BQU8sR29Kb1ZEO0lBeFZiLEFBNFVnQixLQTVVWCxDQXVVUSxxQkFBTSxDQUtILGNBQWMsQ0FBQztNQUNYLFVBQVUsRUFBRSxJQUFJO01BQ2hCLE9BQU8sRWxKdkVmLE9BQTJCLENBQTNCLFFBQTJCO01BbEZuQyxLQUFLLEVGaExGLE9BQU87TUVpTFYsVUFBVSxFRjFGTCxnQkFBZ0I7TW9Kb1BMLFVBQVUsRXBKL1ByQixJQUFHLENBQUMsUUFBUTtNRWdKakIsU0FBUyxFQXNDRCxTQUEyQjtNQXJDbkMsV0FBVyxFa0orRytCLEdBQUUsR0FNL0I7TUF2VmpCLEFsSjBMSSxLa0oxTEMsQ0F1VVEscUJBQU0sQ0FLSCxjQUFjLEFsSmxKekIsT0FBTyxFa0oxTFosS0FBSyxDQXVVUSxxQkFBTSxDQUtILGNBQWMsQWxKbEpmLE1BQU0sQ0FBQztRQUNkLEtBQUssRUY3S0YsSUFBSTtRRThLUCxVQUFVLEVGaEdULGdCQUFnQixHRXNHcEI7UWtKbE1MLEFsSjhMUSxLa0o5TEgsQ0F1VVEscUJBQU0sQ0FLSCxjQUFjLEFsSmxKekIsT0FBTyxBQUlILE1BQU0sRWtKOUxmLEtBQUssQ0F1VVEscUJBQU0sQ0FLSCxjQUFjLEFsSmxKZixNQUFNLEFBSVosTUFBTSxDQUFDO1VBQ0osS0FBSyxFRmpMTixJQUFJO1VFa0xILFVBQVUsRUZwR2IsZ0JBQWdCLEdFcUdoQjtNa0pqTVQsQWxKb01JLEtrSnBNQyxDQXVVUSxxQkFBTSxDQUtILGNBQWMsQWxKeEl6QixPQUFPLENBQUM7UUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO1FrSjFNTCxBbEp1TVEsS2tKdk1ILENBdVVRLHFCQUFNLENBS0gsY0FBYyxBbEp4SXpCLE9BQU8sQUFHSCxNQUFNLENBQUM7VUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtNa0p6TVQsQWxKNE1JLEtrSjVNQyxDQXVVUSxxQkFBTSxDQUtILGNBQWMsQWxKaEl6QixNQUFNLENBQUM7UUFDSixLQUFLLEVGL0xGLElBQUk7UUVnTVAsVUFBVSxFRmxIVCxnQkFBZ0I7UUVtSGpCLGVBQWUsRUFBRSxJQUFJLEdBTXhCO1FrSnJOTCxBbEppTlEsS2tKak5ILENBdVVRLHFCQUFNLENBS0gsY0FBYyxBbEpoSXpCLE1BQU0sQUFLRixNQUFNLENBQUM7VUFDSixVQUFVLEVGdEhiLGdCQUFnQjtVRXVIYixlQUFlLEVBQUUsSUFBSSxHQUN4QjtNT3hKTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UTJJNUQ1QixBQTRVZ0IsS0E1VVgsQ0F1VVEscUJBQU0sQ0FLSCxjQUFjLENBQUM7VUFRUCxPQUFPLEVsSjdFbkIsTUFBMkIsQ0FBM0IsUUFBMkI7VUF0Q25DLFNBQVMsRUFzQ0QsT0FBMkI7VUFyQ25DLFdBQVcsRWtKbUhtQyxPQUFFLEdBRW5DO0VBdlZqQixBQTBWWSxLQTFWUCxDQTBWUSx5QkFBVSxDQUFDO0lBQ1IsU0FBUyxFQUFFLElBQUk7SUFDZixRQUFRLEVBQUUsUUFBUTtJQUNsQixVQUFVLEVwSnpWbkIsT0FBTyxHb0pzV0Q7SUExV2IsQUErVmdCLEtBL1ZYLENBMFZRLHlCQUFVLENBS1AsY0FBYyxDQUFDO01BQ1gsVUFBVSxFQUFFLElBQUk7TUFDaEIsT0FBTyxFbEoxRmYsU0FBMkIsQ0FBM0IsUUFBMkI7TUFsRm5DLEtBQUssRUZoTEYsT0FBTztNRWlMVixVQUFVLEVGMUZMLGdCQUFnQjtNb0p1UUwsVUFBVSxFcEpsUnJCLElBQUcsQ0FBQyxRQUFRO01FZ0pqQixTQUFTLEVBc0NELFNBQTJCO01BckNuQyxXQUFXLEVrSmtJK0IsR0FBRSxHQUsvQjtNQXpXakIsQWxKMExJLEtrSjFMQyxDQTBWUSx5QkFBVSxDQUtQLGNBQWMsQWxKckt6QixPQUFPLEVrSjFMWixLQUFLLENBMFZRLHlCQUFVLENBS1AsY0FBYyxBbEpyS2YsTUFBTSxDQUFDO1FBQ2QsS0FBSyxFRjdLRixJQUFJO1FFOEtQLFVBQVUsRUZoR1QsZ0JBQWdCLEdFc0dwQjtRa0psTUwsQWxKOExRLEtrSjlMSCxDQTBWUSx5QkFBVSxDQUtQLGNBQWMsQWxKckt6QixPQUFPLEFBSUgsTUFBTSxFa0o5TGYsS0FBSyxDQTBWUSx5QkFBVSxDQUtQLGNBQWMsQWxKcktmLE1BQU0sQUFJWixNQUFNLENBQUM7VUFDSixLQUFLLEVGakxOLElBQUk7VUVrTEgsVUFBVSxFRnBHYixnQkFBZ0IsR0VxR2hCO01rSmpNVCxBbEpvTUksS2tKcE1DLENBMFZRLHlCQUFVLENBS1AsY0FBYyxBbEozSnpCLE9BQU8sQ0FBQztRQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7UWtKMU1MLEFsSnVNUSxLa0p2TUgsQ0EwVlEseUJBQVUsQ0FLUCxjQUFjLEFsSjNKekIsT0FBTyxBQUdILE1BQU0sQ0FBQztVQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO01rSnpNVCxBbEo0TUksS2tKNU1DLENBMFZRLHlCQUFVLENBS1AsY0FBYyxBbEpuSnpCLE1BQU0sQ0FBQztRQUNKLEtBQUssRUYvTEYsSUFBSTtRRWdNUCxVQUFVLEVGbEhULGdCQUFnQjtRRW1IakIsZUFBZSxFQUFFLElBQUksR0FNeEI7UWtKck5MLEFsSmlOUSxLa0pqTkgsQ0EwVlEseUJBQVUsQ0FLUCxjQUFjLEFsSm5KekIsTUFBTSxBQUtGLE1BQU0sQ0FBQztVQUNKLFVBQVUsRUZ0SGIsZ0JBQWdCO1VFdUhiLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO01PeEpMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRMkk1RDVCLEFBK1ZnQixLQS9WWCxDQTBWUSx5QkFBVSxDQUtQLGNBQWMsQ0FBQztVbEo5SDNCLFNBQVMsRUFzQ0QsT0FBMkI7VUFyQ25DLFdBQVcsRWtKcUltQyxPQUFFLEdBRW5DOztBQXpXakIsQUE2V1EsS0E3V0gsQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FBQztFQUNaLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQztFQUNULGFBQWEsRUFBRSxDQUFDO0VBQ2hCLE9BQU8sRUFBRSxDQUFDLEdBMkZiO0UzSWpaTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7STJJNUQ1QixBQXFYZ0IsS0FyWFgsQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQUFRTixXQUFXLENBQUM7TUFDVCxPQUFPLEVsSi9HZixPQUEyQixHa0pnSHRCO0VBdlhqQixBQTBYWSxLQTFYUCxDQVFELEtBQUssQUFxV0EsY0FBYyxBQWFWLEtBQUssQ0FBQztJQUNILE9BQU8sRUFBRSxLQUFLLEdBQ2pCO0VBNVhiLEFBbVlnQixLQW5ZWCxDQVFELEtBQUssQUFxV0EsY0FBYyxDQXNCTixXQUFNLENBQUM7SUFDSixXQUFXLEVBQUUsTUFBTTtJbEovTW5DLEtBQUssRUZuTEYsT0FBTztJRW9MVixVQUFVLEVGeEtILElBQUk7SUVtTlgsU0FBUyxFQXNDRCxJQUEyQjtJQXJDbkMsV0FBVyxFa0pvSytCLE1BQUU7SUFDNUIsT0FBTyxFbEpoSWYsU0FBMkIsQ2tKZ0lBLElBQUksQ2xKaEkvQixTQUEyQixDQUEzQixTQUEyQjtJa0ppSW5CLFVBQVUsRWxKaklsQixTQUEyQjtJa0prSW5CLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDcEpwWXJDLE9BQU8sR29KeVpHO0lBOVpqQixBbEowTEksS2tKMUxDLENBUUQsS0FBSyxBQXFXQSxjQUFjLENBc0JOLFdBQU0sQWxKek1sQixPQUFPLEVrSjFMWixLQUFLLENBUUQsS0FBSyxBQXFXQSxjQUFjLENBc0JOLFdBQU0sQWxKek1SLE1BQU0sQ0FBQztNQUNkLEtBQUssRUY3S0YsSUFBSTtNRThLUCxVQUFVLEVGeExYLE9BQU8sR0U4TFQ7TWtKbE1MLEFsSjhMUSxLa0o5TEgsQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FzQk4sV0FBTSxBbEp6TWxCLE9BQU8sQUFJSCxNQUFNLEVrSjlMZixLQUFLLENBUUQsS0FBSyxBQXFXQSxjQUFjLENBc0JOLFdBQU0sQWxKek1SLE1BQU0sQUFJWixNQUFNLENBQUM7UUFDSixLQUFLLEVGakxOLElBQUk7UUVrTEgsVUFBVSxFRjVMZixPQUFPLEdFNkxMO0lrSmpNVCxBbEpvTUksS2tKcE1DLENBUUQsS0FBSyxBQXFXQSxjQUFjLENBc0JOLFdBQU0sQWxKL0xsQixPQUFPLENBQUM7TUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO01rSjFNTCxBbEp1TVEsS2tKdk1ILENBUUQsS0FBSyxBQXFXQSxjQUFjLENBc0JOLFdBQU0sQWxKL0xsQixPQUFPLEFBR0gsTUFBTSxDQUFDO1FBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7SWtKek1ULEFsSjRNSSxLa0o1TUMsQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FzQk4sV0FBTSxBbEp2TGxCLE1BQU0sQ0FBQztNQUNKLEtBQUssRUYvTEYsSUFBSTtNRWdNUCxVQUFVLEVGMU1YLE9BQU87TUUyTU4sZUFBZSxFQUFFLElBQUksR0FNeEI7TWtKck5MLEFsSmlOUSxLa0pqTkgsQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FzQk4sV0FBTSxBbEp2TGxCLE1BQU0sQUFLRixNQUFNLENBQUM7UUFDSixVQUFVLEVGOU1mLE9BQU87UUUrTUYsZUFBZSxFQUFFLElBQUksR0FDeEI7SU94SkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO00ySTVENUIsQUFtWWdCLEtBbllYLENBUUQsS0FBSyxBQXFXQSxjQUFjLENBc0JOLFdBQU0sQ0FBQztRQVNBLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLFVBQVUsRUFBRSxJQUFJO1FsSnhOcEMsS0FBSyxFRm5MRixPQUFPO1FFb0xWLFVBQVUsRUYxRkwsZ0JBQWdCO1FvSm1URCxPQUFPLEVsSnhJbkIsU0FBMkIsQ0FBM0IsT0FBMkIsR2tKdUp0QjtRQTlaakIsQWxKMExJLEtrSjFMQyxDQVFELEtBQUssQUFxV0EsY0FBYyxDQXNCTixXQUFNLEFsSnpNbEIsT0FBTyxFa0oxTFosS0FBSyxDQVFELEtBQUssQUFxV0EsY0FBYyxDQXNCTixXQUFNLEFsSnpNUixNQUFNLENBQUM7VUFDZCxLQUFLLEVGdExOLE9BQU87VUV1TE4sVUFBVSxFRmhHVCxnQkFBZ0IsR0VzR3BCO1VrSmxNTCxBbEo4TFEsS2tKOUxILENBUUQsS0FBSyxBQXFXQSxjQUFjLENBc0JOLFdBQU0sQWxKek1sQixPQUFPLEFBSUgsTUFBTSxFa0o5TGYsS0FBSyxDQVFELEtBQUssQUFxV0EsY0FBYyxDQXNCTixXQUFNLEFsSnpNUixNQUFNLEFBSVosTUFBTSxDQUFDO1lBQ0osS0FBSyxFRjFMVixPQUFPO1lFMkxGLFVBQVUsRUZwR2IsZ0JBQWdCLEdFcUdoQjtRa0pqTVQsQWxKb01JLEtrSnBNQyxDQVFELEtBQUssQUFxV0EsY0FBYyxDQXNCTixXQUFNLEFsSi9MbEIsT0FBTyxDQUFDO1VBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtVa0oxTUwsQWxKdU1RLEtrSnZNSCxDQVFELEtBQUssQUFxV0EsY0FBYyxDQXNCTixXQUFNLEFsSi9MbEIsT0FBTyxBQUdILE1BQU0sQ0FBQztZQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO1FrSnpNVCxBbEo0TUksS2tKNU1DLENBUUQsS0FBSyxBQXFXQSxjQUFjLENBc0JOLFdBQU0sQWxKdkxsQixNQUFNLENBQUM7VUFDSixLQUFLLEVGeE1OLE9BQU87VUV5TU4sVUFBVSxFRmxIVCxnQkFBZ0I7VUVtSGpCLGVBQWUsRUFBRSxJQUFJLEdBTXhCO1VrSnJOTCxBbEppTlEsS2tKak5ILENBUUQsS0FBSyxBQXFXQSxjQUFjLENBc0JOLFdBQU0sQWxKdkxsQixNQUFNLEFBS0YsTUFBTSxDQUFDO1lBQ0osVUFBVSxFRnRIYixnQkFBZ0I7WUV1SGIsZUFBZSxFQUFFLElBQUksR0FDeEI7SWtKcE5ULEFBa1pvQixLQWxaZixDQVFELEtBQUssQUFxV0EsY0FBYyxDQXNCTixXQUFNLENBZUgsVUFBVSxDQUFDO01BQ1AsWUFBWSxFbEo1SXhCLFNBQTJCO01rSjZJZixTQUFTLEVsSjdJckIsU0FBMkIsR2tKa0psQjtNM0k3VmpCLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRMkk1RDVCLEFBa1pvQixLQWxaZixDQVFELEtBQUssQUFxV0EsY0FBYyxDQXNCTixXQUFNLENBZUgsVUFBVSxDQUFDO1VBS0gsU0FBUyxFbEpoSnpCLFNBQTJCLEdrSmtKbEI7SUF6WnJCLEFBMlpvQixLQTNaZixDQVFELEtBQUssQUFxV0EsY0FBYyxDQXNCTixXQUFNLEFBd0JGLHdCQUF3QixDQUFDO01BQ3RCLE9BQU8sRUFBRSxDQUFDLEdBQ2I7RTNJaldqQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7STJJNUQ1QixBQWthZ0IsS0FsYVgsQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FvRFgsY0FBYyxHQUNOLEVBQUUsQ0FBQztNQUVDLFdBQVcsRWxKN0p2QixRQUEyQixHa0orSnRCO0VBdGFqQixBQXlhb0IsS0F6YWYsQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FvRFgsY0FBYyxDQVFMLFdBQU0sQ0FBQztJbEpwUHhCLEtBQUssRUZuTEYsT0FBTztJRW9MVixVQUFVLEVGaExQLE9BQU87SW9KcWFVLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRWxKdEtuQixTQUEyQixDa0pzS0ksSUFBSSxDbEp0S25DLFNBQTJCLENBQTNCLFNBQTJCO0lBdENuQyxTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEVrSjRNbUMsR0FBRSxHQTRCL0I7SUExY3JCLEFsSjBMSSxLa0oxTEMsQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FvRFgsY0FBYyxDQVFMLFdBQU0sQWxKL090QixPQUFPLEVrSjFMWixLQUFLLENBUUQsS0FBSyxBQXFXQSxjQUFjLENBb0RYLGNBQWMsQ0FRTCxXQUFNLEFsSi9PWixNQUFNLENBQUM7TUFDZCxLQUFLLEVGN0tGLElBQUk7TUU4S1AsVUFBVSxFRnhMWCxPQUFPLEdFOExUO01rSmxNTCxBbEo4TFEsS2tKOUxILENBUUQsS0FBSyxBQXFXQSxjQUFjLENBb0RYLGNBQWMsQ0FRTCxXQUFNLEFsSi9PdEIsT0FBTyxBQUlILE1BQU0sRWtKOUxmLEtBQUssQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FvRFgsY0FBYyxDQVFMLFdBQU0sQWxKL09aLE1BQU0sQUFJWixNQUFNLENBQUM7UUFDSixLQUFLLEVGakxOLElBQUk7UUVrTEgsVUFBVSxFRjVMZixPQUFPLEdFNkxMO0lrSmpNVCxBbEpvTUksS2tKcE1DLENBUUQsS0FBSyxBQXFXQSxjQUFjLENBb0RYLGNBQWMsQ0FRTCxXQUFNLEFsSnJPdEIsT0FBTyxDQUFDO01BQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtNa0oxTUwsQWxKdU1RLEtrSnZNSCxDQVFELEtBQUssQUFxV0EsY0FBYyxDQW9EWCxjQUFjLENBUUwsV0FBTSxBbEpyT3RCLE9BQU8sQUFHSCxNQUFNLENBQUM7UUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtJa0p6TVQsQWxKNE1JLEtrSjVNQyxDQVFELEtBQUssQUFxV0EsY0FBYyxDQW9EWCxjQUFjLENBUUwsV0FBTSxBbEo3TnRCLE1BQU0sQ0FBQztNQUNKLEtBQUssRUYvTEYsSUFBSTtNRWdNUCxVQUFVLEVGMU1YLE9BQU87TUUyTU4sZUFBZSxFQUFFLElBQUksR0FNeEI7TWtKck5MLEFsSmlOUSxLa0pqTkgsQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FvRFgsY0FBYyxDQVFMLFdBQU0sQWxKN050QixNQUFNLEFBS0YsTUFBTSxDQUFDO1FBQ0osVUFBVSxFRjlNZixPQUFPO1FFK01GLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0lPeEpMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNMkk1RDVCLEFBeWFvQixLQXphZixDQVFELEtBQUssQUFxV0EsY0FBYyxDQW9EWCxjQUFjLENBUUwsV0FBTSxDQUFDO1FsSnhNeEIsU0FBUyxFQXNDRCxRQUEyQjtRQXJDbkMsV0FBVyxFa0orTXVDLE9BQUUsR0F5Qm5DO0kzSTlZakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO00ySTVENUIsQUF5YW9CLEtBemFmLENBUUQsS0FBSyxBQXFXQSxjQUFjLENBb0RYLGNBQWMsQ0FRTCxXQUFNLENBQUM7UUFZQSxPQUFPLEVsSjlLdkIsU0FBMkIsQ0FBM0IsU0FBMkIsQ0FBM0IsU0FBMkIsQ0FBM0IsU0FBMkI7UUFsRm5DLEtBQUssRUZuTEYsT0FBTztRRW9MVixVQUFVLEVGMUZMLGdCQUFnQixHb0o4V0o7UUExY3JCLEFsSjBMSSxLa0oxTEMsQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FvRFgsY0FBYyxDQVFMLFdBQU0sQWxKL090QixPQUFPLEVrSjFMWixLQUFLLENBUUQsS0FBSyxBQXFXQSxjQUFjLENBb0RYLGNBQWMsQ0FRTCxXQUFNLEFsSi9PWixNQUFNLENBQUM7VUFDZCxLQUFLLEVGdExOLE9BQU87VUV1TE4sVUFBVSxFRmhHVCxnQkFBZ0IsR0VzR3BCO1VrSmxNTCxBbEo4TFEsS2tKOUxILENBUUQsS0FBSyxBQXFXQSxjQUFjLENBb0RYLGNBQWMsQ0FRTCxXQUFNLEFsSi9PdEIsT0FBTyxBQUlILE1BQU0sRWtKOUxmLEtBQUssQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FvRFgsY0FBYyxDQVFMLFdBQU0sQWxKL09aLE1BQU0sQUFJWixNQUFNLENBQUM7WUFDSixLQUFLLEVGMUxWLE9BQU87WUUyTEYsVUFBVSxFRnBHYixnQkFBZ0IsR0VxR2hCO1FrSmpNVCxBbEpvTUksS2tKcE1DLENBUUQsS0FBSyxBQXFXQSxjQUFjLENBb0RYLGNBQWMsQ0FRTCxXQUFNLEFsSnJPdEIsT0FBTyxDQUFDO1VBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtVa0oxTUwsQWxKdU1RLEtrSnZNSCxDQVFELEtBQUssQUFxV0EsY0FBYyxDQW9EWCxjQUFjLENBUUwsV0FBTSxBbEpyT3RCLE9BQU8sQUFHSCxNQUFNLENBQUM7WUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtRa0p6TVQsQWxKNE1JLEtrSjVNQyxDQVFELEtBQUssQUFxV0EsY0FBYyxDQW9EWCxjQUFjLENBUUwsV0FBTSxBbEo3TnRCLE1BQU0sQ0FBQztVQUNKLEtBQUssRUZ4TU4sT0FBTztVRXlNTixVQUFVLEVGbEhULGdCQUFnQjtVRW1IakIsZUFBZSxFQUFFLElBQUksR0FNeEI7VWtKck5MLEFsSmlOUSxLa0pqTkgsQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FvRFgsY0FBYyxDQVFMLFdBQU0sQWxKN050QixNQUFNLEFBS0YsTUFBTSxDQUFDO1lBQ0osVUFBVSxFRnRIYixnQkFBZ0I7WUV1SGIsZUFBZSxFQUFFLElBQUksR0FDeEI7SWtKcE5ULEFBeWJ3QixLQXpibkIsQ0FRRCxLQUFLLEFBcVdBLGNBQWMsQ0FvRFgsY0FBYyxDQVFMLFdBQU0sQUFnQkYsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLEdBQUc7TUFDWixZQUFZLEVsSnBMNUIsUUFBMkIsR2tKNExkO00zSXZZckIsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1EySTVENUIsQUF5YndCLEtBemJuQixDQVFELEtBQUssQUFxV0EsY0FBYyxDQW9EWCxjQUFjLENBUUwsV0FBTSxBQWdCRixPQUFPLENBQUM7VUFLRCxZQUFZLEVBQUUsQ0FBQztVQUNmLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLEdBQUcsRWxKekx2QixTQUEyQjtVa0owTFAsSUFBSSxFQUFFLENBQUMsR0FFZDtJQW5jekIsQUFzYzRCLEtBdGN2QixDQVFELEtBQUssQUFxV0EsY0FBYyxDQW9EWCxjQUFjLENBUUwsV0FBTSxBQTRCRixLQUFLLEFBQ0QsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLEdBQUcsR0FDZjs7QUFReEIsQUFBRCxVQUFNLENBQUM7RUFDSCxPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLE1BQU0sRUFBRSxHQUFHO0VBQ1gsY0FBYyxFQUFFLEdBQUcsR0F1RnRCO0VBM0ZBLEFBU2UsVUFUVixDQU9HLFdBQU0sQUFDRixjQUFjLENBQ1gsV0FBVyxDQUFDO0lBQ1IsWUFBWSxFQUFFLENBQUMsR0FDbEI7RUFYaEIsQUFlZSxVQWZWLENBT0csV0FBTSxBQU9GLGFBQWEsQ0FDVixXQUFXLENBQUM7SUFDUixhQUFhLEVBQUUsQ0FBQyxHQUNuQjtFQWpCaEIsQUFxQk8sVUFyQkYsQ0FxQkcsV0FBTSxDQUFDO0lsSmhUaEIsS0FBSyxFRnZLRSxJQUFJO0lFd0tYLFVBQVUsRUYxRkwsZ0JBQWdCO0lvSjJZVCxjQUFjLEVBQUUsSUFBSTtJQUNwQixlQUFlLEVBQUUsSUFBSTtJQUNyQixXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVsSm5PWCxTQUEyQixDQUEzQixRQUEyQjtJQXRDbkMsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFa0p5UTJCLEdBQUU7SUFDNUIsYUFBYSxFQUFFLENBQUMsR0E2RG5CO0lBekZSLEFsSnRSRCxVa0pzUk0sQ0FxQkcsV0FBTSxBbEozU2QsT0FBTyxFa0pzUlAsVUFBSyxDQXFCRyxXQUFNLEFsSjNTSixNQUFNLENBQUM7TUFDZCxLQUFLLEVGN0tGLElBQUk7TUU4S1AsVUFBVSxFRmhHVCxnQkFBZ0IsR0VzR3BCO01rSjhRQSxBbEpsUkcsVWtKa1JFLENBcUJHLFdBQU0sQWxKM1NkLE9BQU8sQUFJSCxNQUFNLEVrSmtSVixVQUFLLENBcUJHLFdBQU0sQWxKM1NKLE1BQU0sQUFJWixNQUFNLENBQUM7UUFDSixLQUFLLEVGakxOLElBQUk7UUVrTEgsVUFBVSxFRnBHYixnQkFBZ0IsR0VxR2hCO0lrSitRSixBbEo1UUQsVWtKNFFNLENBcUJHLFdBQU0sQWxKalNkLE9BQU8sQ0FBQztNQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7TWtKc1FBLEFsSnpRRyxVa0p5UUUsQ0FxQkcsV0FBTSxBbEpqU2QsT0FBTyxBQUdILE1BQU0sQ0FBQztRQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0lrSnVRSixBbEpwUUQsVWtKb1FNLENBcUJHLFdBQU0sQWxKelJkLE1BQU0sQ0FBQztNQUNKLEtBQUssRUYvTEYsSUFBSTtNRWdNUCxVQUFVLEVGbEhULGdCQUFnQjtNRW1IakIsZUFBZSxFQUFFLElBQUksR0FNeEI7TWtKMlBBLEFsSi9QRyxVa0orUEUsQ0FxQkcsV0FBTSxBbEp6UmQsTUFBTSxBQUtGLE1BQU0sQ0FBQztRQUNKLFVBQVUsRUZ0SGIsZ0JBQWdCO1FFdUhiLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0lrSjRQSixBQThCVyxVQTlCTixDQXFCRyxXQUFNLEFBU0YsTUFBTSxDQUFDO01BQ0osZUFBZSxFQUFFLFNBQVMsR0FDN0I7STNJcGJiLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNMklvWnZCLEFBcUJPLFVBckJGLENBcUJHLFdBQU0sQ0FBQztRbEpwUWhCLFNBQVMsRUFzQ0QsT0FBMkI7UUFyQ25DLFdBQVcsRWtKaVIrQixPQUFFLEdBc0RuQztJQXpGUixBQXNDVyxVQXRDTixDQXNDTyxvQkFBUyxDQUFDO01BQ1AsUUFBUSxFQUFFLFFBQVEsR0FPckI7TUE5Q1osQUF5Q2UsVUF6Q1YsQ0FzQ08sb0JBQVMsQUFHTCxNQUFNLENBQUM7UUFDSixPQUFPLEVBQUUsSUFBSTtRQUNiLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEtBQUssRWxKclBqQixVQUEyQixHa0pzUGxCO0lBN0NoQixBQWdEVyxVQWhETixDQWdETyxpQkFBTSxDQUFDO01BQ0osUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFbEozUGYsU0FBMkIsQ0FBM0IsT0FBMkIsQ0FBM0IsU0FBMkIsQ0FBM0IsUUFBMkI7TWtKNFBuQixVQUFVLEVBQUUsSUFBSSxHQWdCbkI7TTNJdmRiLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRMklvWnZCLEFBZ0RXLFVBaEROLENBZ0RPLGlCQUFNLENBQUM7VUFNQSxPQUFPLEVsSi9QbkIsU0FBMkIsQ0FBM0IsUUFBMkIsQ0FBM0IsU0FBMkIsQ0FBM0IsT0FBMkIsR2tKNFF0QjtNQW5FWixBQXlEZSxVQXpEVixDQWdETyxpQkFBTSxBQVNGLE9BQU8sQ0FBQztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLElBQUksRUFBRSxDQUFDO1FsSjVSdkIsV0FBVyxFRnpLSSxvQkFBb0IsRUV5S0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEdrSmtTbkQ7UTNJdGRqQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7VTJJb1p2QixBQXlEZSxVQXpEVixDQWdETyxpQkFBTSxBQVNGLE9BQU8sQ0FBQztZQU9ELElBQUksRWxKelFwQixRQUEyQixHa0oyUWxCO0lBbEVoQixBQXFFVyxVQXJFTixDQXFFTyxxQkFBVSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFbEpoUmYsU0FBMkIsQ0FBM0IsUUFBMkIsQ0FBM0IsU0FBMkIsQ0FBM0IsUUFBMkI7TWtKaVJuQixVQUFVLEVBQUUsSUFBSSxHQWdCbkI7TTNJNWViLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRMklvWnZCLEFBcUVXLFVBckVOLENBcUVPLHFCQUFVLENBQUM7VUFNSixPQUFPLEVsSnBSbkIsU0FBMkIsQ0FBM0IsUUFBMkIsQ0FBM0IsU0FBMkIsQ0FBM0IsT0FBMkIsR2tKaVN0QjtNQXhGWixBQThFZSxVQTlFVixDQXFFTyxxQkFBVSxBQVNOLE9BQU8sQ0FBQztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLElBQUksRUFBRSxDQUFDO1FsSmpUdkIsV0FBVyxFRnpLSSxvQkFBb0IsRUV5S0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEdrSnVUbkQ7UTNJM2VqQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7VTJJb1p2QixBQThFZSxVQTlFVixDQXFFTyxxQkFBVSxBQVNOLE9BQU8sQ0FBQztZQU9ELElBQUksRWxKOVJwQixRQUEyQixHa0pnU2xCOztBQU1oQixBQUNHLGVBRE8sQUFDTixLQUFLLENBQUM7RUFDSCxPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsTUFBTSxFQUFFLENBQUMsQ2xKMVNULFVBQTJCLENBQTNCLE9BQTJCLENBQTNCLFVBQTJCO0VrSjJTM0IsY0FBYyxFQUFFLEdBQUcsR0F3RXRCO0VBN0VKLEFBT08sZUFQRyxBQUNOLEtBQUssQ0FNRixXQUFXLENBQUM7SUFDUixNQUFNLEVBQUUsQ0FBQyxDbEo5U2IsU0FBMkIsQ0FBM0IsUUFBMkIsQ0FBM0IsU0FBMkI7SWtKK1N2QixLQUFLLEVBQUUseUJBQThCLEdBU3hDO0kzSW5nQlQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO00ySWlmdkIsQUFPTyxlQVBHLEFBQ04sS0FBSyxDQU1GLFdBQVcsQ0FBQztRQUtKLEtBQUssRUFBRSx5QkFBOEIsR0FNNUM7STNJbmdCVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TTJJaWZ2QixBQU9PLGVBUEcsQUFDTixLQUFLLENBTUYsV0FBVyxDQUFDO1FBU0osS0FBSyxFQUFFLHlCQUE4QixHQUU1QztFQWxCUixBQW9CTyxlQXBCRyxBQUNOLEtBQUssQ0FtQkYsV0FBVyxDQUFDO0lBQ1IsT0FBTyxFbEozVFgsUUFBMkIsQ0FBM0IsU0FBMkIsQ0FBM0IsUUFBMkIsQ0FBM0IsU0FBMkI7SWtKNFR2QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3BKMWlCMUIsT0FBTztJb0oyaUJFLGNBQWMsRUFBRSxJQUFJO0lsSi9ZaEMsS0FBSyxFRm5MRixPQUFPO0lFb0xWLFVBQVUsRUYxRkwsZ0JBQWdCO0lvSjBlVCxRQUFRLEVBQUUsUUFBUTtJQUNsQixVQUFVLEVBQUUsSUFBSTtJQUNoQixXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVBQUUsWUFBWTtJbEp4V2pDLFNBQVMsRUFzQ0QsU0FBMkI7SUFyQ25DLFdBQVcsRWtKd1cyQixHQUFFLEdBa0MvQjtJQS9EUixBbEpuWEQsZWtKbVhXLEFBQ04sS0FBSyxDQW1CRixXQUFXLEFsSnZZbEIsT0FBTyxFa0ptWFAsZUFBVSxBQUNOLEtBQUssQ0FtQkYsV0FBVyxBbEp2WVIsTUFBTSxDQUFDO01BQ2QsS0FBSyxFRnZMTixPQUFPO01Fd0xOLFVBQVUsRUZsS1gsT0FBTyxHRXdLVDtNa0oyV0EsQWxKL1dHLGVrSitXTyxBQUNOLEtBQUssQ0FtQkYsV0FBVyxBbEp2WWxCLE9BQU8sQUFJSCxNQUFNLEVrSitXVixlQUFVLEFBQ04sS0FBSyxDQW1CRixXQUFXLEFsSnZZUixNQUFNLEFBSVosTUFBTSxDQUFDO1FBQ0osS0FBSyxFRjNMVixPQUFPO1FFNExGLFVBQVUsRUZ0S2YsT0FBTyxHRXVLTDtJa0o0V0osQWxKeldELGVrSnlXVyxBQUNOLEtBQUssQ0FtQkYsV0FBVyxBbEo3WGxCLE9BQU8sQ0FBQztNQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7TWtKbVdBLEFsSnRXRyxla0pzV08sQUFDTixLQUFLLENBbUJGLFdBQVcsQWxKN1hsQixPQUFPLEFBR0gsTUFBTSxDQUFDO1FBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7SWtKb1dKLEFsSmpXRCxla0ppV1csQUFDTixLQUFLLENBbUJGLFdBQVcsQWxKclhsQixNQUFNLENBQUM7TUFDSixLQUFLLEVGek1OLE9BQU87TUUwTU4sVUFBVSxFRnBMWCxPQUFPO01FcUxOLGVBQWUsRUFBRSxJQUFJLEdBTXhCO01rSndWQSxBbEo1VkcsZWtKNFZPLEFBQ04sS0FBSyxDQW1CRixXQUFXLEFsSnJYbEIsTUFBTSxBQUtGLE1BQU0sQ0FBQztRQUNKLFVBQVUsRUZ4TGYsT0FBTztRRXlMRixlQUFlLEVBQUUsSUFBSSxHQUN4QjtJT3hKTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TTJJaWZ2QixBQW9CTyxlQXBCRyxBQUNOLEtBQUssQ0FtQkYsV0FBVyxDQUFDO1FsSmhXcEIsU0FBUyxFQXNDRCxRQUEyQjtRQXJDbkMsV0FBVyxFa0oyVytCLE9BQUUsR0ErQm5DO0lBL0RSLEFBb0RXLGVBcERELEFBQ04sS0FBSyxDQW1CRixXQUFXLEFBZ0NOLE1BQU0sQ0FBQztNQUNKLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDcEpobUI5QixPQUFPLEdvSnltQkc7TUE5RFosQUF1RGUsZUF2REwsQUFDTixLQUFLLENBbUJGLFdBQVcsQUFnQ04sTUFBTSxBQUdGLE1BQU0sQ0FBQztRQUNKLEtBQUssRXBKaG1CdEIsT0FBTyxHb0ppbUJPO01BekRoQixBQTJEZSxlQTNETCxBQUNOLEtBQUssQ0FtQkYsV0FBVyxBQWdDTixNQUFNLENBT0gsV0FBVyxDQUFDO1FBQ1IsS0FBSyxFcEp2bUJ0QixPQUFPLEdvSndtQk87RUE3RGhCLEFBaUVPLGVBakVHLEFBQ04sS0FBSyxDQWdFRixXQUFXLENBQUM7SUFDUixTQUFTLEVsSnhXYixRQUEyQjtJa0p5V3ZCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFVBQVUsRWxKMVdkLFFBQTJCO0lrSjJXdkIsS0FBSyxFcEozbEJkLE9BQU87SW9KNGxCRSxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsWUFBWSxHQUt4QjtJQTVFUixBQXlFVyxlQXpFRCxBQUNOLEtBQUssQ0FnRUYsV0FBVyxBQVFOLE1BQU0sQ0FBQztNQUNKLEtBQUssRXBKcm5CbEIsT0FBTyxHb0pzbkJHOztBQUlSLEFBRU8sc0JBRkEsQUFDSCxLQUFLLENBQ0YsV0FBVyxDQUFDO0VBQ1IsT0FBTyxFbEp4WGYsU0FBMkIsQ0FBM0IsUUFBMkIsQ0FBM0IsU0FBMkIsQ0FBM0IsU0FBMkIsR2tKeVh0Qjs7QUFLWixBQUNHLGtCQURVLEFBQ1QsS0FBSyxDQUFDO0VBQ0gsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLGNBQWMsRUFBRSxHQUFHO0VBQ25CLEtBQUssRUFBRSxJQUFJO0VBQ1gsR0FBRyxFbEpwWUgsU0FBMkI7RWtKcVkzQixxQkFBcUIsRUFBRSxHQUFHLEdBaUQ3QjtFM0lqb0JMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJMkl5a0J2QixBQUNHLGtCQURVLEFBQ1QsS0FBSyxDQUFDO01BU0MscUJBQXFCLEVBQUUsT0FBTyxHQThDckM7RTNJam9CTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7STJJeWtCdkIsQUFDRyxrQkFEVSxBQUNULEtBQUssQ0FBQztNQWFDLEdBQUcsRWxKNVlQLFFBQTJCLEdrSnNiOUI7RUF4REosQUFpQk8sa0JBakJNLEFBQ1QsS0FBSyxDQWdCRixXQUFXLENBQUM7SUFDUixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBbkJSLEFBcUJPLGtCQXJCTSxBQUNULEtBQUssQ0FvQkYsV0FBVyxDQUFDO0lBQ1IsT0FBTyxFQUFFLFlBQVk7SUFDckIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsT0FBTztJbEp4ZTNCLEtBQUssRUZ2S0UsSUFBSTtJRXdLWCxVQUFVLEVGcExQLE9BQU8sR29KaXFCRDtJQTlCUixBbEozY0Qsa0JrSjJjYyxBQUNULEtBQUssQ0FvQkYsV0FBVyxBbEpoZWxCLE9BQU8sRWtKMmNQLGtCQUFhLEFBQ1QsS0FBSyxDQW9CRixXQUFXLEFsSmhlUixNQUFNLENBQUM7TUFDZCxLQUFLLEVGN0tGLElBQUk7TUU4S1AsVUFBVSxFRnpMWCxPQUFPLEdFK0xUO01rSm1jQSxBbEp2Y0csa0JrSnVjVSxBQUNULEtBQUssQ0FvQkYsV0FBVyxBbEpoZWxCLE9BQU8sQUFJSCxNQUFNLEVrSnVjVixrQkFBYSxBQUNULEtBQUssQ0FvQkYsV0FBVyxBbEpoZVIsTUFBTSxBQUlaLE1BQU0sQ0FBQztRQUNKLEtBQUssRUZqTE4sSUFBSTtRRWtMSCxVQUFVLEVGN0xmLE9BQU8sR0U4TEw7SWtKb2NKLEFsSmpjRCxrQmtKaWNjLEFBQ1QsS0FBSyxDQW9CRixXQUFXLEFsSnRkbEIsT0FBTyxDQUFDO01BQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtNa0oyYkEsQWxKOWJHLGtCa0o4YlUsQUFDVCxLQUFLLENBb0JGLFdBQVcsQWxKdGRsQixPQUFPLEFBR0gsTUFBTSxDQUFDO1FBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7SWtKNGJKLEFsSnpiRCxrQmtKeWJjLEFBQ1QsS0FBSyxDQW9CRixXQUFXLEFsSjljbEIsTUFBTSxDQUFDO01BQ0osS0FBSyxFRi9MRixJQUFJO01FZ01QLFVBQVUsRUYzTVgsT0FBTztNRTRNTixlQUFlLEVBQUUsSUFBSSxHQU14QjtNa0pnYkEsQWxKcGJHLGtCa0pvYlUsQUFDVCxLQUFLLENBb0JGLFdBQVcsQWxKOWNsQixNQUFNLEFBS0YsTUFBTSxDQUFDO1FBQ0osVUFBVSxFRi9NZixPQUFPO1FFZ05GLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0lrSmliSixBQTJCVyxrQkEzQkUsQUFDVCxLQUFLLENBb0JGLFdBQVcsQUFNTixNQUFNLENBQUMsV0FBVyxBQUFBLFFBQVEsQ0FBQztNQUN4QixLQUFLLEVsSjFaYixNQUEyQixHa0oyWnRCO0VBN0JaLEFBZ0NPLGtCQWhDTSxBQUNULEtBQUssQ0ErQkYsV0FBVyxDQUFDO0lBQ1IsT0FBTyxFbEovWlgsU0FBMkIsQ0FBM0IsT0FBMkI7SWtKZ2F2QixRQUFRLEVBQUUsUUFBUTtJQUNsQixVQUFVLEVwSnZsQmpCLElBQUcsQ0FBQyxRQUFRLEdvSjBtQlI7SUF0RFIsQUFxQ1csa0JBckNFLEFBQ1QsS0FBSyxDQStCRixXQUFXLEFBS04sT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU87TWxKOWI1QixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TWtKZ2NwRCxTQUFTLEVsSnRhakIsSUFBMkI7TWtKdWFuQixLQUFLLEVwSmhxQmQsSUFBSTtNb0ppcUJLLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxHQUFHO01BQ1IsS0FBSyxFbEoxYWIsU0FBMkI7TWtKMmFuQixLQUFLLEVsSjNhYixRQUEyQjtNa0o0YW5CLE1BQU0sRWxKNWFkLFFBQTJCO01rSjZhbkIsT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTTtNQUNuQixlQUFlLEVBQUUsTUFBTTtNQUN2QixTQUFTLEVBQUUsZ0JBQWdCO01BQzNCLFVBQVUsRXBKdm1CckIsSUFBRyxDQUFDLFFBQVEsR29Kd21CSjs7QUFRakIsQUFDSSxjQURVLENBQ1YscUJBQXFCLENBQUM7RUFDbEIsY0FBYyxFQUFFLE1BQU0sR0FDekI7O0FBSEwsQUFLSSxjQUxVLENBS1YsaUJBQWlCLENBQUM7RUFDZCxNQUFNLEVsSmhjRixTQUEyQixDa0pnY1osQ0FBQyxDQUFDLFVBQVUsR0FDbEM7O0FOMXBCQSxBQUFELFlBQVEsQ083Q0M7RUFDTCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JKR2xCLE9BQU87RXFKRk4sVUFBVSxFckpFWCxPQUFPLEdxSmtRVDtFNUkzTUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lxSWR2QixBQUFELFlBQVEsQ083Q0M7TUFLRCxLQUFLLEVBQUUsSUFBSTtNQUNYLGNBQWMsRUFBRSxNQUFNLEdBZ1E3QjtFNUkzTUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0k0SWxEbkIsQUFDRyxxQkFETSxDQUNOLFNBQVMsQUFBQSxJQUFLLENyR1JsQixLQUFLLEVxR1FvQjtNQUViLE9BQU8sRUFBRSxZQUFZLEdBRTVCO0VBTEosQUFPRyxxQkFQTSxDQU9OLGdCQUFnQixDQUFDO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsS0FBSztJQUNWLElBQUksRUFBRSxDQUFDO0lBQ1AsT0FBTyxFQUFFLEtBQUssR0FLakI7STVJaUNULE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNNElsRG5CLEFBT0cscUJBUE0sQ0FPTixnQkFBZ0IsQ0FBQztRQVFULFFBQVEsRUFBRSxPQUFPLEdBRXhCO0VBMUJSLEFBK0JXLFlBL0JKLENBK0JLLG9CQUFTLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNLEdBb0R0QjtJNUkxQmIsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO000STNEdkIsQUErQlcsWUEvQkosQ0ErQkssb0JBQVMsQ0FBQztRQUtILE9BQU8sRUFBRSxJQUFJLEdBaURwQjtJQXJGWixBQXVDZSxZQXZDUixDQStCSyxvQkFBUyxDQVFOLFdBQVcsQ0FBQztNQUNSLFVBQVUsRUFBRSxNQUFNO01uSjRJdEMsS0FBSyxFRnZLRSxJQUFJO01Fd0tYLFVBQVUsRUZwTFAsT0FBTztNcUp5Q1UsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTTtNQUNuQixlQUFlLEVBQUUsTUFBTTtNQUN2QixjQUFjLEVBQUUsU0FBUztNQUN6QixXQUFXLEVBQUUsTUFBTTtNQUNuQixPQUFPLEVuSnNObkIsUUFBMkIsQ21KdE5PLElBQUk7TW5KZ0w5QyxTQUFTLEVBc0NELFNBQTJCO01BckNuQyxXQUFXLEVtSmhMbUMsR0FBRTtNQUM1QixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JKckNsQyxJQUFJLEdxSnVFTTtNQXBGaEIsQW5KeUxELFltSnpMUSxDQStCSyxvQkFBUyxDQVFOLFdBQVcsQW5Ka0oxQixPQUFPLEVtSnpMUCxZQUFPLENBK0JLLG9CQUFTLENBUU4sV0FBVyxBbkprSmhCLE1BQU0sQ0FBQztRQUNkLEtBQUssRUY3S0YsSUFBSTtRRThLUCxVQUFVLEVGekxYLE9BQU8sR0UrTFQ7UW1Kak1BLEFuSjZMRyxZbUo3TEksQ0ErQkssb0JBQVMsQ0FRTixXQUFXLEFuSmtKMUIsT0FBTyxBQUlILE1BQU0sRW1KN0xWLFlBQU8sQ0ErQkssb0JBQVMsQ0FRTixXQUFXLEFuSmtKaEIsTUFBTSxBQUlaLE1BQU0sQ0FBQztVQUNKLEtBQUssRUZqTE4sSUFBSTtVRWtMSCxVQUFVLEVGN0xmLE9BQU8sR0U4TEw7TW1KaE1KLEFuSm1NRCxZbUpuTVEsQ0ErQkssb0JBQVMsQ0FRTixXQUFXLEFuSjRKMUIsT0FBTyxDQUFDO1FBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtRbUp6TUEsQW5Kc01HLFltSnRNSSxDQStCSyxvQkFBUyxDQVFOLFdBQVcsQW5KNEoxQixPQUFPLEFBR0gsTUFBTSxDQUFDO1VBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7TW1KeE1KLEFuSjJNRCxZbUozTVEsQ0ErQkssb0JBQVMsQ0FRTixXQUFXLEFuSm9LMUIsTUFBTSxDQUFDO1FBQ0osS0FBSyxFRi9MRixJQUFJO1FFZ01QLFVBQVUsRUYzTVgsT0FBTztRRTRNTixlQUFlLEVBQUUsSUFBSSxHQU14QjtRbUpwTkEsQW5KZ05HLFltSmhOSSxDQStCSyxvQkFBUyxDQVFOLFdBQVcsQW5Kb0sxQixNQUFNLEFBS0YsTUFBTSxDQUFDO1VBQ0osVUFBVSxFRi9NZixPQUFPO1VFZ05GLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO01PeEpMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRNEkzRHZCLEFBdUNlLFlBdkNSLENBK0JLLG9CQUFTLENBUU4sV0FBVyxDQUFDO1VuSnlMNUIsU0FBUyxFQXNDRCxRQUEyQjtVQXJDbkMsV0FBVyxFbUo1S3VDLE9BQUUsR0ErQm5DO01BcEZoQixBQXdEbUIsWUF4RFosQ0ErQkssb0JBQVMsQ0FRTixXQUFXLEFBaUJOLE9BQU8sQ0FBQztRQUNMLFNBQVMsRW5KNk16QixTQUEyQjtRbUo1TVgsT0FBTyxFQUFFLEVBQUU7UW5Ka0wvQixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7UW1KaEw1QyxZQUFZLEVuSjBNNUIsTUFBMkIsR21Kek1kO01BN0RwQixBQStEbUIsWUEvRFosQ0ErQkssb0JBQVMsQ0FRTixXQUFXLEFBd0JOLE1BQU0sQ0FBQztRQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO01BakVwQixBQW1FbUIsWUFuRVosQ0ErQkssb0JBQVMsQ0FRTixXQUFXLEFBNEJOLE1BQU0sQ0FBQztRQUNKLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO01BckVwQixBQXVFbUIsWUF2RVosQ0ErQkssb0JBQVMsQ0F3Q0QsaUJBQU0sQ0FBQztRQUNKLE1BQU0sRUFBRSxPQUFPLEdBS2xCO1FBN0VwQixBQTBFdUIsWUExRWhCLENBK0JLLG9CQUFTLENBd0NELGlCQUFNLEFBR0YsT0FBTyxDQUFDO1VBQ0wsT0FBTyxFQUFFLE9BQU8sR0FDbkI7TUE1RXhCLEFBZ0Z1QixZQWhGaEIsQ0ErQkssb0JBQVMsQ0FnREQsc0JBQVcsQUFDUCxPQUFPLENBQUM7UUFDTCxPQUFPLEVBQUUsT0FBTyxHQUNuQjtFQWxGeEIsQUF1RlcsWUF2RkosQ0F1RksscUJBQVUsQ0FBQztJQUNSLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWEsR0FJakM7RUE3RlosQUFpR2UsWUFqR1IsQ0E4QkMsV0FBTSxBQWlFRixpQkFBaUIsQ0FFZCxXQUFXLENBQUM7SUFDUixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JKckZyQyxJQUFJLEdxSnNGTTtFQW5HaEIsQUFzR21CLFlBdEdaLENBOEJDLFdBQU0sQUFpRUYsaUJBQWlCLENBTWQsY0FBYyxDQUNWLFdBQVcsQ0FBQztJQUNSLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDckpuRzdDLE9BQU8sR3FKb0dXO0VBeEdwQixBQTZHZSxZQTdHUixDQThCQyxXQUFNLEFBOEVGLGFBQWEsQ0FDVixXQUFXLENBQUM7SUFDUixhQUFhLEVBQUUsQ0FBQyxHQUNuQjtFQS9HaEIsQUFtSE8sWUFuSEEsQ0FtSEMsV0FBTSxDQUFDO0lBQ0osVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFbkppSlgsU0FBMkIsQ21KakpKLElBQUk7SW5KK0RuQyxLQUFLLEVGdktFLElBQUk7SUV3S1gsVUFBVSxFRnBMUCxPQUFPO0lxSnNIRSxjQUFjLEVBQUUsU0FBUztJQUN6QixXQUFXLEVBQUUsSUFBSTtJQUNqQixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0luSnNHL0IsU0FBUyxFQXNDRCxJQUEyQjtJQXJDbkMsV0FBVyxFbUp0RzJCLE1BQUU7SUFDNUIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENySi9HN0IsSUFBSTtJcUpnSEMsVUFBVSxFbkp5SWQsU0FBMkIsR21KM0gxQjtJQTNJUixBbkp5TEQsWW1KekxRLENBbUhDLFdBQU0sQW5Kc0VkLE9BQU8sRW1KekxQLFlBQU8sQ0FtSEMsV0FBTSxBbkpzRUosTUFBTSxDQUFDO01BQ2QsS0FBSyxFRjdLRixJQUFJO01FOEtQLFVBQVUsRUZ6TFgsT0FBTyxHRStMVDtNbUpqTUEsQW5KNkxHLFltSjdMSSxDQW1IQyxXQUFNLEFuSnNFZCxPQUFPLEFBSUgsTUFBTSxFbUo3TFYsWUFBTyxDQW1IQyxXQUFNLEFuSnNFSixNQUFNLEFBSVosTUFBTSxDQUFDO1FBQ0osS0FBSyxFRmpMTixJQUFJO1FFa0xILFVBQVUsRUY3TGYsT0FBTyxHRThMTDtJbUpoTUosQW5KbU1ELFltSm5NUSxDQW1IQyxXQUFNLEFuSmdGZCxPQUFPLENBQUM7TUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO01tSnpNQSxBbkpzTUcsWW1KdE1JLENBbUhDLFdBQU0sQW5KZ0ZkLE9BQU8sQUFHSCxNQUFNLENBQUM7UUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtJbUp4TUosQW5KMk1ELFltSjNNUSxDQW1IQyxXQUFNLEFuSndGZCxNQUFNLENBQUM7TUFDSixLQUFLLEVGL0xGLElBQUk7TUVnTVAsVUFBVSxFRjNNWCxPQUFPO01FNE1OLGVBQWUsRUFBRSxJQUFJLEdBTXhCO01tSnBOQSxBbkpnTkcsWW1KaE5JLENBbUhDLFdBQU0sQW5Kd0ZkLE1BQU0sQUFLRixNQUFNLENBQUM7UUFDSixVQUFVLEVGL01mLE9BQU87UUVnTkYsZUFBZSxFQUFFLElBQUksR0FDeEI7SU94SkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO000STNEdkIsQUFtSE8sWUFuSEEsQ0FtSEMsV0FBTSxDQUFDO1FBYUEsVUFBVSxFbkpzSWxCLFNBQTJCLEdtSjNIMUI7SUEzSVIsQUFtSVcsWUFuSUosQ0FtSEMsV0FBTSxBQWdCRixNQUFNLENBQUM7TUFDSixlQUFlLEVBQUUsSUFBSSxHQUN4QjtJQXJJWixBQXVJVyxZQXZJSixDQW1IQyxXQUFNLEFBb0JGLE9BQU8sQ0FBQztNQUNMLEtBQUssRXJKM0hkLElBQUk7TXFKNEhLLFVBQVUsRXJKdkl2QixPQUFPLEdxSndJRztFQTFJWixBQTZJTyxZQTdJQSxDQTZJQyxlQUFVLENBQUM7SUFDUixLQUFLLEVBQUUsSUFBSSxHQWtDZDtJQWhMUixBQWdKVyxZQWhKSixDQWdKSyxxQkFBTSxDQUFDO01BQ0osS0FBSyxFQUFFLGNBQWMsR0FDeEI7SUFsSlosQUFvSlcsWUFwSkosQ0FvSkssc0JBQU8sQ0FBQztNQUNMLEtBQUssRUFBRSxJQUFJLEdBQ2Q7SUF0SlosQUF3SlcsWUF4SkosQ0F3Skssd0JBQVMsQ0FBQztNQUNQLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEtBQUssRW5KNEdiLFNBQTJCO01tSjNHbkIsU0FBUyxFbkoyR2pCLFNBQTJCO01tSjFHbkIsVUFBVSxFQUFFLElBQUk7TUFDaEIsT0FBTyxFQUFFLENBQUM7TUFDVixPQUFPLEVBQUUsSUFBSTtNQUNiLFdBQVcsRUFBRSxNQUFNO01BQ25CLGVBQWUsRUFBRSxNQUFNLEdBZTFCO01BL0taLEFBbUtlLFlBbktSLENBd0pLLHdCQUFTLEFBV0wsTUFBTSxDQUFDO1FBQ0osU0FBUyxFbkprR3JCLFFBQTJCO1FtSmpHZixPQUFPLEVBQUUsT0FBTztRbkp1RWhDLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtRbUpyRWhELFdBQVcsRUFBRSxNQUFNLEdBQ3RCO01BeEtoQixBQTJLbUIsWUEzS1osQ0F3Skssd0JBQVMsQUFrQkwsS0FBSyxBQUNELE1BQU0sQ0FBQztRQUNKLE9BQU8sRUFBRSxPQUFPLEdBQ25CO0VBN0twQixBQW1MRyxZQW5MSSxDQW1MSixjQUFjLENBQUM7SUFDWCxNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxhQUFhLEVBQUUsQ0FBQyxHQThFbkI7SUFyUUosQUF5TE8sWUF6TEEsQ0FtTEosY0FBYyxBQU1ULEtBQUssQ0FBQztNQUNILE9BQU8sRUFBRSxLQUFLLEdBQ2pCO0lBM0xSLEFBNkxPLFlBN0xBLENBbUxKLGNBQWMsQUFVVCxPQUFPLENBQUM7TUFDTCxXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JKMUwvQixPQUFPO01xSjJMRSxZQUFZLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JKM0xoQyxPQUFPLEdxSjRMRDtJQWhNUixBQXNNVyxZQXRNSixDQW1MSixjQUFjLENBbUJMLFdBQU0sQ0FBQztNQUNKLFdBQVcsRUFBRSxNQUFNO01uSm5CbkMsS0FBSyxFRi9KRixPQUFPO01FZ0tWLFVBQVUsRUZ4S0gsSUFBSTtNRW1OWCxTQUFTLEVBc0NELElBQTJCO01BckNuQyxXQUFXLEVtSnhCK0IsTUFBRTtNQUM1QixPQUFPLEVuSjREZixTQUEyQixDbUo1REEsSUFBSSxDbko0RC9CLFNBQTJCLENBQTNCLFNBQTJCO01tSjNEbkIsVUFBVSxFbkoyRGxCLFNBQTJCLEdtSnZDdEI7TUEvTlosQW5KeUxELFltSnpMUSxDQW1MSixjQUFjLENBbUJMLFdBQU0sQW5KYmxCLE9BQU8sRW1KekxQLFlBQU8sQ0FtTEosY0FBYyxDQW1CTCxXQUFNLEFuSmJSLE1BQU0sQ0FBQztRQUNkLEtBQUssRUZ6TE4sT0FBTztRRTBMTixVQUFVLEVGOUtQLElBQUksR0VvTFY7UW1Kak1BLEFuSjZMRyxZbUo3TEksQ0FtTEosY0FBYyxDQW1CTCxXQUFNLEFuSmJsQixPQUFPLEFBSUgsTUFBTSxFbUo3TFYsWUFBTyxDQW1MSixjQUFjLENBbUJMLFdBQU0sQW5KYlIsTUFBTSxBQUlaLE1BQU0sQ0FBQztVQUNKLEtBQUssRUY3TFYsT0FBTztVRThMRixVQUFVLEVGbExYLElBQUksR0VtTE47TW1KaE1KLEFuSm1NRCxZbUpuTVEsQ0FtTEosY0FBYyxDQW1CTCxXQUFNLEFuSkhsQixPQUFPLENBQUM7UUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO1FtSnpNQSxBbkpzTUcsWW1KdE1JLENBbUxKLGNBQWMsQ0FtQkwsV0FBTSxBbkpIbEIsT0FBTyxBQUdILE1BQU0sQ0FBQztVQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO01tSnhNSixBbkoyTUQsWW1KM01RLENBbUxKLGNBQWMsQ0FtQkwsV0FBTSxBbkpLbEIsTUFBTSxDQUFDO1FBQ0osS0FBSyxFRjNNTixPQUFPO1FFNE1OLFVBQVUsRUZoTVAsSUFBSTtRRWlNUCxlQUFlLEVBQUUsSUFBSSxHQU14QjtRbUpwTkEsQW5KZ05HLFltSmhOSSxDQW1MSixjQUFjLENBbUJMLFdBQU0sQW5KS2xCLE1BQU0sQUFLRixNQUFNLENBQUM7VUFDSixVQUFVLEVGcE1YLElBQUk7VUVxTUgsZUFBZSxFQUFFLElBQUksR0FDeEI7TU94SkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1E0STNEdkIsQUFzTVcsWUF0TUosQ0FtTEosY0FBYyxDQW1CTCxXQUFNLENBQUM7VUFRQSxPQUFPLEVuSndEbkIsT0FBMkIsQ21KeERJLElBQUksQ25Kd0RuQyxPQUEyQixDQUEzQixTQUEyQjtVbUp2RGYsVUFBVSxFbkp1RHRCLFNBQTJCLEdtSnZDdEI7TUEvTlosQUFrTmUsWUFsTlIsQ0FtTEosY0FBYyxDQW1CTCxXQUFNLENBWUgsVUFBVSxDQUFDO1FBQ1AsWUFBWSxFbkptRHhCLFNBQTJCO1FtSmxEZixTQUFTLEVuSmtEckIsU0FBMkIsR21KakRsQjtNQXJOaEIsQUF1TmUsWUF2TlIsQ0FtTEosY0FBYyxDQW1CTCxXQUFNLEFBaUJGLHdCQUF3QixDQUFDO1FBQ3RCLE9BQU8sRUFBRSxDQUFDLEdBQ2I7TUF6TmhCLEFBMk5lLFlBM05SLENBbUxKLGNBQWMsQ0FtQkwsV0FBTSxBQXFCRixPQUFPLENBQUM7UUFDTCxLQUFLLEVySi9NbEIsSUFBSTtRcUpnTlMsVUFBVSxFckoxTjNCLE9BQU8sR3FKMk5PO0lBOU5oQixBQW9PZSxZQXBPUixDQW1MSixjQUFjLENBK0NWLGNBQWMsQ0FFTCxXQUFNLENBQUM7TW5KaER4QixLQUFLLEVGL0pGLE9BQU87TUVnS1YsVUFBVSxFRjVKUCxPQUFPO01xSjZNVSxjQUFjLEVBQUUsSUFBSTtNQUNwQixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVuSjhCbkIsSUFBMkIsQ21KOUJLLElBQUksQ25KOEJwQyxJQUEyQixDQUEzQixTQUEyQjtNQXRDbkMsU0FBUyxFQXNDRCxTQUEyQjtNQXJDbkMsV0FBVyxFbUpRbUMsR0FBRSxHQXlCL0I7TUFsUWhCLEFuSnlMRCxZbUp6TFEsQ0FtTEosY0FBYyxDQStDVixjQUFjLENBRUwsV0FBTSxBbkozQ3RCLE9BQU8sRW1KekxQLFlBQU8sQ0FtTEosY0FBYyxDQStDVixjQUFjLENBRUwsV0FBTSxBbkozQ1osTUFBTSxDQUFDO1FBQ2QsS0FBSyxFRnpMTixPQUFPO1FFMExOLFVBQVUsRUZsS1gsT0FBTyxHRXdLVDtRbUpqTUEsQW5KNkxHLFltSjdMSSxDQW1MSixjQUFjLENBK0NWLGNBQWMsQ0FFTCxXQUFNLEFuSjNDdEIsT0FBTyxBQUlILE1BQU0sRW1KN0xWLFlBQU8sQ0FtTEosY0FBYyxDQStDVixjQUFjLENBRUwsV0FBTSxBbkozQ1osTUFBTSxBQUlaLE1BQU0sQ0FBQztVQUNKLEtBQUssRUY3TFYsT0FBTztVRThMRixVQUFVLEVGdEtmLE9BQU8sR0V1S0w7TW1KaE1KLEFuSm1NRCxZbUpuTVEsQ0FtTEosY0FBYyxDQStDVixjQUFjLENBRUwsV0FBTSxBbkpqQ3RCLE9BQU8sQ0FBQztRQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7UW1Kek1BLEFuSnNNRyxZbUp0TUksQ0FtTEosY0FBYyxDQStDVixjQUFjLENBRUwsV0FBTSxBbkpqQ3RCLE9BQU8sQUFHSCxNQUFNLENBQUM7VUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtNbUp4TUosQW5KMk1ELFltSjNNUSxDQW1MSixjQUFjLENBK0NWLGNBQWMsQ0FFTCxXQUFNLEFuSnpCdEIsTUFBTSxDQUFDO1FBQ0osS0FBSyxFRjNNTixPQUFPO1FFNE1OLFVBQVUsRUZwTFgsT0FBTztRRXFMTixlQUFlLEVBQUUsSUFBSSxHQU14QjtRbUpwTkEsQW5KZ05HLFltSmhOSSxDQW1MSixjQUFjLENBK0NWLGNBQWMsQ0FFTCxXQUFNLEFuSnpCdEIsTUFBTSxBQUtGLE1BQU0sQ0FBQztVQUNKLFVBQVUsRUZ4TGYsT0FBTztVRXlMRixlQUFlLEVBQUUsSUFBSSxHQUN4QjtNT3hKTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UTRJM0R2QixBQW9PZSxZQXBPUixDQW1MSixjQUFjLENBK0NWLGNBQWMsQ0FFTCxXQUFNLENBQUM7VW5KSnhCLFNBQVMsRUFzQ0QsUUFBMkI7VUFyQ25DLFdBQVcsRW1KV3VDLE9BQUUsR0FzQm5DO001SXZNakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1E0STNEdkIsQUFvT2UsWUFwT1IsQ0FtTEosY0FBYyxDQStDVixjQUFjLENBRUwsV0FBTSxDQUFDO1VBWUEsT0FBTyxFbkpzQnZCLFNBQTJCLENtSnRCUSxJQUFJLENuSnNCdkMsU0FBMkIsQ0FBM0IsU0FBMkIsR21KSmxCO01BbFFoQixBQW1QbUIsWUFuUFosQ0FtTEosY0FBYyxDQStDVixjQUFjLENBRUwsV0FBTSxBQWVGLE9BQU8sQ0FBQztRQUNMLE9BQU8sRUFBRSxHQUFHO1FBQ1osWUFBWSxFbkppQjVCLFFBQTJCLEdtSmhCZDtNQXRQcEIsQUF5UHVCLFlBelBoQixDQW1MSixjQUFjLENBK0NWLGNBQWMsQ0FFTCxXQUFNLEFBb0JGLEtBQUssQUFDRCxPQUFPLENBQUM7UUFDTCxPQUFPLEVBQUUsR0FBRyxHQUNmO01BM1B4QixBQThQbUIsWUE5UFosQ0FtTEosY0FBYyxDQStDVixjQUFjLENBRUwsV0FBTSxBQTBCRixPQUFPLENBQUM7UUFDTCxLQUFLLEVySjlQMUIsT0FBTztRcUorUGMsVUFBVSxFckp2Ty9CLE9BQU8sR3FKd09XOztBNUl0TXJCLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFNkk1RDVCLEFBR0ksUUFISSxDQUdKLGFBQWEsQ0FBQztJQUVOLGNBQWMsRUFBRSxDQUFDLEdBRXhCOztBQVBMLEFBaUJJLFFBakJJLEdBaUJGLEdBQUcsQ0FBQztFQUNGLGFBQWEsRXBKcVBULE1BQTJCLEdvSnBQbEM7O0FBRUEsQUFBRCxlQUFRLENBQUM7RXBKNE1ULFNBQVMsRUFzQ0QsUUFBMkI7RUFyQ25DLFdBQVcsRW9KNU1tQixPQUFFO0VBQzVCLEtBQUssRXRKRE4sT0FBTztFc0pFTixhQUFhLEVwSitPVCxPQUEyQixHb0o5T2xDOztBQUVBLEFBQUQsYUFBTSxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsTUFBTSxHQW1GckI7RUE3RUksQUFBRCxvQkFBUSxDQUFDO0lBQ0wsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixNQUFNLEVBQUUsSUFBSSxHQVNmO0lBWkEsQUFLRyxvQkFMSSxBQUtILE1BQU0sQ0FBQztNQUNKLGVBQWUsRUFBRSxJQUFJLEdBS3hCO01BWEosQUFRTyxvQkFSQSxBQUtILE1BQU0sQ0FHSCxVQUFVLENBQUM7UUFDUCxTQUFTLEVBQUUsVUFBVSxHQUN4QjtFQXpCWixBQTZCRyxhQTdCRSxDQTZCRixPQUFPLENBQUM7SUFDSixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVwSjZNSCxRQUEyQjtJb0o1TTNCLElBQUksRXBKNE1KLFFBQTJCO0lvSjNNM0IsZUFBZSxFQUFFLElBQUk7SUFDckIsT0FBTyxFQUFFLENBQUM7SUFDVixPQUFPLEVBQUUsQ0FBQyxHQWdDYjtJQW5FSixBQXFDTyxhQXJDRixDQTZCRixPQUFPLENBUUgsRUFBRSxDQUFDO01BQ0MsT0FBTyxFQUFFLElBQUk7TUFDYixLQUFLLEV0SnBEVixJQUFJO01zSnFEQyxVQUFVLEVBQUUsT0FBTztNQUNuQixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ3BKbU1mLFNBQTJCLENvSm5NRCxDQUFDO01BQ3ZCLE9BQU8sRXBKa01YLFNBQTJCLENBQTNCLFFBQTJCO01vSmpNdkIsYUFBYSxFQUFFLEdBQUc7TUFDbEIsY0FBYyxFQUFFLFNBQVM7TXBKMEpyQyxTQUFTLEVBc0NELFNBQTJCO01BckNuQyxXQUFXLEVvSjFKMkIsR0FBRSxHQXFCL0I7TTdJakNULE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRNklqQ3ZCLEFBcUNPLGFBckNGLENBNkJGLE9BQU8sQ0FRSCxFQUFFLENBQUM7VXBKaUtYLFNBQVMsRUFzQ0QsT0FBMkI7VUFyQ25DLFdBQVcsRW9KdkorQixPQUFFLEdBa0JuQztNQWxFUixBQW1EVyxhQW5ETixDQTZCRixPQUFPLENBUUgsRUFBRSxBQWNHLE9BQU8sQ0FBQztRQUNMLFVBQVUsRXRKOUJsQixPQUFPLEdzSitCRjtNQXJEWixBQXVEVyxhQXZETixDQTZCRixPQUFPLENBUUgsRUFBRSxBQWtCRyxTQUFTLENBQUM7UUFDUCxVQUFVLEV0SmpDaEIsT0FBTyxHc0prQ0o7TUF6RFosQUEyRFcsYUEzRE4sQ0E2QkYsT0FBTyxDQVFILEVBQUUsQUFzQkcsSUFBSSxDQUFDO1FBQ0YsVUFBVSxFdEp2RHZCLE9BQU8sR3NKd0RHO01BN0RaLEFBK0RXLGFBL0ROLENBNkJGLE9BQU8sQ0FRSCxFQUFFLEFBMEJHLFlBQVksQ0FBQztRQUNWLFVBQVUsRXRKdkNiLE9BQU8sR3NKd0NQO0VBakVaLEFBc0VPLGFBdEVGLEFBcUVELE9BQU8sQ0FDSixPQUFPLENBQUM7SUFDSixPQUFPLEVBQUUsT0FBTyxHQUNuQjtFQXhFUixBQTRFTyxhQTVFRixBQTJFRCxTQUFTLENBQ04sU0FBUyxDQUFDO0lBQ04sT0FBTyxFQUFFLE9BQU8sR0FDbkI7RUE5RVIsQUFrRk8sYUFsRkYsQUFpRkQsSUFBSSxDQUNELElBQUksQ0FBQztJQUNELE9BQU8sRUFBRSxPQUFPLEdBQ25CO0VBcEZSLEFBd0ZPLGFBeEZGLEFBdUZELFlBQVksQ0FDVCxZQUFZLENBQUM7SUFDVCxPQUFPLEVBQUUsT0FBTyxHQUNuQjs7QUFySGIsQUF5SEksUUF6SEksQ0F5SEosYUFBYSxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUk7RUFDWCxhQUFhLEVwSjRJVCxRQUEyQjtFb0ozSS9CLE9BQU8sRXBKMklILFFBQTJCLENBQTNCLFFBQTJCLENvSjNJQSxDQUFDLENwSjJJNUIsUUFBMkIsR29KaElsQztFN0kzRUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0k2STVENUIsQUF5SEksUUF6SEksQ0F5SEosYUFBYSxDQUFDO01BTU4sT0FBTyxFQUFFLENBQUMsR0FRakI7RUF2SUwsQUFrSVEsUUFsSUEsQ0F5SEosYUFBYSxDQVNULEdBQUcsQ0FBQztJQUNBLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFcEptSVQsU0FBMkI7SW9KbEkzQixVQUFVLEV0SnBEYixJQUFHLENBQUMsUUFBUSxHc0pxRFo7O0FBdElULEFBeUlJLFFBeklJLENBeUlKLGlCQUFpQixDQUFDO0VBQ2QsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEV0SjdIUCxJQUFJO0VzSjhIUCxPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsZUFBZSxFQUFFLGFBQWE7RUFDOUIsV0FBVyxFQUFFLE1BQU0sR0E2Q3RCO0VwSmpIRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SW9KNUU1QixBQXlJSSxRQXpJSSxDQXlJSixpQkFBaUIsQ0FBQztNQVVWLFdBQVcsRUFBRSxVQUFVLEdBMEM5QjtFQTdMTCxBQXNKUSxRQXRKQSxDQXlJSixpQkFBaUIsQ0FhYixJQUFJLENBQUM7SUFDRCxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxJQUFJO0lBQ2YsU0FBUyxFcEo4R1QsT0FBMkIsR29KN0c5QjtFQTFKVCxBQTRKUSxRQTVKQSxDQXlJSixpQkFBaUIsQ0FtQmIsTUFBTSxDQUFDO0lwSnFFWCxTQUFTLEVBc0NELE9BQTJCO0lBckNuQyxXQUFXLEVvSnJFdUIsR0FBRTtJQUM1QixLQUFLLEV0SjVKVixPQUFPO0lzSjZKRixhQUFhLEVwSndHYixRQUEyQjtJb0p2RzNCLFdBQVcsRUFBRSxJQUFJLEdBYXBCO0lBN0tULEFBa0tZLFFBbEtKLENBeUlKLGlCQUFpQixDQXlCUixjQUFRLENBQUM7TUFDTixLQUFLLEV0SjFJZCxPQUFPO01zSjJJRSxhQUFhLEVBQUUsQ0FBQztNQUNoQixlQUFlLEVBQUUsWUFBWTtNQUM3QixXQUFXLEVBQUUsTUFBTTtNcEoyRC9CLFNBQVMsRUFzQ0QsU0FBMkI7TUFyQ25DLFdBQVcsRW9KM0QyQixHQUFFLEdBSy9CO003SWhIVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UTZJNUQ1QixBQWtLWSxRQWxLSixDQXlJSixpQkFBaUIsQ0F5QlIsY0FBUSxDQUFDO1VwSitEbEIsU0FBUyxFQXNDRCxRQUEyQjtVQXJDbkMsV0FBVyxFb0p4RCtCLE9BQUUsR0FFbkM7RUE1S2IsQUErS1EsUUEvS0EsQ0F5SUosaUJBQWlCLENBc0NiLE1BQU0sQ0FBQztJQUNILEtBQUssRXRKeEpWLE9BQU87SXNKeUpGLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGFBQWEsRUFBRSxDQUFDO0lwSitDeEIsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFb0ovQ3VCLEdBQUUsR0FTL0I7STdJaElMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNNkk1RDVCLEFBK0tRLFFBL0tBLENBeUlKLGlCQUFpQixDQXNDYixNQUFNLENBQUM7UXBKa0RYLFNBQVMsRUFzQ0QsUUFBMkI7UUFyQ25DLFdBQVcsRW9KNUMyQixDQUFFLEdBTW5DO0lBNUxULEFBeUxZLFFBekxKLENBeUlKLGlCQUFpQixDQXNDYixNQUFNLEFBVUQsU0FBUyxDQUFDO01BQ1AsS0FBSyxFdEozSmQsT0FBTyxHc0o0SkQ7O0FBM0xiLEFBK0xJLFFBL0xJLENBK0xKLHNCQUFzQixDQUFDO0VBQ25CLEtBQUssRUFBRSxJQUFJLEdBU2Q7RUF6TUwsQUFrTVEsUUFsTUEsQ0ErTEosc0JBQXNCLENBR2xCLGVBQWUsQ0FBQztJQUNaLGFBQWEsRXBKb0ViLFFBQTJCLEdvSi9EOUI7SUF4TVQsQUFxTVksUUFyTUosQ0ErTEosc0JBQXNCLENBR2xCLGVBQWUsQUFHVixhQUFhLENBQUM7TUFDWCxhQUFhLEVwSmlFakIsT0FBMkIsR29KaEUxQjs7QUF2TWIsQUEyTUksUUEzTUksQ0EyTUoseUJBQXlCLENBQUM7RUFDdEIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxhQUFhO0VBQzlCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGNBQWMsRUFBRSxNQUFNLEdBQ3pCOztBQWpOTCxBQW1OSSxRQW5OSSxDQW1OSixNQUFNLENBQUM7RUFDSCxhQUFhLEVwSm1EVCxPQUEyQixHb0p2Q2xDO0VBaE9MLEFBc05RLFFBdE5BLENBbU5KLE1BQU0sQ0FHRixFQUFFLENBQUM7SUFDQyxPQUFPLEVwSmdEUCxTQUEyQixDb0poRFIsQ0FBQztJQUNwQixVQUFVLEVBQUUsQ0FBQztJQUNiLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDdEpuTTdCLE9BQU87SXNKb01GLEtBQUssRUFBRSxHQUFHLEdBS2I7SUEvTlQsQUE0TlksUUE1TkosQ0FtTkosTUFBTSxDQUdGLEVBQUUsQUFNRyxZQUFhLENMdkVBLENBQUMsRUt1RUU7TUFDYixVQUFVLEVBQUUsS0FBSyxHQUNwQjs7QUM3TlIsQUFBRCxhQUFNLENBQUM7RUFDSCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDdkpzQmxCLE9BQU87RXVKckJOLE9BQU8sRXJKbVFILElBQTJCLENBQTNCLFFBQTJCO0VxSmxRL0IsT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSxHQUFHO0VBQzFCLEdBQUcsRXJKZ1FDLE9BQTJCO0VxSi9QL0IsVUFBVSxFQUFFLE1BQU0sR0FtUXJCO0U5SS9NRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SThJM0R2QixBQUFELGFBQU0sQ0FBQztNQVVDLE9BQU8sRXJKNFBQLElBQTJCLENBQTNCLFFBQTJCLEdxSklsQztFOUkvTUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0k4STNEdkIsQUFBRCxhQUFNLENBQUM7TUFjQyxxQkFBcUIsRXJKd1ByQixPQUEyQixDQUEzQixPQUEyQixDcUp4UG1CLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDLHFCQUEyQixDQUFDLG1CQUEyQixDckp3UHZKLFNBQTJCLENBQTNCLE1BQTJCLENBQTNCLFFBQTJCO01xSnZQM0IsV0FBVyxFQUFFLE1BQU07TUFDbkIsVUFBVSxFQUFFLElBQUk7TUFDaEIsYUFBYSxFQUFFLENBQUMsR0F5UHZCO01BMVFBLEFBbUJPLGFBbkJGLEFBbUJHLGFBQWEsQ0FBQztRQUNYLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDdkpJakMsT0FBTyxHdUpIRDtFckpMVCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lxSmhCbkMsQUFBRCxhQUFNLENBQUM7TUF5QkMscUJBQXFCLEVySjZPckIsT0FBMkIsQ0FBM0IsT0FBMkIsQ3FKN09tQix3QkFBd0IsQ0FBQyw0QkFBbUMsQ3JKNk8xRyxRQUEyQixDQUEzQixNQUEyQixDQUEzQixTQUEyQixDQUEzQixLQUEyQixDQUEzQixRQUEyQixHcUpJbEM7RUE5T0ksQUFBRCxzQkFBVSxDQUFDO0lBQ1AsT0FBTyxFQUFFLElBQUk7SUFDYixxQkFBcUIsRUFBRSxjQUFjO0lBQ3JDLGFBQWEsRXJKdU9iLFFBQTJCO0lxSnRPM0IsR0FBRyxFckpzT0gsUUFBMkIsR3FKNU45QjtJOUlpQkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO004SS9CbkIsQUFBRCxzQkFBVSxDQUFDO1FBT0gscUJBQXFCLEVBQUUsY0FBYyxHQU81QztJOUlpQkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO004SS9CbkIsQUFBRCxzQkFBVSxDQUFDO1FBV0gscUJBQXFCLEVBQUUsR0FBRztRQUMxQixHQUFHLEVBQUUsQ0FBQyxHQUViO0VBRUEsQUFBRCxrQkFBTSxDQUFDO0lBQ0gsTUFBTSxFQUFFLE1BQU07SUFDZCxPQUFPLEVBQUUsWUFBWTtJQUNyQixRQUFRLEVBQUUsUUFBUSxHQWlCckI7SUFwQkEsQUFLRyxrQkFMRSxBQUtELE9BQU8sQ0FBQztNQUNMLE9BQU8sRUFBRSxPQUFPO01BQ2hCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE1BQU0sRUFBRSxDQUFDO01BQ1QsSUFBSSxFQUFFLENBQUM7TUFDUCxLQUFLLEVySmdOVCxTQUEyQjtNcUovTXZCLE1BQU0sRXJKK01WLFNBQTJCO01xSjlNdkIsVUFBVSxFQUFFLHFCQUFrQjtNckp1THRDLFdBQVcsRUZ6S0ksb0JBQW9CLEVFeUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNcUpyTHhELEtBQUssRXZKN0NWLElBQUk7TXVKOENDLE9BQU8sRUFBRSxJQUFJO01BQ2IsV0FBVyxFQUFFLE1BQU07TUFDbkIsZUFBZSxFQUFFLE1BQU07TUFDdkIsU0FBUyxFckp3TWIsT0FBMkIsR3FKdk0xQjtFQUdKLEFBQUQsbUJBQU8sQ0FBQztJQUNKLEtBQUssRXZKN0NWLE9BQU87SUUwTVYsU0FBUyxFQXNDRCxJQUEyQjtJQXJDbkMsV0FBVyxFcUo3SnVCLE1BQUU7SUFDNUIsYUFBYSxFQUFFLENBQUMsR0FDbkI7RUFFQSxBQUFELG9CQUFRLENBQUM7SXJKd0piLFNBQVMsRUFzQ0QsSUFBMkI7SUFyQ25DLFdBQVcsRXFKeEp1QixNQUFFO0lBQzVCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLEtBQUssRXZKM0VWLE9BQU87SXVKNEVGLFVBQVUsRXZKR2IsSUFBRyxDQUFDLFFBQVEsR3VKRVo7SUFWQSxBQU9HLG9CQVBJLEFBT0gsTUFBTSxDQUFDO01BQ0osS0FBSyxFdko3RWQsT0FBTyxHdUo4RUQ7RUFHSixBQUFELHdCQUFZLENBQUM7SUFDVCxLQUFLLEV2Si9EVixPQUFPO0lFME1WLFNBQVMsRUFzQ0QsSUFBMkI7SUFyQ25DLFdBQVcsRXFKM0l1QixNQUFFO0lBQzVCLGFBQWEsRUFBRSxDQUFDLEdBQ25CO0VBRUEsQUFBRCxvQkFBUSxDQUFDO0lBQ0wsS0FBSyxFdkpyRVYsT0FBTztJRTBNVixTQUFTLEVBc0NELE9BQTJCO0lBckNuQyxXQUFXLEVxSnJJdUIsT0FBRTtJQUM1QixhQUFhLEVBQUUsQ0FBQztJQUNoQixXQUFXLEVBQUUsSUFBSSxHQUtwQjtJQVRBLEFBTUcsb0JBTkksQUFNSCxTQUFTLENBQUM7TUFDUCxLQUFLLEV2Sm5FZCxPQUFPLEd1Sm9FRDtFQUdKLEFBQUQsb0JBQVEsQ0FBQztJQUNMLEtBQUssRXZKcEdWLE9BQU87SXVKcUdGLFdBQVcsRUFBRSxJQUFJO0lySnlIekIsU0FBUyxFQXNDRCxPQUEyQjtJQXJDbkMsV0FBVyxFcUp6SHVCLEdBQUU7SUFDNUIsYUFBYSxFQUFFLENBQUMsR0FZbkI7STlJMURMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNOEkwQ25CLEFBQUQsb0JBQVEsQ0FBQztRQU9ELFVBQVUsRUFBRSxLQUFLLEdBU3hCO0lBTkksQUFBRCw0QkFBUyxDQUFDO01BQ04sS0FBSyxFdkp4RmQsT0FBTztNdUp5RkUsYUFBYSxFQUFFLENBQUM7TXJKK0c1QixTQUFTLEVBc0NELFFBQTJCO01BckNuQyxXQUFXLEVxSi9HMkIsT0FBRTtNQUM1QixlQUFlLEVBQUUsWUFBWSxHQUNoQztFQUdKLEFBQUQsa0JBQU0sQ0FBQztJcko2RFgsS0FBSyxFRnZLRSxJQUFJO0lFd0tYLFVBQVUsRUZ0SlAsT0FBTztJRWlNVixTQUFTLEVBc0NELFFBQTJCO0lBckNuQyxXQUFXLEVxSnhHdUIsT0FBRTtJQUM1QixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVySjJJUCxPQUEyQixDQUEzQixRQUEyQjtJcUoxSTNCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsVUFBVSxFQUFFLE1BQU0sR0FXckI7SUFqQkEsQXJKa0VMLGtCcUpsRVUsQXJKa0VULE9BQU8sRXFKbEVILGtCQUFLLEFySmtFQyxNQUFNLENBQUM7TUFDZCxLQUFLLEVGN0tGLElBQUk7TUU4S1AsVUFBVSxFRjFKWCxPQUFPLEdFZ0tUO01xSjFFSSxBckpzRUQsa0JxSnRFTSxBckprRVQsT0FBTyxBQUlILE1BQU0sRXFKdEVOLGtCQUFLLEFySmtFQyxNQUFNLEFBSVosTUFBTSxDQUFDO1FBQ0osS0FBSyxFRmpMTixJQUFJO1FFa0xILFVBQVUsRUY5SmYsT0FBTyxHRStKTDtJcUp6RUEsQXJKNEVMLGtCcUo1RVUsQXJKNEVULE9BQU8sQ0FBQztNQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7TXFKbEZJLEFySitFRCxrQnFKL0VNLEFySjRFVCxPQUFPLEFBR0gsTUFBTSxDQUFDO1FBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7SXFKakZBLEFySm9GTCxrQnFKcEZVLEFySm9GVCxNQUFNLENBQUM7TUFDSixLQUFLLEVGL0xGLElBQUk7TUVnTVAsVUFBVSxFRjVLWCxPQUFPO01FNktOLGVBQWUsRUFBRSxJQUFJLEdBTXhCO01xSjdGSSxBckp5RkQsa0JxSnpGTSxBckpvRlQsTUFBTSxBQUtGLE1BQU0sQ0FBQztRQUNKLFVBQVUsRUZoTGYsT0FBTztRRWlMRixlQUFlLEVBQUUsSUFBSSxHQUN4QjtJQW5NTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01xSnVHL0IsQUFRRyxrQkFSRSxBQVFELE9BQU8sQ0FBQztRQUVELE9BQU8sRUFBRSxPQUFPO1FySjJHNUIsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO1FxSnpHcEQsWUFBWSxFckptSXBCLE1BQTJCO1FxSmxJbkIsV0FBVyxFQUFFLE1BQU07UUFDbkIsU0FBUyxFckppSWpCLFFBQTJCLEdxSi9IMUI7RUFHSixBQUFELHFCQUFTLENBQUM7SUFDTixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRXJKeUhMLFFBQTJCO0lxSnhIM0IsTUFBTSxFckp3SE4sUUFBMkI7SXFKdkgzQixNQUFNLEVBQUUsTUFBTSxHQXVCakI7SUE1QkEsQUFPRyxxQkFQSyxBQU9KLE9BQU8sQ0FBQztNQUNMLE9BQU8sRUFBRSxPQUFPO01BQ2hCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixNQUFNLEVBQUUsQ0FBQztNQUNULElBQUksRUFBRSxDQUFDO01ySnFGZixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TXFKbkZ4RCxLQUFLLEV2SmxJZCxPQUFPO011Sm1JRSxPQUFPLEVBQUUsSUFBSTtNQUNiLFdBQVcsRUFBRSxNQUFNO01BQ25CLGVBQWUsRUFBRSxNQUFNO01BQ3ZCLFNBQVMsRXJKeUdiLFFBQTJCO01xSnhHdkIsVUFBVSxFdko5RWpCLElBQUcsQ0FBQyxRQUFRLEd1SitFUjtJQXJCSixBQXdCTyxxQkF4QkMsQUF1QkosTUFBTSxBQUNGLE9BQU8sQ0FBQztNQUNMLEtBQUssRXZKN0lsQixPQUFPLEd1SjhJRztFQXBLWixBQXlLTyxhQXpLRixDQXdLRixLQUFLLENBQ0QsS0FBSyxFQXpLWixhQUFLLEM3Q3FCVixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQUtGLFdBQVcsQzZDcUZMO0lBQ0YsS0FBSyxFdkp6S2QsT0FBTztJRStOVixTQUFTLEVBc0NELFFBQTJCO0lBckNuQyxXQUFXLEVxSnREMkIsT0FBRTtJQUM1QixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVySnlGaEIsT0FBMkIsR3FKeEYxQjtFQTlLUixBQWlMRyxhQWpMRSxDQWlMRixhQUFhLENBQUM7SXJKK0NsQixTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEVxSi9DdUIsTUFBRTtJQUM1QixNQUFNLEVySm1GTixRQUEyQjtJcUpsRjNCLEtBQUssRXZKN0pWLE9BQU87SXVKOEpGLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDdko3SnRCLE9BQU87SXVKOEpGLE9BQU8sRXJKZ0ZQLFNBQTJCLENxSmhGUCxDQUFDO0lBQ3JCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsYUFBYSxFQUFFLENBQUMsR0FLbkI7SUEvTEosQUE0TE8sYUE1TEYsQ0FpTEYsYUFBYSxBQVdSLGFBQWEsQ0FBQztNQUNYLEtBQUssRXZKdEtkLE9BQU8sR3VKdUtEO0VBOUxSLEFBaU1HLGFBak1FLENBaU1GLFdBQVcsQ0FBQztJQUNSLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsU0FBUyxFQUFFLElBQUksR0FxRWxCO0lBelFKLEFBc01PLGFBdE1GLENBaU1GLFdBQVcsQUFLTixPQUFPLENBQUM7TUFDTCxhQUFhLEVBQUUsQ0FBQyxHQWlFbkI7TUF4UVIsQUEyTW1CLGFBM01kLENBaU1GLFdBQVcsQUFLTixPQUFPLEFBR0gsVUFBVSxDQUNQLGNBQWMsQUFDVCxPQUFPLEVBM00zQixhQUFLLENBaU1GLFdBQVcsQUFLTixPQUFPLEFBR1UsUUFBUSxDQUNsQixjQUFjLEFBQ1QsT0FBTyxDQUFDO1FBQ0wsT0FBTyxFQUFFLElBQUksR0FDaEI7TUE3TXBCLEFBZ05lLGFBaE5WLENBaU1GLFdBQVcsQUFLTixPQUFPLEFBR0gsVUFBVSxDQU9QLGFBQWEsRUFoTjVCLGFBQUssQ0FpTUYsV0FBVyxBQUtOLE9BQU8sQUFHVSxRQUFRLENBT2xCLGFBQWEsQ0FBQztRQUNWLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDdkp6TGxDLE9BQU8sR3VKMExPO01BbE5oQixBQXFOVyxhQXJOTixDQWlNRixXQUFXLEFBS04sT0FBTyxDQWVKLGNBQWMsQ0FBQztRQUNYLE9BQU8sRUFBRSxJQUFJO1FBQ2IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN2Si9MOUIsT0FBTztRdUpnTU0sYUFBYSxFQUFFLENBQUM7UUFDaEIsTUFBTSxFQUFFLE1BQU0sR0FTakI7UUFsT1osQUEyTmUsYUEzTlYsQ0FpTUYsV0FBVyxBQUtOLE9BQU8sQ0FlSixjQUFjLENBTVYsYUFBYSxDQUFDO1VBQ1YsS0FBSyxFckowQ2pCLFNBQTJCO1VxSnpDZixNQUFNLEVySnlDbEIsUUFBMkI7VXFKeENmLE1BQU0sRUFBRSxDQUFDO1VBQ1QsT0FBTyxFckp1Q25CLFNBQTJCLENxSnZDSyxDQUFDO1VBQ3JCLFVBQVUsRUFBRSxNQUFNLEdBQ3JCO01Bak9oQixBQW9PVyxhQXBPTixDQWlNRixXQUFXLEFBS04sT0FBTyxDQThCSixJQUFJLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNWLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEtBQUssRXJKK0JiLE9BQTJCO1FxSjlCbkIsTUFBTSxFcko4QmQsUUFBMkIsR3FKQ3RCO1FBdlFaLEFBME9lLGFBMU9WLENBaU1GLFdBQVcsQUFLTixPQUFPLENBOEJKLElBQUksQUFNQyxPQUFPLENBQUM7VUFDTCxPQUFPLEVBQUUsRUFBRTtVckpDM0IsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO1VxSkNoRCxLQUFLLEV2SnpPdEIsT0FBTztVdUowT1UsU0FBUyxFckp3QnJCLE9BQTJCO1VxSnZCZixPQUFPLEVySnVCbkIsU0FBMkI7VXFKdEJmLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLEtBQUssRUFBRSxJQUFJO1VBQ1gsTUFBTSxFQUFFLElBQUk7VUFDWixPQUFPLEVBQUUsSUFBSTtVQUNiLFdBQVcsRUFBRSxNQUFNO1VBQ25CLGVBQWUsRUFBRSxNQUFNLEdBQzFCO1FBdFBoQixBQXlQbUIsYUF6UGQsQ0FpTUYsV0FBVyxBQUtOLE9BQU8sQ0FrREMsV0FBTyxBQUNILE9BQU8sQ0FBQztVQUNMLE9BQU8sRUFBRSxPQUFPO1VBQ2hCLEdBQUcsRUFBRSxDQUFDO1VBQ04sSUFBSSxFQUFFLENBQUMsR0FDVjtRQTdQcEIsQUFpUW1CLGFBalFkLENBaU1GLFdBQVcsQUFLTixPQUFPLENBMERDLFVBQU0sQUFDRixPQUFPLENBQUM7VUFDTCxPQUFPLEVBQUUsT0FBTztVQUNoQixHQUFHLEVBQUUsQ0FBQztVQUNOLEtBQUssRUFBRSxDQUFDLEdBQ1g7O0FDdFF6QixBQUFBLGNBQWMsQ0FBQztFQUNYLE9BQU8sRXRKc1FDLFFBQTJCLENzSnRRZixDQUFDLEN0SnNRYixRQUEyQixDc0p0UUYsQ0FBQyxHQThTckM7RUE1U0ksQUFBRCx1QkFBVSxDQUFDO0lBQ1AsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN4SnFCbEIsT0FBTztJd0pwQk4sVUFBVSxFeEo0RVQsSUFBRyxDQUFDLFFBQVEsR3dKakRoQjtJQTdCQSxBQUlHLHVCQUpNLEFBSUwsTUFBTSxDQUFDO01BQ0osTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN4Sk1sQixJQUFJLEd3SkxOO0lBRUEsQUFBRCw2QkFBTyxDQUFDO01BQ0osT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTTtNQUNuQixlQUFlLEVBQUUsTUFBTTtNdEptTi9CLFNBQVMsRUFzQ0QsUUFBMkI7TUFyQ25DLFdBQVcsRXNKbk51QixPQUFFO01BQzVCLEtBQUssRXhKT1YsT0FBTztNd0pORixRQUFRLEVBQUUsUUFBUTtNQUNsQixjQUFjLEVBQUUsTUFBTSxHQWF6QjtNQXBCQSxBQVNHLDZCQVRHLEFBU0YsT0FBTyxDQUFDO1FBQ0wsT0FBTyxFQUFFLE9BQU87UXRKd054QixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7UXNKdE54RCxTQUFTLEV0SmdQYixRQUEyQjtRc0ovT3ZCLE1BQU0sRXRKK09WLFFBQTJCO1FzSjlPdkIsS0FBSyxFeEpBZCxPQUFPLEd3SkNEO01BZkosQUFpQkcsNkJBakJHLEFBaUJGLE1BQU0sQ0FBQztRQUNKLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0VBSVIsQUFBRCxxQkFBUSxDQUFDO0lBQ0wsVUFBVSxFeEpUWCxPQUFPO0l3SldOLGFBQWEsRXRKa09ULFFBQTJCLEdzSnZCbEM7SUFyTUksQUFBRCw0QkFBUSxDQUFDO01BRUwsVUFBVSxFeEorQ2IsZ0JBQWdCLEd3SjFDaEI7SUFoQkosQUFrQkcscUJBbEJJLENBa0JKLE9BQU8sQ0FBQztNQUNKLGVBQWUsRUFBRSxJQUFJO01BQ3JCLE9BQU8sRUFBRSxDQUFDO01BQ1YsT0FBTyxFQUFFLENBQUM7TUFDVixPQUFPLEVBQUUsSUFBSTtNQUNiLFNBQVMsRUFBRSxJQUFJO01BQ2YsYUFBYSxFdEo2TWIsT0FBMkIsR3NKN0s5QjtNQXhESixBQTBCTyxxQkExQkEsQ0FrQkosT0FBTyxDQVFILEVBQUUsQ0FBQztRQUNDLE9BQU8sRUFBRSxJQUFJO1FBQ2IsS0FBSyxFeEpoRFYsSUFBSTtRd0ppREMsVUFBVSxFQUFFLE9BQU87UUFDbkIsTUFBTSxFQUFFLENBQUMsQ3RKdU1iLFNBQTJCLENBQTNCLFNBQTJCLENzSnZNTyxDQUFDO1FBQy9CLE9BQU8sRXRKc01YLFNBQTJCLENBQTNCLFFBQTJCO1FzSnJNdkIsYUFBYSxFQUFFLEdBQUc7UUFDbEIsY0FBYyxFQUFFLFNBQVM7UXRKOEpyQyxTQUFTLEVBc0NELFNBQTJCO1FBckNuQyxXQUFXLEVzSjlKMkIsR0FBRSxHQXFCL0I7US9JN0JULE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztVK0kxQnZCLEFBMEJPLHFCQTFCQSxDQWtCSixPQUFPLENBUUgsRUFBRSxDQUFDO1l0SnFLWCxTQUFTLEVBc0NELE9BQTJCO1lBckNuQyxXQUFXLEVzSjNKK0IsT0FBRSxHQWtCbkM7UUF2RFIsQUF3Q1cscUJBeENKLENBa0JKLE9BQU8sQ0FRSCxFQUFFLEFBY0csT0FBTyxDQUFDO1VBQ0wsVUFBVSxFeEoxQmxCLE9BQU8sR3dKMkJGO1FBMUNaLEFBNENXLHFCQTVDSixDQWtCSixPQUFPLENBUUgsRUFBRSxBQWtCRyxTQUFTLENBQUM7VUFDUCxVQUFVLEV4SjdCaEIsT0FBTyxHd0o4Qko7UUE5Q1osQUFnRFcscUJBaERKLENBa0JKLE9BQU8sQ0FRSCxFQUFFLEFBc0JHLElBQUksQ0FBQztVQUNGLFVBQVUsRXhKaENyQixPQUFPLEd3SmlDQztRQWxEWixBQW9EVyxxQkFwREosQ0FrQkosT0FBTyxDQVFILEVBQUUsQUEwQkcsWUFBWSxDQUFDO1VBQ1YsVUFBVSxFeEpuQ2IsT0FBTyxHd0pvQ1A7SUF0RFosQUEyRE8scUJBM0RBLEFBMERILE9BQU8sQ0FDSixPQUFPLENBQUM7TUFDSixPQUFPLEVBQUUsT0FBTyxHQUNuQjtJQTdEUixBQWlFTyxxQkFqRUEsQUFnRUgsU0FBUyxDQUNOLFNBQVMsQ0FBQztNQUNOLE9BQU8sRUFBRSxPQUFPLEdBQ25CO0lBbkVSLEFBdUVPLHFCQXZFQSxBQXNFSCxJQUFJLENBQ0QsSUFBSSxDQUFDO01BQ0QsT0FBTyxFQUFFLE9BQU8sR0FDbkI7SUF6RVIsQUE2RU8scUJBN0VBLEFBNEVILFlBQVksQ0FDVCxZQUFZLENBQUM7TUFDVCxPQUFPLEVBQUUsT0FBTyxHQUNuQjtJQS9FUixBQWtGRyxxQkFsRkksQ0FrRkosS0FBSyxDQUFDO01BQ0YsS0FBSyxFeEo5RlYsT0FBTyxHd0orRkw7SUFwRkosQUF1Rk8scUJBdkZBLENBc0ZKLEtBQUssQ0FDRCxLQUFLLEVBdkZaLHFCQUFPLEM5Q1paLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBS0YsV0FBVyxDOENvQ0w7TUFDRixLQUFLLEV4SnhIZCxPQUFPO01FK05WLFNBQVMsRUFzQ0QsUUFBMkI7TUFyQ25DLFdBQVcsRXNKdkcyQixPQUFFO01BQzVCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLFlBQVksRXRKMEloQixPQUEyQixHc0p6STFCO0lBNUZSLEFBZ0dHLHFCQWhHSSxDQWdHSixhQUFhLENBQUM7TXRKK0ZsQixTQUFTLEVBc0NELElBQTJCO01BckNuQyxXQUFXLEVzSi9GdUIsTUFBRTtNQUM1QixNQUFNLEV0Sm1JTixRQUEyQjtNc0psSTNCLEtBQUssRXhKOUdWLE9BQU87TXdKK0dGLE1BQU0sRUFBRSxpQkFBaUI7TUFDekIsT0FBTyxFdEpnSVAsU0FBMkIsQ0FBM0IsU0FBMkI7TXNKL0gzQixVQUFVLEVBQUUsV0FBVztNQUN2QixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVBQUUsQ0FBQztNQUNWLGFBQWEsRUFBRSxDQUFDLEdBS25CO01BOUdKLEFBMkdPLHFCQTNHQSxDQWdHSixhQUFhLEFBV1IsYUFBYSxDQUFDO1FBQ1gsS0FBSyxFeEp2SGQsT0FBTyxHd0p3SEQ7SUE3R1IsQUFnSEcscUJBaEhJLENBZ0hKLFdBQVcsQ0FBQztNQUNSLE9BQU8sRUFBRSxJQUFJO01BQ2IsV0FBVyxFQUFFLE1BQU07TUFDbkIsU0FBUyxFQUFFLElBQUk7TUFDZixhQUFhLEV0SmlIYixPQUEyQixHc0p4QjlCO01BN01KLEFBc0hPLHFCQXRIQSxDQWdISixXQUFXLEFBTU4sT0FBTyxDQUFDO1FBQ0wsYUFBYSxFQUFFLENBQUMsR0FxQm5CO1FBNUlSLEFBeUhXLHFCQXpISixDQWdISixXQUFXLEFBTU4sT0FBTyxDQUdKLGNBQWMsQ0FBQztVQUNYLEtBQUssRUFBRSxJQUFJO1VBQ1gsU0FBUyxFdEowR2pCLFFBQTJCO1VzSnpHbkIsYUFBYSxFdEp5R3JCLE9BQTJCLEdzSjlGdEI7VUF2SVosQUE4SGUscUJBOUhSLENBZ0hKLFdBQVcsQUFNTixPQUFPLENBR0osY0FBYyxBQUtULE9BQU8sQ0FBQztZQUNMLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFVBQVUsRUFBRSxJQUFJO1l0SjJFaEMsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO1lzSnpFaEQsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsTUFBTTtZQUNuQixlQUFlLEVBQUUsTUFBTTtZQUN2QixLQUFLLEV4SmhKdEIsT0FBTyxHd0ppSk87UUF0SWhCLEFBeUlXLHFCQXpJSixDQWdISixXQUFXLEFBTU4sT0FBTyxDQW1CSixLQUFLLEVBekloQixxQkFBTyxDQWdISixXQUFXLEFBTU4sT0FBTyxDOUNsSXBCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBS0YsV0FBVyxFQS9EdkIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQzhDOUNULHFCQUFPLENBZ0hKLFdBQVcsQUFNTixPQUFPLEM5Q25FUixXQUFXLEM4Q3NGRDtVQUNGLGFBQWEsRXRKMkZyQixPQUEyQixHc0oxRnRCO01BM0laLEFBOElPLHFCQTlJQSxDQWdISixXQUFXLEFBOEJOLE9BQU8sQ0FBQztRQUNMLGFBQWEsRUFBRSxDQUFDLEdBNkRuQjtRQTVNUixBQW1KbUIscUJBbkpaLENBZ0hKLFdBQVcsQUE4Qk4sT0FBTyxBQUdILFVBQVUsQ0FDUCxjQUFjLEFBQ1QsT0FBTyxFQW5KM0IscUJBQU8sQ0FnSEosV0FBVyxBQThCTixPQUFPLEFBR1UsUUFBUSxDQUNsQixjQUFjLEFBQ1QsT0FBTyxDQUFDO1VBQ0wsT0FBTyxFQUFFLElBQUksR0FDaEI7UUFySnBCLEFBdUplLHFCQXZKUixDQWdISixXQUFXLEFBOEJOLE9BQU8sQUFHSCxVQUFVLENBTVAsYUFBYSxFQXZKNUIscUJBQU8sQ0FnSEosV0FBVyxBQThCTixPQUFPLEFBR1UsUUFBUSxDQU1sQixhQUFhLENBQUM7VUFDVixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3hKaktsQyxPQUFPLEd3SmtLTztRQXpKaEIsQUE0SlcscUJBNUpKLENBZ0hKLFdBQVcsQUE4Qk4sT0FBTyxDQWNKLGNBQWMsQ0FBQztVQUNYLE9BQU8sRUFBRSxJQUFJO1VBQ2IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN4SnZLOUIsT0FBTztVd0p3S00sYUFBYSxFQUFFLENBQUMsR0FPbkI7VUF0S1osQUFpS2UscUJBaktSLENBZ0hKLFdBQVcsQUE4Qk4sT0FBTyxDQWNKLGNBQWMsQ0FLVixhQUFhLENBQUM7WUFDVixLQUFLLEV0Sm1FakIsSUFBMkI7WXNKbEVmLE1BQU0sRXRKa0VsQixTQUEyQjtZc0pqRWYsTUFBTSxFQUFFLENBQUMsR0FDWjtRQXJLaEIsQUF3S1cscUJBeEtKLENBZ0hKLFdBQVcsQUE4Qk4sT0FBTyxDQTBCSixJQUFJLENBQUM7VUFDRCxPQUFPLEVBQUUsQ0FBQztVQUNWLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLEtBQUssRXRKMERiLFFBQTJCO1VzSnpEbkIsTUFBTSxFdEp5RGQsU0FBMkIsR3NKMUJ0QjtVQTNNWixBQThLZSxxQkE5S1IsQ0FnSEosV0FBVyxBQThCTixPQUFPLENBMEJKLElBQUksQUFNQyxPQUFPLENBQUM7WUFDTCxPQUFPLEVBQUUsRUFBRTtZdEo0QjNCLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtZc0oxQmhELEtBQUssRXhKOU10QixPQUFPO1l3SitNVSxTQUFTLEV0Sm1EckIsT0FBMkI7WXNKbERmLE9BQU8sRXRKa0RuQixTQUEyQjtZc0pqRGYsUUFBUSxFQUFFLFFBQVE7WUFDbEIsS0FBSyxFQUFFLElBQUk7WUFDWCxNQUFNLEVBQUUsSUFBSTtZQUNaLE9BQU8sRUFBRSxJQUFJO1lBQ2IsV0FBVyxFQUFFLE1BQU07WUFDbkIsZUFBZSxFQUFFLE1BQU0sR0FDMUI7VUExTGhCLEFBNkxtQixxQkE3TFosQ0FnSEosV0FBVyxBQThCTixPQUFPLENBOENDLFdBQU8sQUFDSCxPQUFPLENBQUM7WUFDTCxPQUFPLEVBQUUsT0FBTztZQUNoQixHQUFHLEVBQUUsQ0FBQztZQUNOLElBQUksRUFBRSxDQUFDLEdBQ1Y7VUFqTXBCLEFBcU1tQixxQkFyTVosQ0FnSEosV0FBVyxBQThCTixPQUFPLENBc0RDLFVBQU0sQUFDRixPQUFPLENBQUM7WUFDTCxPQUFPLEVBQUUsT0FBTztZQUNoQixHQUFHLEVBQUUsQ0FBQztZQUNOLEtBQUssRUFBRSxDQUFDLEdBQ1g7RUFPcEIsQUFBRCw0QkFBZSxDQUFDO0lBQ1osS0FBSyxFeEo1Tk4sT0FBTztJd0o2Tk4sYUFBYSxFdEptQlQsT0FBMkI7SXNKbEIvQixZQUFZLEV0SmtCUixRQUEyQjtJQXRDbkMsU0FBUyxFQXNDRCxRQUEyQjtJQXJDbkMsV0FBVyxFc0pvQm1CLE9BQUUsR0FXL0I7SUFmQSxBQU1HLDRCQU5XLENBTVgsSUFBSSxDQUFDO01BQ0QsV0FBVyxFQUFFLElBQUksR0FDcEI7SUFSSixBQVdPLDRCQVhPLEFBVVYsU0FBUyxDQUNOLElBQUksQ0FBQztNQUNELEtBQUssRXhKL05kLE9BQU8sR3dKZ09EO0VBSVIsQUFBRCxvQkFBTyxDQUFDO0lBQ0osS0FBSyxFeEo3T04sT0FBTztJd0o4T04sWUFBWSxFdEpFUixRQUEyQjtJc0pEL0IsYUFBYSxFdEpDVCxPQUEyQjtJQXRDbkMsU0FBUyxFQXNDRCxRQUEyQjtJQXJDbkMsV0FBVyxFc0pxQ21CLE9BQUUsR0FDL0I7RUFFQSxBQUFELG9CQUFPLENBQUM7SUFDSixLQUFLLEV4SnBQTixPQUFPO0l3SnFQTixhQUFhLEV0SkxULE9BQTJCO0lBdENuQyxTQUFTLEVBc0NELFFBQTJCO0lBckNuQyxXQUFXLEVzSjJDbUIsT0FBRSxHQUMvQjtFQUVBLEFBQUQscUJBQVEsQ0FBQztJQUNMLEtBQUssRXhKOVFOLE9BQU87SUU4TlYsU0FBUyxFQXNDRCxJQUEyQjtJQXJDbkMsV0FBVyxFc0pnRG1CLE1BQUU7SUFDNUIsV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFdEpiUixTQUEyQjtJc0pjL0IsYUFBYSxFdEpkVCxRQUEyQixHc0o0QmxDO0lBWkksQUFBRCw2QkFBUyxDQUFDO01BQ04sT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEV4SmhRVixPQUFPO01Fd01WLFNBQVMsRUFzQ0QsUUFBMkI7TUFyQ25DLFdBQVcsRXNKd0R1QixPQUFFO01BRTVCLFdBQVcsRUFBRSxNQUFNLEdBTXRCO01BWEEsQUFRRyw2QkFSSyxDQVFMLElBQUksQ0FBQztRQUNELGVBQWUsRUFBRSxZQUFZLEdBQ2hDO0VBSVIsQUFBRCxzQkFBUyxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFDYixxQkFBcUIsRUFBRSxjQUFjO0lBQ3JDLFFBQVEsRXRKakNKLFFBQTJCO0lzSmtDL0IsYUFBYSxFdEpsQ1QsUUFBMkIsR3NKbUNsQztFQUVBLEFBQUQscUJBQVEsQ0FBQztJQUNMLE9BQU8sRXRKdENILE9BQTJCLENzSnNDWCxDQUFDLEdBQ3hCOztBOUN4UkwsQUFHSSxLQUhDLENBR0QsS0FBSyxFQUhULEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBS0YsV0FBVyxDK0M3RGI7RUFDRixLQUFLLEV6SkZOLE9BQU87RXlKR04sV0FBVyxFQUFFLElBQUk7RXZKdU1yQixTQUFTLEVBc0NELFNBQTJCO0VBckNuQyxXQUFXLEV1SnZNbUIsR0FBRSxHQUsvQjtFaEo0QkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lpR3RDNUIsQUFHSSxLQUhDLENBR0QsS0FBSyxFQUhULEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBS0YsV0FBVyxDK0M3RGI7TXZKeU1OLFNBQVMsRUFzQ0QsUUFBMkI7TUFyQ25DLFdBQVcsRXVKcE11QixPQUFFLEdBRW5DOztBL0NWTCxBQXdCSSxLQXhCQyxDQXdCRCxXQUFXLEMrQ1pDO0VBQ1IsYUFBYSxFdkpvT1QsT0FBMkIsR3VKbE5sQztFL0MvQkwsQUFxRFEsS0FyREgsQ0F3QkQsV0FBVyxDQTZCUCxRQUFRLEMrQ3RDQztJQUNMLE1BQU0sRXZKaU9OLFNBQTJCO0l1SmhPM0IsYUFBYSxFQUFFLENBQUMsR0FDbkI7RS9DbEJULEFBNEJRLEtBNUJILENBd0JELFdBQVcsQUFJTixTQUFTLEMrQ1JDO0lBQ1AsYUFBYSxFdko0TmIsU0FBMkIsR3VKbk45QjtJL0M5QlQsQUErQlksS0EvQlAsQ0F3QkQsV0FBVyxBQUlOLFNBQVMsQ0FHTixhQUFhLEMrQ1JDO01BQ1YsYUFBYSxFQUFFLENBQUMsR0FLbkI7TUFuRGIsQUFnRGdCLEtBaERYLENBa0NELFdBQVcsQUFRTixTQUFTLENBR04sYUFBYSxBQUdSLGFBQWEsQ0FBQztRQUNYLEtBQUssRXpKeEJsQixPQUFPLEd5SnlCRzs7QS9DNUJqQixBQVNJLEtBVEMsQ0FTRCxhQUFhLEMrQ3dCQztFQUNWLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDekovQmxCLE9BQU87RXlKZ0NOLE1BQU0sRXZKOE1GLFNBQTJCO0VBdENuQyxTQUFTLEVBc0NELElBQTJCO0VBckNuQyxXQUFXLEV1SnhLbUIsTUFBRTtFQUM1QixhQUFhLEVBQUUsQ0FBQztFQUNoQixPQUFPLEV2SjJNSCxPQUEyQixDQUEzQixTQUEyQjtFdUoxTS9CLGtCQUFrQixFQUFFLElBQUksR0FDM0I7O0FBR0EsQUFBRCxpQkFBYSxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSxjQUFjO0VBQ3JDLEdBQUcsRXZKbU1DLFNBQTJCO0V1SmxNL0IsZUFBZSxFQUFFLGFBQWE7RUFDOUIsT0FBTyxFdkppTUgsT0FBMkI7RXVKaE0vQixVQUFVLEV6SjVDWCxPQUFPO0V5SjZDTixhQUFhLEV2SitMVCxTQUEyQixHdUo5S2xDO0VoSjdCRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWdKS3ZCLEFBQUQsaUJBQWEsQ0FBQztNQVVOLHFCQUFxQixFQUFFLGNBQWMsR0FjNUM7RWhKN0JELE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJZ0pLeEIsQUFBRCxpQkFBYSxDQUFDO01BY04sT0FBTyxFQUFFLElBQUksR0FVcEI7RUF4QkEsQUFpQkcsaUJBakJTLENBaUJULFdBQVcsQ0FBQztJQUNSLEtBQUssRUFBRSxJQUFJLEdBS2Q7SUF2QkosQUFvQk8saUJBcEJLLENBaUJULFdBQVcsQ0FHUCxLQUFLLEVBcEJaLGlCQUFZLEMvQzNDakIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0FLRixXQUFXLEVBL0R2QixLQUFLLEMrQzJDQSxpQkFBWSxDL0NuQmIsV0FBVyxBQWtDTixLQUFLLENBS0YsV0FBVyxDK0NBTDtNQUNGLFdBQVcsRUFBRSxNQUFNLEdBQ3RCOztBQUtSLEFBQUQsZUFBVyxDQUFDO0VBQ1IsUUFBUSxFQUFFLFFBQVEsR0FvSnJCO0VBbEpJLEFBQUQsb0JBQU0sQ0FBQztJQUNILE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsY0FBYztJQUNyQyxHQUFHLEV2SnFLSCxTQUEyQjtJdUpwSzNCLGVBQWUsRUFBRSxhQUFhO0lBQzlCLE9BQU8sRXZKbUtQLE9BQTJCLENBQTNCLE9BQTJCO0l1SmxLM0IsVUFBVSxFekoxRWYsT0FBTztJeUoyRUYsYUFBYSxFdkppS2IsU0FBMkI7SXVKaEszQixNQUFNLEVBQUUsT0FBTztJQUNmLFVBQVUsRXpKdkJiLElBQUcsQ0FBQyxRQUFRLEd5SndEWjtJaEo3RUwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01nSm1DbkIsQUFBRCxvQkFBTSxDQUFDO1FBWUMscUJBQXFCLEVBQUUsY0FBYyxHQThCNUM7SWhKN0VMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNZ0ptQ25CLEFBQUQsb0JBQU0sQ0FBQztRQWdCQyxPQUFPLEVBQUUsSUFBSSxHQTBCcEI7SUExQ0EsQUFtQkcsb0JBbkJFLEFBbUJELE1BQU0sRUFuQlYsb0JBQUssQUFvQkQsT0FBTyxDQUFDO01BQ0wsVUFBVSxFekpsSG5CLE9BQU8sR3lKMkhEO01BOUJKLEFBdUJPLG9CQXZCRixBQW1CRCxNQUFNLENBSUgsc0JBQXNCLEVBdkI3QixvQkFBSyxBQW9CRCxPQUFPLENBR0osc0JBQXNCLENBQUM7UUFDbkIsS0FBSyxFekp6R2QsSUFBSSxHeUowR0U7TUF6QlIsQUEyQk8sb0JBM0JGLEFBbUJELE1BQU0sQ0FRSCxzQkFBc0IsRUEzQjdCLG9CQUFLLEFBb0JELE9BQU8sQ0FPSixzQkFBc0IsQ0FBQztRQUNuQixLQUFLLEV6SjdHZCxJQUFJLEd5SjhHRTtJQTdCUixBQWtDVyxvQkFsQ04sQUFnQ0QsT0FBTyxDQUNKLG9CQUFvQixBQUNmLE9BQU8sQ0FBQztNQUNMLFVBQVUsRXpKaEkzQixPQUFPO015SmlJVSxPQUFPLEVBQUUsT0FBTztNQUNoQixLQUFLLEV6SnRIbEIsSUFBSTtNeUp1SFMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN6SnZIOUIsSUFBSSxHeUp3SE07RUFLWixBQUFELG9CQUFNLENBQUM7SUFDSCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLEtBQUssRUFBRSxLQUFLO0lBQ1osU0FBUyxFQUFFLGdCQUFnQjtJQUMzQixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNLEdBZ0J0QjtJQXRCQSxBQVFHLG9CQVJFLEFBUUQsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU87TUFDaEIsS0FBSyxFeko5SGQsT0FBTztNRXNOTixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TXVKdEZ4RCxTQUFTLEV2SmdIYixJQUEyQjtNdUovR3ZCLEtBQUssRXZKK0dULFFBQTJCO011SjlHdkIsTUFBTSxFdko4R1YsUUFBMkI7TXVKN0d2QixPQUFPLEVBQUUsSUFBSTtNQUNiLFdBQVcsRUFBRSxNQUFNO01BQ25CLGVBQWUsRUFBRSxNQUFNO01BQ3ZCLFVBQVUsRXpKcEluQixPQUFPO015SnFJRSxhQUFhLEVBQUUsR0FBRyxHQUNyQjtFQUlKLEFBQUQsdUJBQVMsQ0FBQztJQUNOLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUFFQSxBQUFELHNCQUFRLENBQUM7SUFDTCxTQUFTLEV2SitGVCxPQUEyQjtJdUo5RjNCLEtBQUssRXpKbEpWLE9BQU87SXlKbUpGLGFBQWEsRUFBRSxDQUFDLEdBQ25CO0VBRUEsQUFBRCxzQkFBUSxDQUFDO0lBQ0wsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFekp6SlYsT0FBTztJeUowSkYsU0FBUyxFdkp1RlQsUUFBMkI7SXVKdEYzQixhQUFhLEVBQUUsQ0FBQyxHQUNuQjtFQUVBLEFBQUQsdUJBQVMsQ0FBQztJQUNOLGFBQWEsRXZKa0ZiLFNBQTJCO0l1SmpGM0IsVUFBVSxFdkppRlYsVUFBMkI7SXVKaEYzQixVQUFVLEV6SjdKZixPQUFPO0l5SjhKRixPQUFPLEV2SitFUCxPQUEyQjtJdUo5RTNCLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsR0FBRztJQUMxQixHQUFHLEV2SjRFSCxPQUEyQixHdUp2QjlCO0loSnBMTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TWdKd0huQixBQUFELHVCQUFTLENBQUM7UUFVRixxQkFBcUIsRUFBRSxTQUFTLEdBa0R2QztJQS9DSSxBQUNHLCtCQURLLENBQ0wsQ0FBQyxDQUFDO01BQ0UsYUFBYSxFdkpvRXJCLFNBQTJCO011Sm5FbkIsU0FBUyxFdkptRWpCLFFBQTJCO011SmxFbkIsS0FBSyxFeko5S2xCLE9BQU8sR3lKbUxHO01BVEosQUFNTywrQkFOQyxDQUNMLENBQUMsQUFLSSxXQUFXLENBQUM7UUFDVCxhQUFhLEVBQUUsQ0FBQyxHQUNuQjtJQUlSLEFBQ0csZ0NBRE0sQ0FDTixxQkFBcUIsQ0FBQztNQUNsQixlQUFlLEVBQUUsR0FBRztNQUNwQixHQUFHLEV2SnVEWCxTQUEyQjtNdUp0RG5CLE9BQU8sRUFBRSxJQUFJO01BQ2IscUJBQXFCLEVBQUUsY0FBYztNQUNyQyxrQkFBa0IsRUFBRSxjQUFjLEdBaUJyQztNdkpuTmIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRdUo0TDNCLEFBQ0csZ0NBRE0sQ0FDTixxQkFBcUIsQ0FBQztVQVFkLE9BQU8sRUFBRSxJQUFJLEdBY3BCO01BdkJKLEFBWU8sZ0NBWkUsQ0FDTixxQkFBcUIsQ0FXakIsS0FBSyxDQUFDO1FBQ0YsV0FBVyxFQUFFLGVBQWUsR0FTL0I7UUF0QlIsQUFlVyxnQ0FmRixDQUNOLHFCQUFxQixDQVdqQixLQUFLLENBR0QsV0FBVyxDQUFBO1VBQ1AsZUFBZSxFQUFFLEtBQUssR0FLekI7VWhKdEtyQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7WWdKaUpmLEFBZVcsZ0NBZkYsQ0FDTixxQkFBcUIsQ0FXakIsS0FBSyxDQUdELFdBQVcsQ0FBQTtjQUlILGVBQWUsRUFBRSxHQUFHLEdBRTNCO0lBckJaLEFBeUJHLGdDQXpCTSxDQXlCTixDQUFDLENBQUM7TUFDRSxhQUFhLEV2SmdDckIsU0FBMkI7TXVKL0JuQixTQUFTLEV2SitCakIsUUFBMkI7TXVKOUJuQixLQUFLLEV6SmxObEIsT0FBTyxHeUp1Tkc7TUFqQ0osQUE4Qk8sZ0NBOUJFLENBeUJOLENBQUMsQUFLSSxXQUFXLENBQUM7UUFDVCxhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUFRckIsQUFBQSxXQUFXLENBQUM7RUFDUixLQUFLLEV6SnBQRixPQUFPO0V5SnFQVixVQUFVLEV2SmdCRixTQUEyQjtFdUpmbkMsV0FBVyxFQUFFLElBQUk7RXZKdkJqQixTQUFTLEVBc0NELFNBQTJCO0VBckNuQyxXQUFXLEV1SnVCZSxHQUFFLEdBSy9CO0VoSmxNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWdKeUw1QixBQUFBLFdBQVcsQ0FBQztNdkpwQlIsU0FBUyxFQXNDRCxPQUEyQjtNQXJDbkMsV0FBVyxFdUowQm1CLE9BQUUsR0FFbkM7O0FDOVBELEFBQUEsUUFBUSxDQUFDO0VBQ0wsY0FBYyxFQUFFLE1BQU07RUFDdEIsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsQ0FBQyxDeEpvUUQsUUFBMkIsQ3dKcFFkLENBQUMsQ3hKb1FkLFNBQTJCLEd3SnBLdEM7RWpKdkNHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJaUo1RDVCLEFBQUEsUUFBUSxDQUFDO01BTUQsT0FBTyxFQUFFLElBQUksR0E2RnBCO0VBMUZJLEFBQUQsZUFBUSxDQUFDO0lBQ0wsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE1BQU07SXhKc04zQixTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEV3SnRObUIsR0FBRTtJQUM1QixXQUFXLEVBQUUsTUFBTTtJQUNuQixjQUFjLEVBQUUsU0FBUztJQUN6QixVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEUxSk1OLE9BQU87STBKTE4sVUFBVSxFMUpnRVQsSUFBRyxDQUFDLFFBQVE7STBKL0RiLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsVUFBVSxFMUp3RVQsZ0JBQWdCO0kwSnZFakIsT0FBTyxFQUFFLENBQUMsR0FzQ2I7SWpKQ0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01pSm5EdkIsQUFBRCxlQUFRLENBQUM7UXhKd05ULFNBQVMsRUFzQ0QsT0FBMkI7UUFyQ25DLFdBQVcsRXdKMU11QixPQUFFLEdBbUNuQztJQWxEQSxBQWtCRyxlQWxCSSxBQWtCSCxPQUFPLENBQUM7TUFDTCxRQUFRLEVBQUUsUUFBUTtNQUNsQixLQUFLLEV4SjBPTCxRQUEyQjtNd0p6TzNCLE1BQU0sRXhKeU9OLFFBQTJCO013SnhPM0IsR0FBRyxFeEp3T0gsT0FBMkI7TXdKdk8zQixJQUFJLEV4SnVPSixTQUEyQjtNd0p0TzNCLE9BQU8sRXhKc09QLFFBQTJCO013SnJPM0IsT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTTtNQUNuQixlQUFlLEVBQUUsTUFBTTtNQUN2QixTQUFTLEV4SmtPVCxRQUEyQjtNd0pqTzNCLFdBQVcsRUFBRSxNQUFNO01BQ25CLEtBQUssRTFKckNWLE9BQU87TTBKc0NGLFVBQVUsRTFKeUNiLElBQUcsQ0FBQyxRQUFRO00wSnhDVCxPQUFPLEVBQUUsT0FBTztNeEpvTXBCLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxHd0psTS9EO0lBbENKLEFBOENPLGVBOUNBLEFBNkNILE9BQU8sQUFDSCxPQUFPLENBQUM7TXhKeUxiLFdBQVcsRUZ6S0ksb0JBQW9CLEVFeUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxHd0p2TDNEO0VBSVIsQUFBRCxnQkFBUyxDQUFDO0lBQ04sS0FBSyxFMUo1RE4sT0FBTztJMEo2RE4sZUFBZSxFQUFFLFNBQVM7SUFDMUIsY0FBYyxFQUFFLElBQUk7SXhKaUt4QixTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEV3SmpLbUIsR0FBRTtJQUM1QixVQUFVLEV4SnFNTixTQUEyQjtJd0pwTS9CLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUMsR0FVYjtJakpwQkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01pSkN2QixBQUFELGdCQUFTLENBQUM7UXhKb0tWLFNBQVMsRUFzQ0QsUUFBMkI7UUFyQ25DLFdBQVcsRXdKekp1QixPQUFFLEdBT25DO0lBbkJBLEFBZUcsZ0JBZkssQUFlSixNQUFNLENBQUM7TUFDSixLQUFLLEUxSjNFVixPQUFPO00wSjRFRixlQUFlLEVBQUUsSUFBSSxHQUN4QjtFQS9FVCxBQW9GWSxRQXBGSixBQWtGSCxNQUFNLENBRUUsZUFBTyxDQUFDO0lBQ0wsS0FBSyxFMUpuRmQsT0FBTztJMEpvRkUsZUFBZSxFQUFFLElBQUksR0FLeEI7SUEzRmIsQUF3RmdCLFFBeEZSLEFBa0ZILE1BQU0sQ0FFRSxlQUFPLEFBSUgsT0FBTyxDQUFDO01BQ0wsS0FBSyxFMUp2RmxCLE9BQU8sRzBKd0ZHO0VBMUZqQixBQTZGWSxRQTdGSixBQWtGSCxNQUFNLENBV0UsZ0JBQVEsQ0FBQztJQUNOLEtBQUssRTFKNUZkLE9BQU87STBKNkZFLGVBQWUsRUFBRSxJQUFJLEdBQ3hCOztBQy9GYixBQVFRLFNBUkMsQUFFSixJQUFLLENuREFBLElBQUksRW1ETU4sc0JBQXNCLENBQUM7RUFDbkIsS0FBSyxFeko2UEwsUUFBMkI7RXlKNVAzQixNQUFNLEV6SjRQTixRQUEyQjtFeUozUDNCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRUFBRSxtQkFBZ0I7RUFDNUIsR0FBRyxFQUFFLEdBQUc7RUFDUixTQUFTLEVBQUUsZ0JBQWdCO0VBQzNCLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFM0pnRWIsSUFBRyxDQUFDLFFBQVEsRzJKeENaO0VBeENULEFBa0JZLFNBbEJILEFBRUosSUFBSyxDbkRBQSxJQUFJLEVtRE1OLHNCQUFzQixBQVVqQixPQUFPLENBQUM7SUFDTCxPQUFPLEVBQUUsT0FBTztJekp5TnhCLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtJeUp2TnhELFNBQVMsRXpKaVBiLElBQTJCO0l5SmhQdkIsS0FBSyxFM0pUVixJQUFJO0kySlVDLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDO0lBQ1AsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixlQUFlLEVBQUUsTUFBTSxHQUMxQjtFQS9CYixBQWlDWSxTQWpDSCxBQUVKLElBQUssQ25EQUEsSUFBSSxFbURNTixzQkFBc0IsQ0F5QmxCLDJCQUEyQixDQUFDO0lBQ3hCLGdCQUFnQixFQUFFLElBQUksR0FDekI7O0FBbkNiLEFBMENRLFNBMUNDLEFBRUosSUFBSyxDbkRBQSxJQUFJLEVtRHdDTixzQkFBc0IsQ0FBQztFQUNuQixLQUFLLEV6SjJOTCxRQUEyQjtFeUoxTjNCLE1BQU0sRXpKME5OLFFBQTJCO0V5SnpOM0IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFQUFFLG1CQUFnQjtFQUM1QixHQUFHLEVBQUUsR0FBRztFQUNSLFNBQVMsRUFBRSxnQkFBZ0I7RUFDM0IsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEUzSjhCYixJQUFHLENBQUMsUUFBUSxHMkpOWjtFQTFFVCxBQW9EWSxTQXBESCxBQUVKLElBQUssQ25EQUEsSUFBSSxFbUR3Q04sc0JBQXNCLEFBVWpCLE9BQU8sQ0FBQztJQUNMLE9BQU8sRUFBRSxPQUFPO0l6SnVMeEIsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0l5SnJMeEQsU0FBUyxFekorTWIsSUFBMkI7SXlKOU12QixLQUFLLEUzSjNDVixJQUFJO0kySjRDQyxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQztJQUNQLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE1BQU0sR0FDMUI7RUFqRWIsQUFtRVksU0FuRUgsQUFFSixJQUFLLENuREFBLElBQUksRW1Ed0NOLHNCQUFzQixDQXlCbEIsMkJBQTJCLENBQUM7SUFDeEIsZ0JBQWdCLEVBQUUsSUFBSSxHQUN6Qjs7QUFyRWIsQUE0RVEsU0E1RUMsQUFFSixJQUFLLENuREFBLElBQUksRW1EMEVOLFVBQVUsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBR0osQUFDRyxtQkFETyxBQUNOLElBQUssQ25EaEZKLElBQUksRW1EZ0ZNO0VBQ1IsT0FBTyxFQUFFLEdBQUc7RUFDWixhQUFhLEV6SmtMYixRQUEyQixHeUpoSTlCO0VBckRKLEFBTVcsbUJBTkQsQUFDTixJQUFLLENuRGhGSixJQUFJLEVtRHFGRyx3QkFBSyxDQUFDO0lBQ0gsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLE9BQU8sRXpKNEtmLFNBQTJCO0l5SjNLbkIsVUFBVSxFM0o5RW5CLElBQUk7STJKK0VLLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDM0pyRTlCLE9BQU87STJKc0VNLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFVBQVUsRTNKZnJCLElBQUcsQ0FBQyxRQUFRLEcySjBCSjtJQXpCWixBQWdCZSxtQkFoQkwsQUFDTixJQUFLLENuRGhGSixJQUFJLEVtRHFGRyx3QkFBSyxBQVVELE1BQU0sQ0FBQztNQUNKLGVBQWUsRUFBRSxJQUFJO01BQ3JCLEtBQUssRTNKaEd0QixPQUFPO00ySmlHVSxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzNKdkY5QixJQUFJLEcySjRGTTtNQXhCaEIsQUFxQm1CLG1CQXJCVCxBQUNOLElBQUssQ25EaEZKLElBQUksRW1EcUZHLHdCQUFLLEFBVUQsTUFBTSxDQUtILDBCQUEwQixDQUFDO1FBQ3ZCLFNBQVMsRUFBRSxVQUFVLEdBQ3hCO0VBdkJwQixBQTJCVyxtQkEzQkQsQUFDTixJQUFLLENuRGhGSixJQUFJLEVtRDBHRywwQkFBTyxDQUFDO0lBQ0wsS0FBSyxFM0o1R2xCLE9BQU87SUUrTlYsU0FBUyxFQXNDRCxJQUEyQjtJQXJDbkMsV0FBVyxFeUpuSCtCLE1BQUU7SUFDNUIsYUFBYSxFQUFFLENBQUMsR0FDbkI7RUEvQlosQUFpQ1csbUJBakNELEFBQ04sSUFBSyxDbkRoRkosSUFBSSxFbURnSEcsMEJBQU8sQ0FBQztJQUNMLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFekprSmpCLElBQTJCO0l5SmpKbkIsTUFBTSxFekppSmQsSUFBMkI7SXlKaEpuQixhQUFhLEV6SmdKckIsU0FBMkI7SXlKL0luQixVQUFVLEUzSnZDckIsSUFBRyxDQUFDLFFBQVEsRzJKd0NKO0VBdkNaLEFBMENPLG1CQTFDRyxBQUNOLElBQUssQ25EaEZKLElBQUksRW1EeUhGLHNCQUFzQixDQUFDO0lBQ25CLEtBQUssRXpKMElULE1BQTJCO0l5SnpJdkIsTUFBTSxFekp5SVYsTUFBMkI7SXlKeEl2QixJQUFJLEV6SndJUixTQUEyQixHeUp2STFCO0VBOUNSLEFBZ0RPLG1CQWhERyxBQUNOLElBQUssQ25EaEZKLElBQUksRW1EK0hGLHNCQUFzQixDQUFDO0lBQ25CLEtBQUssRXpKb0lULE1BQTJCO0l5Sm5JdkIsTUFBTSxFekptSVYsTUFBMkI7SXlKbEl2QixLQUFLLEV6SmtJVCxTQUEyQixHeUpqSTFCOztBM0R0SSsvQyxBQUFBLGNBQWMsQzJENEk3Z0Q7RUFDTCxLQUFLLEV6SjBIRCxRQUEyQjtFeUp6SC9CLE1BQU0sRXpKeUhGLFFBQTJCO0V5SnhIL0IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFQUFFLHNCQUFtQjtFQUMvQixHQUFHLEVBQUUsR0FBRztFQUNSLFNBQVMsRUFBRSxnQkFBZ0I7RUFDM0IsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEUzSm5FVCxJQUFHLENBQUMsUUFBUTtFMkpvRWIsYUFBYSxFQUFFLENBQUMsR0FPbkI7RTNENUpvdUQsQUFBQSxjQUFjLENBQUMsR0FBRyxDMkR1Si91RDtJQUNBLElBQUksRTNKMUlMLElBQUk7STJKMklILEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFQUFFLEtBQUssR0FDaEI7O0EzRDNKK2pCLEFBQUEsY0FBYyxDMkQ4SnprQjtFQUNMLE9BQU8sRUFBRSxHQUFHLEdBQ2Y7O0FBRUEsQUFHVyxpQkFIRCxDQUdFLG9CQUFNLENBQUM7RUFDSixLQUFLLEVBQUUsQ0FBQyxHQUNYOztBQUxaLEFBT1csaUJBUEQsQ0FPRSxvQkFBTSxDQUFDO0VBQ0osSUFBSSxFQUFFLENBQUMsR0FDVjs7QXpKaEtiLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RTBKeUh2QyxBQTVGSSxrQkE0RmMsQ0E1RmQsY0FBYyxBQUFBLE9BQU87RUE0RnpCLGtCQUFrQixDQTNGZCxtQkFBbUI7RUEyRnZCLGtCQUFrQixDQTFGZCxtQkFBbUIsQ0FBQztJQUNoQixPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQXdGTCxBQXRGSSxrQkFzRmMsQ0F0RmQsZUFBZSxDQUFDO0lBQ1osUUFBUSxFQUFFLE9BQU8sR0FrRHBCO0lBbUNMLEFBbkZRLGtCQW1GVSxDQXRGZCxlQUFlLENBR1gsY0FBYyxDQUFDO01BR1gsWUFBWSxFQUFFLE9BQU8sR0FnQ3hCO01BZ0RULEFBaEhJLGtCQWdIYyxDQXRGZCxlQUFlLENBR1gsY0FBYyxBQUtULE9BQU8sR0FsQ2QsY0FBYyxHQUFFLGNBQWMsRUFnSHBDLGtCQUFrQixDQXRGZCxlQUFlLENBR1gsY0FBYyxBQUtULE9BQU8sR0FsQ21CLGNBQWMsQ0FBN0I7UUFvQ0osT0FBTyxFQUFFLElBQUksR0FsQzVCO01BOEdMLEFBeEVnQixrQkF3RUUsQ0F0RmQsZUFBZSxDQUdYLGNBQWMsQUFLVCxPQUFPLEFBTUgsSUFBSyxDdkZYRSxvQkFBb0IsQ3VGV0QsSUFBSyxDdkZoQnhCLG1CQUFtQixFdUZnQjBCO1FBQ2pELFVBQVUsRUFBRSxJQUFJLEdBS25CO1FBa0VqQixBQWhISSxrQkFnSGMsQ0F0RmQsZUFBZSxDQUdYLGNBQWMsQUFLVCxPQUFPLEFBTUgsSUFBSyxDdkZYRSxvQkFBb0IsQ3VGV0QsSUFBSyxDdkZoQnhCLG1CQUFtQixJdUZ4QnJDLGNBQWMsQ0FBSTtVQTRDQSxVQUFVLEVBQUUsSUFBSSxHQTFDbkM7TUE4R0wsQUFsR0ksa0JBa0djLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxHQXBCZCxjQUFjLEdBQUUsY0FBYyxDQUFaO1FBb0NKLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEdBQUcsRUFBRSxDQUFDO1FBQ04sS0FBSyxFQUFJLElBQTRCO1FBQ3JDLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLElBQUk7UUFDYixVQUFVLEVBQUUsT0FBTztRQUNuQixNQUFNLEVBQUUsSUFBSSxHQXhDM0I7TUFnR0wsQUFyRFksa0JBcURNLENBdEZkLGVBQWUsQ0FpQ04sbUJBQUssRUFxRGxCLGtCQUFrQixDQXRGZCxlQUFlLENBa0NOLG1CQUFLLENBQUM7UUFDSCxRQUFRLEVBQUUsUUFBUTtRQUNsQixTQUFTLEVBQUUsb0JBQW9CLEdBQ2xDO0lBaURiLEFBN0NRLGtCQTZDVSxDQXRGZCxlQUFlLENBeUNYLG1CQUFtQixBQUFBLG9CQUFvQixDQUFDO01BQ3BDLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxJQUFJO01BQ2IsVUFBVSxFQUFFLE9BQU87TUFDbkIsTUFBTSxFQUFFLElBQUk7TUFDWixTQUFTLEVBQUUsdUJBQXVCLEdBQ3JDO0VBb0NULEFBaENJLGtCQWdDYyxDQWhDZCxPQUFPLEFBQUEsbUJBQW1CLEdBQUcsbUJBQW1CLEFBQUEsbUJBQW1CLENBQUM7SUFDaEUsUUFBUSxFQUFFLFFBQVE7SUFDbEIsU0FBUyxFQUFFLHdCQUF3QjtJQUNuQyxVQUFVLEVBQUUsT0FBTyxHQUN0QjtFQTRCTCxBQWhISSxrQkFnSGMsQ0ExQmQsbUJBQW1CLEFBQUEsbUJBQW1CLEdBdEZwQyxjQUFjLEdBQUUsY0FBYyxFQWdIcEMsa0JBQWtCLENBMUJkLG1CQUFtQixBQUFBLG1CQUFtQixHQXRGSCxjQUFjLENBQTdCO0lBd0ZaLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFNBQVMsRUFBRSx3QkFBd0I7SUFDbkMsVUFBVSxFQUFFLE9BQU8sR0F4RjFCO0VBOEdMLEFBakJJLGtCQWlCYyxDQWpCZCxPQUFPLEFBQUEsb0JBQW9CLEdBQUcsbUJBQW1CLEFBQUEsb0JBQW9CLENBQUM7SUFDbEUsUUFBUSxFQUFFLFFBQVE7SUFDbEIsU0FBUyxFQUFFLHVCQUF1QjtJQUNsQyxPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxPQUFPLEdBQ3RCO0VBWUwsQUFoSEksa0JBZ0hjLENBVmQsbUJBQW1CLEFBQUEsb0JBQW9CLEdBdEdyQyxjQUFjLEdBQUUsY0FBYyxFQWdIcEMsa0JBQWtCLENBVmQsbUJBQW1CLEFBQUEsb0JBQW9CLEdBdEdKLGNBQWMsQ0FBN0I7SUF3R1osUUFBUSxFQUFFLFFBQVE7SUFDbEIsU0FBUyxFQUFFLHVCQUF1QjtJQUNsQyxPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxPQUFPLEdBekcxQjs7QUE4R0wsQUFLSSxrQkFMYyxBQUtiLFFBQVEsQ0FBQztFQUNOLE9BQU8sRUFBRSxJQUFJO0VBRWIsYUFBYSxFQUFFLElBQUk7RUFDbkIsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPLEVBQUUseUJBQXlCLEdBQ3JDOztBQUVELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxLQUFLO0VBYm5ELEFBS0ksa0JBTGMsQUFLYixRQUFRLENBU0s7SUFDTixPQUFPLEVBQUUsa0NBQWtDLEdBQzlDO0VBaEJULEFBNUZJLGtCQTRGYyxDQTVGZCxjQUFjLEFBQUEsT0FBTztFQTRGekIsa0JBQWtCLENBM0ZkLG1CQUFtQjtFQTJGdkIsa0JBQWtCLENBMUZkLG1CQUFtQixDQUFDO0lBQ2hCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBd0ZMLEFBdEZJLGtCQXNGYyxDQXRGZCxlQUFlLENBQUM7SUFDWixRQUFRLEVBQUUsT0FBTyxHQWtEcEI7SUFtQ0wsQUFuRlEsa0JBbUZVLENBdEZkLGVBQWUsQ0FHWCxjQUFjLENBQUM7TUFHWCxZQUFZLEVBQUUsT0FBTyxHQWdDeEI7TUFnRFQsQUFoSEksa0JBZ0hjLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxHQWxDZCxjQUFjLEdBQUUsY0FBYyxFQWdIcEMsa0JBQWtCLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxHQWxDbUIsY0FBYyxDQUE3QjtRQW9DSixPQUFPLEVBQUUsSUFBSSxHQWxDNUI7TUE4R0wsQUF4RWdCLGtCQXdFRSxDQXRGZCxlQUFlLENBR1gsY0FBYyxBQUtULE9BQU8sQUFNSCxJQUFLLEN2RlhFLG9CQUFvQixDdUZXRCxJQUFLLEN2RmhCeEIsbUJBQW1CLEV1RmdCMEI7UUFDakQsVUFBVSxFQUFFLElBQUksR0FLbkI7UUFrRWpCLEFBaEhJLGtCQWdIYyxDQXRGZCxlQUFlLENBR1gsY0FBYyxBQUtULE9BQU8sQUFNSCxJQUFLLEN2RlhFLG9CQUFvQixDdUZXRCxJQUFLLEN2RmhCeEIsbUJBQW1CLEl1RnhCckMsY0FBYyxDQUFJO1VBNENBLFVBQVUsRUFBRSxJQUFJLEdBMUNuQztNQThHTCxBQWxHSSxrQkFrR2MsQ0F0RmQsZUFBZSxDQUdYLGNBQWMsQUFLVCxPQUFPLEdBcEJkLGNBQWMsR0FBRSxjQUFjLENBQVo7UUFvQ0osUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLENBQUM7UUFDTixLQUFLLEVBQUksSUFBNEI7UUFDckMsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsSUFBSTtRQUNiLFVBQVUsRUFBRSxPQUFPO1FBQ25CLE1BQU0sRUFBRSxJQUFJLEdBeEMzQjtNQWdHTCxBQXJEWSxrQkFxRE0sQ0F0RmQsZUFBZSxDQWlDTixtQkFBSyxFQXFEbEIsa0JBQWtCLENBdEZkLGVBQWUsQ0FrQ04sbUJBQUssQ0FBQztRQUNILFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFNBQVMsRUFBRSxvQkFBb0IsR0FDbEM7SUFpRGIsQUE3Q1Esa0JBNkNVLENBdEZkLGVBQWUsQ0F5Q1gsbUJBQW1CLEFBQUEsb0JBQW9CLENBQUM7TUFDcEMsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLENBQUM7TUFDTixLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLElBQUk7TUFDYixVQUFVLEVBQUUsT0FBTztNQUNuQixNQUFNLEVBQUUsSUFBSTtNQUNaLFNBQVMsRUFBRSx1QkFBdUIsR0FDckM7RUFvQ1QsQUFoQ0ksa0JBZ0NjLENBaENkLE9BQU8sQUFBQSxtQkFBbUIsR0FBRyxtQkFBbUIsQUFBQSxtQkFBbUIsQ0FBQztJQUNoRSxRQUFRLEVBQUUsUUFBUTtJQUNsQixTQUFTLEVBQUUsd0JBQXdCO0lBQ25DLFVBQVUsRUFBRSxPQUFPLEdBQ3RCO0VBNEJMLEFBaEhJLGtCQWdIYyxDQTFCZCxtQkFBbUIsQUFBQSxtQkFBbUIsR0F0RnBDLGNBQWMsR0FBRSxjQUFjLEVBZ0hwQyxrQkFBa0IsQ0ExQmQsbUJBQW1CLEFBQUEsbUJBQW1CLEdBdEZILGNBQWMsQ0FBN0I7SUF3RlosUUFBUSxFQUFFLFFBQVE7SUFDbEIsU0FBUyxFQUFFLHdCQUF3QjtJQUNuQyxVQUFVLEVBQUUsT0FBTyxHQXhGMUI7RUE4R0wsQUFqQkksa0JBaUJjLENBakJkLE9BQU8sQUFBQSxvQkFBb0IsR0FBRyxtQkFBbUIsQUFBQSxvQkFBb0IsQ0FBQztJQUNsRSxRQUFRLEVBQUUsUUFBUTtJQUNsQixTQUFTLEVBQUUsdUJBQXVCO0lBQ2xDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLE9BQU8sR0FDdEI7RUFZTCxBQWhISSxrQkFnSGMsQ0FWZCxtQkFBbUIsQUFBQSxvQkFBb0IsR0F0R3JDLGNBQWMsR0FBRSxjQUFjLEVBZ0hwQyxrQkFBa0IsQ0FWZCxtQkFBbUIsQUFBQSxvQkFBb0IsR0F0R0osY0FBYyxDQUE3QjtJQXdHWixRQUFRLEVBQUUsUUFBUTtJQUNsQixTQUFTLEVBQUUsdUJBQXVCO0lBQ2xDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLE9BQU8sR0F6RzFCOztBQWtJRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssT0FBTyxTQUFTLEVBQUUsS0FBSztFQXBCbkQsQUFLSSxrQkFMYyxBQUtiLFFBQVEsQ0FnQks7SUFDTixPQUFPLEVBQUUsa0NBQWtDLEdBQzlDO0VBdkJULEFBNUZJLGtCQTRGYyxDQTVGZCxjQUFjLEFBQUEsT0FBTztFQTRGekIsa0JBQWtCLENBM0ZkLG1CQUFtQjtFQTJGdkIsa0JBQWtCLENBMUZkLG1CQUFtQixDQUFDO0lBQ2hCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBd0ZMLEFBdEZJLGtCQXNGYyxDQXRGZCxlQUFlLENBQUM7SUFDWixRQUFRLEVBQUUsT0FBTyxHQWtEcEI7SUFtQ0wsQUFuRlEsa0JBbUZVLENBdEZkLGVBQWUsQ0FHWCxjQUFjLENBQUM7TUFHWCxZQUFZLEVBQUUsT0FBTyxHQWdDeEI7TUFnRFQsQUFoSEksa0JBZ0hjLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxHQWxDZCxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsRUFnSHBELGtCQUFrQixDQXRGZCxlQUFlLENBR1gsY0FBYyxBQUtULE9BQU8sR0FsQ21DLGNBQWMsR0FBRSxjQUFjLEVBZ0hyRixrQkFBa0IsQ0F0RmQsZUFBZSxDQUdYLGNBQWMsQUFLVCxPQUFPLEdBbENvRSxjQUFjLENBQTlFO1FBb0NKLE9BQU8sRUFBRSxJQUFJLEdBbEM1QjtNQThHTCxBQXhFZ0Isa0JBd0VFLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxBQU1ILElBQUssQ3ZGWEUsb0JBQW9CLEN1RldELElBQUssQ3ZGaEJ4QixtQkFBbUIsRXVGZ0IwQjtRQUNqRCxVQUFVLEVBQUUsSUFBSSxHQUtuQjtRQWtFakIsQUFoSEksa0JBZ0hjLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxBQU1ILElBQUssQ3ZGWEUsb0JBQW9CLEN1RldELElBQUssQ3ZGaEJ4QixtQkFBbUIsSXVGeEJyQyxjQUFjLEdBQUUsY0FBYyxFQWdIcEMsa0JBQWtCLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxBQU1ILElBQUssQ3ZGWEUsb0JBQW9CLEN1RldELElBQUssQ3ZGaEJ4QixtQkFBbUIsSXVGeEJKLGNBQWMsQ0FBN0I7VUE0Q0EsVUFBVSxFQUFFLElBQUksR0ExQ25DO01BOEdMLEFBbEdJLGtCQWtHYyxDQXRGZCxlQUFlLENBR1gsY0FBYyxBQUtULE9BQU8sR0FwQmQsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLENBQTVCO1FBb0NKLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEdBQUcsRUFBRSxDQUFDO1FBQ04sS0FBSyxFQUFJLFVBQTRCO1FBQ3JDLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLElBQUk7UUFDYixVQUFVLEVBQUUsT0FBTztRQUNuQixNQUFNLEVBQUUsSUFBSSxHQXhDM0I7TUFnR0wsQUFyRFksa0JBcURNLENBdEZkLGVBQWUsQ0FpQ04sbUJBQUssRUFxRGxCLGtCQUFrQixDQXRGZCxlQUFlLENBa0NOLG1CQUFLLENBQUM7UUFDSCxRQUFRLEVBQUUsUUFBUTtRQUNsQixTQUFTLEVBQUUsb0JBQW9CLEdBQ2xDO0lBaURiLEFBN0NRLGtCQTZDVSxDQXRGZCxlQUFlLENBeUNYLG1CQUFtQixBQUFBLG9CQUFvQixDQUFDO01BQ3BDLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxJQUFJO01BQ2IsVUFBVSxFQUFFLE9BQU87TUFDbkIsTUFBTSxFQUFFLElBQUk7TUFDWixTQUFTLEVBQUUsdUJBQXVCLEdBQ3JDO0VBb0NULEFBaENJLGtCQWdDYyxDQWhDZCxPQUFPLEFBQUEsbUJBQW1CLEdBQUcsbUJBQW1CLEFBQUEsbUJBQW1CLENBQUM7SUFDaEUsUUFBUSxFQUFFLFFBQVE7SUFDbEIsU0FBUyxFQUFFLHdCQUF3QjtJQUNuQyxVQUFVLEVBQUUsT0FBTyxHQUN0QjtFQTRCTCxBQWhISSxrQkFnSGMsQ0ExQmQsbUJBQW1CLEFBQUEsbUJBQW1CLEdBdEZwQyxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsRUFnSHBELGtCQUFrQixDQTFCZCxtQkFBbUIsQUFBQSxtQkFBbUIsR0F0RmEsY0FBYyxHQUFFLGNBQWMsRUFnSHJGLGtCQUFrQixDQTFCZCxtQkFBbUIsQUFBQSxtQkFBbUIsR0F0RjhDLGNBQWMsQ0FBOUU7SUF3RlosUUFBUSxFQUFFLFFBQVE7SUFDbEIsU0FBUyxFQUFFLHdCQUF3QjtJQUNuQyxVQUFVLEVBQUUsT0FBTyxHQXhGMUI7RUE4R0wsQUFqQkksa0JBaUJjLENBakJkLE9BQU8sQUFBQSxvQkFBb0IsR0FBRyxtQkFBbUIsQUFBQSxvQkFBb0IsQ0FBQztJQUNsRSxRQUFRLEVBQUUsUUFBUTtJQUNsQixTQUFTLEVBQUUsdUJBQXVCO0lBQ2xDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLE9BQU8sR0FDdEI7RUFZTCxBQWhISSxrQkFnSGMsQ0FWZCxtQkFBbUIsQUFBQSxvQkFBb0IsR0F0R3JDLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxFQWdIcEQsa0JBQWtCLENBVmQsbUJBQW1CLEFBQUEsb0JBQW9CLEdBdEdZLGNBQWMsR0FBRSxjQUFjLEVBZ0hyRixrQkFBa0IsQ0FWZCxtQkFBbUIsQUFBQSxvQkFBb0IsR0F0RzZDLGNBQWMsQ0FBOUU7SUF3R1osUUFBUSxFQUFFLFFBQVE7SUFDbEIsU0FBUyxFQUFFLHVCQUF1QjtJQUNsQyxPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxPQUFPLEdBekcxQjs7QUF5SUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLE9BQU8sU0FBUyxFQUFFLE1BQU07RUEzQnBELEFBS0ksa0JBTGMsQUFLYixRQUFRLENBdUJLO0lBQ04sT0FBTyxFQUFFLGtDQUFrQyxHQUM5QztFQTlCVCxBQTVGSSxrQkE0RmMsQ0E1RmQsY0FBYyxBQUFBLE9BQU87RUE0RnpCLGtCQUFrQixDQTNGZCxtQkFBbUI7RUEyRnZCLGtCQUFrQixDQTFGZCxtQkFBbUIsQ0FBQztJQUNoQixPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQXdGTCxBQXRGSSxrQkFzRmMsQ0F0RmQsZUFBZSxDQUFDO0lBQ1osUUFBUSxFQUFFLE9BQU8sR0FrRHBCO0lBbUNMLEFBbkZRLGtCQW1GVSxDQXRGZCxlQUFlLENBR1gsY0FBYyxDQUFDO01BR1gsWUFBWSxFQUFFLE9BQU8sR0FnQ3hCO01BZ0RULEFBaEhJLGtCQWdIYyxDQXRGZCxlQUFlLENBR1gsY0FBYyxBQUtULE9BQU8sR0FsQ2QsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxFQWdIcEUsa0JBQWtCLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxHQWxDbUQsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEVBZ0hySCxrQkFBa0IsQ0F0RmQsZUFBZSxDQUdYLGNBQWMsQUFLVCxPQUFPLEdBbENvRyxjQUFjLEdBQUUsY0FBYyxFQWdIdEosa0JBQWtCLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxHQWxDcUksY0FBYyxDQUEvSTtRQW9DSixPQUFPLEVBQUUsSUFBSSxHQWxDNUI7TUE4R0wsQUF4RWdCLGtCQXdFRSxDQXRGZCxlQUFlLENBR1gsY0FBYyxBQUtULE9BQU8sQUFNSCxJQUFLLEN2RlhFLG9CQUFvQixDdUZXRCxJQUFLLEN2RmhCeEIsbUJBQW1CLEV1RmdCMEI7UUFDakQsVUFBVSxFQUFFLElBQUksR0FLbkI7UUFrRWpCLEFBaEhJLGtCQWdIYyxDQXRGZCxlQUFlLENBR1gsY0FBYyxBQUtULE9BQU8sQUFNSCxJQUFLLEN2RlhFLG9CQUFvQixDdUZXRCxJQUFLLEN2RmhCeEIsbUJBQW1CLEl1RnhCckMsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEVBZ0hwRCxrQkFBa0IsQ0F0RmQsZUFBZSxDQUdYLGNBQWMsQUFLVCxPQUFPLEFBTUgsSUFBSyxDdkZYRSxvQkFBb0IsQ3VGV0QsSUFBSyxDdkZoQnhCLG1CQUFtQixJdUZ4QlksY0FBYyxHQUFFLGNBQWMsRUFnSHJGLGtCQUFrQixDQXRGZCxlQUFlLENBR1gsY0FBYyxBQUtULE9BQU8sQUFNSCxJQUFLLEN2RlhFLG9CQUFvQixDdUZXRCxJQUFLLEN2RmhCeEIsbUJBQW1CLEl1RnhCNkMsY0FBYyxDQUE5RTtVQTRDQSxVQUFVLEVBQUUsSUFBSSxHQTFDbkM7TUE4R0wsQUFsR0ksa0JBa0djLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxHQXBCZCxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLENBQTVDO1FBb0NKLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEdBQUcsRUFBRSxDQUFDO1FBQ04sS0FBSyxFQUFJLElBQTRCO1FBQ3JDLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLElBQUk7UUFDYixVQUFVLEVBQUUsT0FBTztRQUNuQixNQUFNLEVBQUUsSUFBSSxHQXhDM0I7TUFnR0wsQUFyRFksa0JBcURNLENBdEZkLGVBQWUsQ0FpQ04sbUJBQUssRUFxRGxCLGtCQUFrQixDQXRGZCxlQUFlLENBa0NOLG1CQUFLLENBQUM7UUFDSCxRQUFRLEVBQUUsUUFBUTtRQUNsQixTQUFTLEVBQUUsb0JBQW9CLEdBQ2xDO0lBaURiLEFBN0NRLGtCQTZDVSxDQXRGZCxlQUFlLENBeUNYLG1CQUFtQixBQUFBLG9CQUFvQixDQUFDO01BQ3BDLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxJQUFJO01BQ2IsVUFBVSxFQUFFLE9BQU87TUFDbkIsTUFBTSxFQUFFLElBQUk7TUFDWixTQUFTLEVBQUUsdUJBQXVCLEdBQ3JDO0VBb0NULEFBaENJLGtCQWdDYyxDQWhDZCxPQUFPLEFBQUEsbUJBQW1CLEdBQUcsbUJBQW1CLEFBQUEsbUJBQW1CLENBQUM7SUFDaEUsUUFBUSxFQUFFLFFBQVE7SUFDbEIsU0FBUyxFQUFFLHdCQUF3QjtJQUNuQyxVQUFVLEVBQUUsT0FBTyxHQUN0QjtFQTRCTCxBQWhISSxrQkFnSGMsQ0ExQmQsbUJBQW1CLEFBQUEsbUJBQW1CLEdBdEZwQyxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEVBZ0hwRSxrQkFBa0IsQ0ExQmQsbUJBQW1CLEFBQUEsbUJBQW1CLEdBdEY2QixjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsRUFnSHJILGtCQUFrQixDQTFCZCxtQkFBbUIsQUFBQSxtQkFBbUIsR0F0RjhFLGNBQWMsR0FBRSxjQUFjLEVBZ0h0SixrQkFBa0IsQ0ExQmQsbUJBQW1CLEFBQUEsbUJBQW1CLEdBdEYrRyxjQUFjLENBQS9JO0lBd0ZaLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFNBQVMsRUFBRSx3QkFBd0I7SUFDbkMsVUFBVSxFQUFFLE9BQU8sR0F4RjFCO0VBOEdMLEFBakJJLGtCQWlCYyxDQWpCZCxPQUFPLEFBQUEsb0JBQW9CLEdBQUcsbUJBQW1CLEFBQUEsb0JBQW9CLENBQUM7SUFDbEUsUUFBUSxFQUFFLFFBQVE7SUFDbEIsU0FBUyxFQUFFLHVCQUF1QjtJQUNsQyxPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxPQUFPLEdBQ3RCO0VBWUwsQUFoSEksa0JBZ0hjLENBVmQsbUJBQW1CLEFBQUEsb0JBQW9CLEdBdEdyQyxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEVBZ0hwRSxrQkFBa0IsQ0FWZCxtQkFBbUIsQUFBQSxvQkFBb0IsR0F0RzRCLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxFQWdIckgsa0JBQWtCLENBVmQsbUJBQW1CLEFBQUEsb0JBQW9CLEdBdEc2RSxjQUFjLEdBQUUsY0FBYyxFQWdIdEosa0JBQWtCLENBVmQsbUJBQW1CLEFBQUEsb0JBQW9CLEdBdEc4RyxjQUFjLENBQS9JO0lBd0daLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFNBQVMsRUFBRSx1QkFBdUI7SUFDbEMsT0FBTyxFQUFFLElBQUk7SUFDYixVQUFVLEVBQUUsT0FBTyxHQXpHMUI7O0FBZ0pELE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQWxDN0IsQUFLSSxrQkFMYyxBQUtiLFFBQVEsQ0E4Qks7SUFDTixPQUFPLEVBQUUseUJBQXlCLEdBQ3JDO0VBckNULEFBNUZJLGtCQTRGYyxDQTVGZCxjQUFjLEFBQUEsT0FBTztFQTRGekIsa0JBQWtCLENBM0ZkLG1CQUFtQjtFQTJGdkIsa0JBQWtCLENBMUZkLG1CQUFtQixDQUFDO0lBQ2hCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBd0ZMLEFBdEZJLGtCQXNGYyxDQXRGZCxlQUFlLENBQUM7SUFDWixRQUFRLEVBQUUsT0FBTyxHQWtEcEI7SUFtQ0wsQUFuRlEsa0JBbUZVLENBdEZkLGVBQWUsQ0FHWCxjQUFjLENBQUM7TUFHWCxZQUFZLEVBQUUsT0FBTyxHQWdDeEI7TUFnRFQsQUFoSEksa0JBZ0hjLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxHQWxDZCxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsRUFnSHBHLGtCQUFrQixDQXRGZCxlQUFlLENBR1gsY0FBYyxBQUtULE9BQU8sR0FsQ21GLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEVBZ0hyTCxrQkFBa0IsQ0F0RmQsZUFBZSxDQUdYLGNBQWMsQUFLVCxPQUFPLEdBbENvSyxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEVBZ0h0UCxrQkFBa0IsQ0F0RmQsZUFBZSxDQUdYLGNBQWMsQUFLVCxPQUFPLEdBbENxTyxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsRUFnSHZTLGtCQUFrQixDQXRGZCxlQUFlLENBR1gsY0FBYyxBQUtULE9BQU8sR0FsQ3NSLGNBQWMsR0FBRSxjQUFjLEVBZ0h4VSxrQkFBa0IsQ0F0RmQsZUFBZSxDQUdYLGNBQWMsQUFLVCxPQUFPLEdBbEN1VCxjQUFjLENBQWpVO1FBb0NKLE9BQU8sRUFBRSxJQUFJLEdBbEM1QjtNQThHTCxBQXhFZ0Isa0JBd0VFLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxBQU1ILElBQUssQ3ZGWEUsb0JBQW9CLEN1RldELElBQUssQ3ZGaEJ4QixtQkFBbUIsRXVGZ0IwQjtRQUNqRCxVQUFVLEVBQUUsSUFBSSxHQUtuQjtRQWtFakIsQUFoSEksa0JBZ0hjLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxBQU1ILElBQUssQ3ZGWEUsb0JBQW9CLEN1RldELElBQUssQ3ZGaEJ4QixtQkFBbUIsSXVGeEJyQyxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxFQWdIcEYsa0JBQWtCLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxBQU1ILElBQUssQ3ZGWEUsb0JBQW9CLEN1RldELElBQUssQ3ZGaEJ4QixtQkFBbUIsSXVGeEI0QyxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEVBZ0hySixrQkFBa0IsQ0F0RmQsZUFBZSxDQUdYLGNBQWMsQUFLVCxPQUFPLEFBTUgsSUFBSyxDdkZYRSxvQkFBb0IsQ3VGV0QsSUFBSyxDdkZoQnhCLG1CQUFtQixJdUZ4QjZHLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxFQWdIdE0sa0JBQWtCLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxBQU1ILElBQUssQ3ZGWEUsb0JBQW9CLEN1RldELElBQUssQ3ZGaEJ4QixtQkFBbUIsSXVGeEI4SixjQUFjLEdBQUUsY0FBYyxFQWdIdk8sa0JBQWtCLENBdEZkLGVBQWUsQ0FHWCxjQUFjLEFBS1QsT0FBTyxBQU1ILElBQUssQ3ZGWEUsb0JBQW9CLEN1RldELElBQUssQ3ZGaEJ4QixtQkFBbUIsSXVGeEIrTCxjQUFjLENBQWhPO1VBNENBLFVBQVUsRUFBRSxJQUFJLEdBMUNuQztNQThHTCxBQWxHSSxrQkFrR2MsQ0F0RmQsZUFBZSxDQUdYLGNBQWMsQUFLVCxPQUFPLEdBcEJkLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxDQUE1RTtRQW9DSixRQUFRLEVBQUUsUUFBUTtRQUNsQixHQUFHLEVBQUUsQ0FBQztRQUNOLEtBQUssRUFBSSxVQUE0QjtRQUNyQyxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxJQUFJO1FBQ2IsVUFBVSxFQUFFLE9BQU87UUFDbkIsTUFBTSxFQUFFLElBQUksR0F4QzNCO01BZ0dMLEFBckRZLGtCQXFETSxDQXRGZCxlQUFlLENBaUNOLG1CQUFLLEVBcURsQixrQkFBa0IsQ0F0RmQsZUFBZSxDQWtDTixtQkFBSyxDQUFDO1FBQ0gsUUFBUSxFQUFFLFFBQVE7UUFDbEIsU0FBUyxFQUFFLG9CQUFvQixHQUNsQztJQWlEYixBQTdDUSxrQkE2Q1UsQ0F0RmQsZUFBZSxDQXlDWCxtQkFBbUIsQUFBQSxvQkFBb0IsQ0FBQztNQUNwQyxRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsQ0FBQztNQUNOLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsSUFBSTtNQUNiLFVBQVUsRUFBRSxPQUFPO01BQ25CLE1BQU0sRUFBRSxJQUFJO01BQ1osU0FBUyxFQUFFLHVCQUF1QixHQUNyQztFQW9DVCxBQWhDSSxrQkFnQ2MsQ0FoQ2QsT0FBTyxBQUFBLG1CQUFtQixHQUFHLG1CQUFtQixBQUFBLG1CQUFtQixDQUFDO0lBQ2hFLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFNBQVMsRUFBRSx3QkFBd0I7SUFDbkMsVUFBVSxFQUFFLE9BQU8sR0FDdEI7RUE0QkwsQUFoSEksa0JBZ0hjLENBMUJkLG1CQUFtQixBQUFBLG1CQUFtQixHQXRGcEMsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEVBZ0hwRyxrQkFBa0IsQ0ExQmQsbUJBQW1CLEFBQUEsbUJBQW1CLEdBdEY2RCxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxFQWdIckwsa0JBQWtCLENBMUJkLG1CQUFtQixBQUFBLG1CQUFtQixHQXRGOEksY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxFQWdIdFAsa0JBQWtCLENBMUJkLG1CQUFtQixBQUFBLG1CQUFtQixHQXRGK00sY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEVBZ0h2UyxrQkFBa0IsQ0ExQmQsbUJBQW1CLEFBQUEsbUJBQW1CLEdBdEZnUSxjQUFjLEdBQUUsY0FBYyxFQWdIeFUsa0JBQWtCLENBMUJkLG1CQUFtQixBQUFBLG1CQUFtQixHQXRGaVMsY0FBYyxDQUFqVTtJQXdGWixRQUFRLEVBQUUsUUFBUTtJQUNsQixTQUFTLEVBQUUsd0JBQXdCO0lBQ25DLFVBQVUsRUFBRSxPQUFPLEdBeEYxQjtFQThHTCxBQWpCSSxrQkFpQmMsQ0FqQmQsT0FBTyxBQUFBLG9CQUFvQixHQUFHLG1CQUFtQixBQUFBLG9CQUFvQixDQUFDO0lBQ2xFLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFNBQVMsRUFBRSx1QkFBdUI7SUFDbEMsT0FBTyxFQUFFLElBQUk7SUFDYixVQUFVLEVBQUUsT0FBTyxHQUN0QjtFQVlMLEFBaEhJLGtCQWdIYyxDQVZkLG1CQUFtQixBQUFBLG9CQUFvQixHQXRHckMsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEVBZ0hwRyxrQkFBa0IsQ0FWZCxtQkFBbUIsQUFBQSxvQkFBb0IsR0F0RzRELGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEVBZ0hyTCxrQkFBa0IsQ0FWZCxtQkFBbUIsQUFBQSxvQkFBb0IsR0F0RzZJLGNBQWMsR0FBRSxjQUFjLEdBQUUsY0FBYyxHQUFFLGNBQWMsRUFnSHRQLGtCQUFrQixDQVZkLG1CQUFtQixBQUFBLG9CQUFvQixHQXRHOE0sY0FBYyxHQUFFLGNBQWMsR0FBRSxjQUFjLEVBZ0h2UyxrQkFBa0IsQ0FWZCxtQkFBbUIsQUFBQSxvQkFBb0IsR0F0RytQLGNBQWMsR0FBRSxjQUFjLEVBZ0h4VSxrQkFBa0IsQ0FWZCxtQkFBbUIsQUFBQSxvQkFBb0IsR0F0R2dTLGNBQWMsQ0FBalU7SUF3R1osUUFBUSxFQUFFLFFBQVE7SUFDbEIsU0FBUyxFQUFFLHVCQUF1QjtJQUNsQyxPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxPQUFPLEdBekcxQjs7QUN0QkwsQUFFSSxNQUZFLEFBRUQsSUFBSyxDckRDQSxJQUFJLEVxRERFO0VBQ1IsVUFBVSxFQUFFLHFCQUFvQjtFQUNoQyxPQUFPLEVBQUUsTUFBTSxHQXFObEI7RUF6TkwsQUFNUSxNQU5GLEFBRUQsSUFBSyxDckRDQSxJQUFJLEVxREdOLGFBQWEsQ0FBQztJQUNWLFVBQVUsRTdKcUZiLGdCQUFnQjtJNkpwRmIsU0FBUyxFM0orUFQsU0FBMkI7STJKOVAzQixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSSxHQU1yQjtJcEo0Q0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO01vSjVEN0IsQUFNUSxNQU5GLEFBRUQsSUFBSyxDckRDQSxJQUFJLEVxREdOLGFBQWEsQ0FBQztRQU9OLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFlBQVksRUFBRSxJQUFJLEdBRXpCO0VBaEJULEFBa0JRLE1BbEJGLEFBRUQsSUFBSyxDckRDQSxJQUFJLEVxRGVOLGNBQWMsQ0FBQztJQUNYLFVBQVUsRTdKeUViLGdCQUFnQjtJNkp4RWIsYUFBYSxFQUFFLENBQUM7SUFDaEIsTUFBTSxFQUFFLENBQUMsR0FDWjtFQXRCVCxBQXdCUSxNQXhCRixBQUVELElBQUssQ3JEQ0EsSUFBSSxFcURxQk4sYUFBYSxDQUFDO0lBQ1YsYUFBYSxFQUFFLENBQUM7SUFDaEIsVUFBVSxFN0prRWIsZ0JBQWdCO0k2SmpFYixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRTNKMk9OLFNBQTJCLEcySjFPOUI7RUE3QlQsQUErQlEsTUEvQkYsQUFFRCxJQUFLLENyRENBLElBQUksRXFENEJOLFdBQVcsQ0FBQztJQUNSLFVBQVUsRTdKbEJYLElBQUk7STZKbUJILE9BQU8sRTNKc09QLFFBQTJCLENBQTNCLE1BQTJCLEcySnJPOUI7RUFsQ1QsQUFvQ1EsTUFwQ0YsQUFFRCxJQUFLLENyRENBLElBQUksRXFEaUNOLE1BQU0sQ0FBQztJQUNILFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxLQUFLLEUzSitOTCxRQUEyQjtJMko5TjNCLE1BQU0sRTNKOE5OLFFBQTJCO0kySjdOM0IsR0FBRyxFQUFFLENBQUM7SUFDTixLQUFLLEVBQUUsQ0FBQztJQUNSLElBQUksRUFBRSxJQUFJO0lBQ1YsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEU3Sm1DYixJQUFHLENBQUMsUUFBUSxHNkpyQlo7SUE1RFQsQUFnRFksTUFoRE4sQUFFRCxJQUFLLENyRENBLElBQUksRXFEaUNOLE1BQU0sQUFZRCxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTztNQUNoQixRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsQ0FBQztNQUNOLElBQUksRUFBRSxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNM0p1THBCLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNMkpyTHhELEtBQUssRTdKMUNWLElBQUk7TTZKMkNDLFNBQVMsRTNKOE1iLFFBQTJCO00ySjdNdkIsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUEzRGIsQUE4RFEsTUE5REYsQUFFRCxJQUFLLENyRENBLElBQUksRXFEMkROLElBQUksQ0FBQztJQUNELE1BQU0sRUFBRSxDQUFDLEMzSndNVCxPQUEyQixDMkp4TU4sQ0FBQyxDQUFDLENBQUMsR0FDM0I7RUFoRVQsQUFtRVksTUFuRU4sQUFFRCxJQUFLLENyRENBLElBQUksQ3FEK0RMLE1BQU0sQ0FDSCxXQUFXLENBQUM7SUFDUixPQUFPLEVBQUUsQ0FBQyxHQUtiO0lwSmJULE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNb0o1RDVCLEFBbUVZLE1BbkVOLEFBRUQsSUFBSyxDckRDQSxJQUFJLENxRCtETCxNQUFNLENBQ0gsV0FBVyxDQUFDO1FBSUosT0FBTyxFQUFFLElBQUksR0FFcEI7RUF6RWIsQUE0RWdCLE1BNUVWLEFBRUQsSUFBSyxDckRDQSxJQUFJLENxRHdFRCxZQUFNLENBQ0gsV0FBVyxDQUFDO0lBQ1IsT0FBTyxFM0owTGYsU0FBMkIsQ0FBM0IsT0FBMkI7STJKekxuQixRQUFRLEVBQUUsUUFBUSxHQXFDckI7SXBKdkRiLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNb0o1RDVCLEFBZ0ZvQixNQWhGZCxBQUVELElBQUssQ3JEQ0EsSUFBSSxDcUR3RUQsWUFBTSxDQUNILFdBQVcsQUFJTixPQUFPLENBQUM7UUFFRCxPQUFPLEVBQUUsT0FBTztRQUNoQixRQUFRLEVBQUUsUUFBUTtRQUNsQixNQUFNLEVBQUUsQ0FBQztRQUNULEtBQUssRTNKa0xyQixRQUEyQjtRMkpqTFgsU0FBUyxFM0ppTHpCLFNBQTJCO1EySmhMWCxNQUFNLEUzSmdMdEIsU0FBMkI7UUExQi9CLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtRMkpwSjVDLE9BQU8sRUFBRSxJQUFJO1FBQ2IsV0FBVyxFQUFFLE1BQU07UUFDbkIsZUFBZSxFQUFFLE1BQU07UUFDdkIsT0FBTyxFQUFFLEdBQUcsR0FFbkI7SXBKbENqQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TW9KNUQ1QixBQTRFZ0IsTUE1RVYsQUFFRCxJQUFLLENyRENBLElBQUksQ3FEd0VELFlBQU0sQ0FDSCxXQUFXLENBQUM7UUFxQkosT0FBTyxFM0pzS25CLFFBQTJCLENBQTNCLE1BQTJCLEcySnBKdEI7SXBKdkRiLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNb0o1RDVCLEFBNEVnQixNQTVFVixBQUVELElBQUssQ3JEQ0EsSUFBSSxDcUR3RUQsWUFBTSxDQUNILFdBQVcsQ0FBQztRQXlCSixPQUFPLEVBQUUsWUFBWSxHQWM1QjtJQW5IakIsQUF3R29CLE1BeEdkLEFBRUQsSUFBSyxDckRDQSxJQUFJLENxRHdFRCxZQUFNLENBQ0gsV0FBVyxDQTRCUCxJQUFJLENBQUM7TUFDRCxPQUFPLEVBQUUsS0FBSztNQUNkLFNBQVMsRTNKNkpyQixRQUEyQjtNMko1SmYsYUFBYSxFM0o0SnpCLE9BQTJCLEcySnJKbEI7TXBKdERqQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UW9KNUQ1QixBQXdHb0IsTUF4R2QsQUFFRCxJQUFLLENyRENBLElBQUksQ3FEd0VELFlBQU0sQ0FDSCxXQUFXLENBNEJQLElBQUksQ0FBQztVQU1HLE9BQU8sRUFBRSxZQUFZO1VBQ3JCLGFBQWEsRUFBRSxDQUFDO1VBQ2hCLFNBQVMsRUFBRSxJQUFJLEdBRXRCO0VBbEhyQixBQXdIb0IsTUF4SGQsQUFFRCxJQUFLLENyRENBLElBQUksQ3FEK0RMLE1BQU0sQ0FzRE0sb0JBQU8sQ0FBQztJQUNMLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFM0o2SW5CLFNBQTJCLENBQTNCLE9BQTJCLEcySnBJbEI7SXBKdkVqQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TW9KNUQ1QixBQXdIb0IsTUF4SGQsQUFFRCxJQUFLLENyRENBLElBQUksQ3FEK0RMLE1BQU0sQ0FzRE0sb0JBQU8sQ0FBQztRQUtELE9BQU8sRTNKMEl2QixRQUEyQixDQUEzQixNQUEyQixHMkpwSWxCO0lwSnZFakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01vSjVENUIsQUF3SG9CLE1BeEhkLEFBRUQsSUFBSyxDckRDQSxJQUFJLENxRCtETCxNQUFNLENBc0RNLG9CQUFPLENBQUM7UUFTRCxLQUFLLEVBQUUsY0FBYyxHQUU1QjtFQW5JckIsQUFxSW9CLE1BcklkLEFBRUQsSUFBSyxDckRDQSxJQUFJLENxRCtETCxNQUFNLENBbUVNLGtCQUFLLENBQUM7SUFDSCxVQUFVLEU3SmhJM0IsT0FBTyxHNkppSU87RUF2SXJCLEFBeUlvQixNQXpJZCxBQUVELElBQUssQ3JEQ0EsSUFBSSxDcUQrREwsTUFBTSxDQXVFTSxzQkFBUyxDQUFDO0lBQ1AsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixXQUFXLEVBQUUsVUFBVTtJQUN2QixlQUFlLEVBQUUsYUFBYTtJQUM5QixRQUFRLEVBQUUsUUFBUSxHQWlCckI7SXBKbkdqQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TW9KNUQ1QixBQWdKd0IsTUFoSmxCLEFBRUQsSUFBSyxDckRDQSxJQUFJLENxRCtETCxNQUFNLENBdUVNLHNCQUFTLEFBT0wsT0FBTyxDQUFDO1FBRUQsT0FBTyxFQUFFLE9BQU87UUFDaEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsTUFBTSxFQUFFLENBQUM7UUFDVCxLQUFLLEUzSmtIekIsUUFBMkI7UTJKakhQLFNBQVMsRTNKaUg3QixTQUEyQjtRMkpoSFAsTUFBTSxFM0pnSDFCLFNBQTJCO1FBMUIvQixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7UTJKcEZ4QyxPQUFPLEVBQUUsSUFBSTtRQUNiLFdBQVcsRUFBRSxNQUFNO1FBQ25CLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLE9BQU8sRUFBRSxHQUFHLEdBRW5CO0VBOUp6QixBQW1Lb0IsTUFuS2QsQUFFRCxJQUFLLENyRENBLElBQUksQ3FEK0RMLE1BQU0sQ0FpR00sbUJBQU8sQ0FBQztJQUNMLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFM0prR25CLFNBQTJCLENBQTNCLE9BQTJCO0kySmpHZixVQUFVLEU3SnhKdkIsSUFBSSxHNkorS007SXBKaklqQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TW9KNUQ1QixBQW1Lb0IsTUFuS2QsQUFFRCxJQUFLLENyRENBLElBQUksQ3FEK0RMLE1BQU0sQ0FpR00sbUJBQU8sQ0FBQztRQU1ELE9BQU8sRTNKOEZ2QixRQUEyQixDQUEzQixNQUEyQixHMkoxRWxCO0lwSmpJakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01vSjVENUIsQUFtS29CLE1BbktkLEFBRUQsSUFBSyxDckRDQSxJQUFJLENxRCtETCxNQUFNLENBaUdNLG1CQUFPLENBQUM7UUFVRCxLQUFLLEVBQUUsY0FBYyxHQWdCNUI7SUE3THJCLEFBZ0x3QixNQWhMbEIsQUFFRCxJQUFLLENyRENBLElBQUksQ3FEK0RMLE1BQU0sQ0E4R1UseUJBQU0sQ0FBQztNQUNKLE9BQU8sRTNKc0Z2QixTQUEyQixDQUEzQixPQUEyQixHMkozRWQ7TXBKaElyQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UW9KNUQ1QixBQWdMd0IsTUFoTGxCLEFBRUQsSUFBSyxDckRDQSxJQUFJLENxRCtETCxNQUFNLENBOEdVLHlCQUFNLENBQUM7VUFJQSxPQUFPLEUzSm1GM0IsUUFBMkIsQ0FBM0IsTUFBMkIsRzJKM0VkO01BNUx6QixBQXdMZ0MsTUF4TDFCLEFBRUQsSUFBSyxDckRDQSxJQUFJLENxRCtETCxNQUFNLENBOEdVLHlCQUFNLENBT0gsZ0JBQWdCLEFBQ1gsT0FBTyxDQUFDO1FBQ0wsT0FBTyxFQUFFLElBQUksR0FDaEI7RUExTGpDLEFBK0xvQixNQS9MZCxBQUVELElBQUssQ3JEQ0EsSUFBSSxDcUQrREwsTUFBTSxDQTZITSx5QkFBYSxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixXQUFXLEVBQUUsVUFBVTtJQUN2QixlQUFlLEVBQUUsYUFBYTtJQUM5QixVQUFVLEU3SjlMM0IsT0FBTztJNkorTFUsT0FBTyxFM0prRW5CLFNBQTJCLENBQTNCLE9BQTJCLEcySjdEbEI7SXBKOUlqQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TW9KNUQ1QixBQStMb0IsTUEvTGQsQUFFRCxJQUFLLENyRENBLElBQUksQ3FEK0RMLE1BQU0sQ0E2SE0seUJBQWEsQ0FBQztRQVNQLE9BQU8sRTNKK0R2QixRQUEyQixDQUEzQixNQUEyQixHMko3RGxCO0VBMU1yQixBQTZNZ0IsTUE3TVYsQUFFRCxJQUFLLENyRENBLElBQUksQ3FEK0RMLE1BQU0sQ0EySUUsWUFBTSxDQUFDO0lBQ0osVUFBVSxFN0psSHJCLGdCQUFnQjtJNkptSEwsZUFBZSxFQUFFLE1BQU0sR0FPMUI7SUF0TmpCLEFBa053QixNQWxObEIsQUFFRCxJQUFLLENyRENBLElBQUksQ3FEK0RMLE1BQU0sQ0EySUUsWUFBTSxHQUlDLEdBQUcsQUFDRixhQUFhLENBQUM7TUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFRekIsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLE9BQU8sRUFBRSxZQUFZLEdBMEN4QjtFQTNDRCxBQUdJLGdCQUhZLENBR1osYUFBYSxDQUFDO0lBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQSxVQUFVO0lBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUEsVUFBVTtJQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFBLFVBQVU7SUFDdEIsTUFBTSxFQUFFLENBQUMsQ0FBQSxVQUFVLEdBQ3RCO0VBUkwsQUFVSSxnQkFWWSxDQVVaLGFBQWEsQ0FBQztJQUNWLFVBQVUsRUFBRSxLQUFLLENBQUEsVUFBVSxHQWM5QjtJQXpCTCxBQWFRLGdCQWJRLENBVVosYUFBYSxDQUdULE1BQU0sQUFBQSxPQUFPLENBQUM7TUFDVixPQUFPLEVBQUUsT0FBTztNQUNoQixRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsQ0FBQztNQUNOLElBQUksRUFBRSxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLFdBQVcsRUFBRSw2Q0FBNkM7TUFDMUQsS0FBSyxFQUFFLElBQUk7TUFDWCxTQUFTLEVBQUUsUUFBUTtNQUNuQixXQUFXLEVBQUUsR0FBRyxHQUNuQjtFQXhCVCxBQTJCSSxnQkEzQlksQ0EyQlosY0FBYyxDQUFDO0lBQ1gsTUFBTSxFQUFFLElBQUksQ0FBQSxVQUFVO0lBQ3RCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsYUFBYSxFQUFFLENBQUMsR0FRbkI7SUF0Q0wsQUFnQ1EsZ0JBaENRLENBMkJaLGNBQWMsQ0FLVixNQUFNO0lBaENkLGdCQUFnQixDQTJCWixjQUFjLENBTVYsS0FBSyxDQUFDO01BQ0YsTUFBTSxFQUFFLENBQUM7TUFDVCxLQUFLLEVBQUUsSUFBSSxDQUFBLFVBQVU7TUFDckIsTUFBTSxFQUFFLEdBQUcsQ0FBQSxVQUFVLEdBQ3hCO0VBckNULEFBd0NJLGdCQXhDWSxDQXdDWixXQUFXLENBQUM7SUFDUixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUN0UUwsQUFBQSxLQUFLLENBQUM7RUFFRixVQUFVLEU5SitFTCxJQUFHLENBQUMsUUFBUTtFOEo5RWpCLGVBQWUsRUFBRSxJQUFJLEdBZ0h4QjtFQW5IRCxBQU1JLEtBTkMsQUFNQSxNQUFNLENBQUM7SUFDSixlQUFlLEVBQUUsSUFBSSxHQUN4QjtFQUdBLEFBQUQsUUFBSSxDQUFDO0k1SjBLTCxLQUFLLEVGbkxGLE9BQU87SUVvTFYsVUFBVSxFRjFGTCxnQkFBZ0IsRzhKOUVwQjtJQUhBLEE1SitLRCxRNEovS0ksQTVKK0tILE9BQU8sRTRKL0tQLFFBQUcsQTVKK0tPLE1BQU0sQ0FBQztNQUNkLEtBQUssRUZ4TE4sT0FBTztNRXlMTixVQUFVLEVGaEdULGdCQUFnQixHRXNHcEI7TTRKdkxBLEE1Sm1MRyxRNEpuTEEsQTVKK0tILE9BQU8sQUFJSCxNQUFNLEU0Sm5MVixRQUFHLEE1SitLTyxNQUFNLEFBSVosTUFBTSxDQUFDO1FBQ0osS0FBSyxFRjVMVixPQUFPO1FFNkxGLFVBQVUsRUZwR2IsZ0JBQWdCLEdFcUdoQjtJNEp0TEosQTVKeUxELFE0SnpMSSxBNUp5TEgsT0FBTyxDQUFDO01BQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtNNEovTEEsQTVKNExHLFE0SjVMQSxBNUp5TEgsT0FBTyxBQUdILE1BQU0sQ0FBQztRQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0k0SjlMSixBNUppTUQsUTRKak1JLEE1SmlNSCxNQUFNLENBQUM7TUFDSixLQUFLLEVGMU1OLE9BQU87TUUyTU4sVUFBVSxFRmxIVCxnQkFBZ0I7TUVtSGpCLGVBQWUsRUFBRSxJQUFJLEdBTXhCO000SjFNQSxBNUpzTUcsUTRKdE1BLEE1SmlNSCxNQUFNLEFBS0YsTUFBTSxDQUFDO1FBQ0osVUFBVSxFRnRIYixnQkFBZ0I7UUV1SGIsZUFBZSxFQUFFLElBQUksR0FDeEI7RTRKcE1KLEFBQUQsV0FBTyxDQUFDO0k1SnFLUixLQUFLLEVGN0pGLE9BQU87SUU4SlYsVUFBVSxFRjFGTCxnQkFBZ0I7SThKMUVqQixPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRTVKb1BGLE9BQTJCLEM0SnBQWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FNM0I7SUFUQSxBNUowS0QsVzRKMUtPLEE1SjBLTixPQUFPLEU0SjFLUCxXQUFNLEE1SjBLSSxNQUFNLENBQUM7TUFDZCxLQUFLLEVGbEtOLE9BQU87TUVtS04sVUFBVSxFRmhHVCxnQkFBZ0IsR0VzR3BCO000SmxMQSxBNUo4S0csVzRKOUtHLEE1SjBLTixPQUFPLEFBSUgsTUFBTSxFNEo5S1YsV0FBTSxBNUowS0ksTUFBTSxBQUlaLE1BQU0sQ0FBQztRQUNKLEtBQUssRUZ0S1YsT0FBTztRRXVLRixVQUFVLEVGcEdiLGdCQUFnQixHRXFHaEI7STRKakxKLEE1Sm9MRCxXNEpwTE8sQTVKb0xOLE9BQU8sQ0FBQztNQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7TTRKMUxBLEE1SnVMRyxXNEp2TEcsQTVKb0xOLE9BQU8sQUFHSCxNQUFNLENBQUM7UUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtJNEp6TEosQTVKNExELFc0SjVMTyxBNUo0TE4sTUFBTSxDQUFDO01BQ0osS0FBSyxFRnBMTixPQUFPO01FcUxOLFVBQVUsRUZsSFQsZ0JBQWdCO01FbUhqQixlQUFlLEVBQUUsSUFBSSxHQU14QjtNNEpyTUEsQTVKaU1HLFc0SmpNRyxBNUo0TE4sTUFBTSxBQUtGLE1BQU0sQ0FBQztRQUNKLFVBQVUsRUZ0SGIsZ0JBQWdCO1FFdUhiLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0lBbk1MLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTRKRGxDLEFBQUQsV0FBTyxDQUFDO1FBTUEsT0FBTyxFQUFFLFlBQVk7UUFDckIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDNUpnUGIsT0FBMkIsRzRKOU9sQztFQUVBLEFBQUQsV0FBTyxDQUFDO0k1SnNNUixTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEU0SnRNbUIsTUFBRTtJNUp5SmhDLEtBQUssRUZsTEYsT0FBTztJRW1MVixVQUFVLEVGMUZMLGdCQUFnQjtJOEo5RGpCLFFBQVEsRUFBRSxRQUFRLEdBZXJCO0lBbEJBLEE1SitKRCxXNEovSk8sQTVKK0pOLE9BQU8sRTRKL0pQLFdBQU0sQTVKK0pJLE1BQU0sQ0FBQztNQUNkLEtBQUssRUZ0TE4sT0FBTztNRXVMTixVQUFVLEVGaEdULGdCQUFnQixHRXNHcEI7TTRKdktBLEE1Sm1LRyxXNEpuS0csQTVKK0pOLE9BQU8sQUFJSCxNQUFNLEU0Sm5LVixXQUFNLEE1SitKSSxNQUFNLEFBSVosTUFBTSxDQUFDO1FBQ0osS0FBSyxFRjFMVixPQUFPO1FFMkxGLFVBQVUsRUZwR2IsZ0JBQWdCLEdFcUdoQjtJNEp0S0osQTVKeUtELFc0SnpLTyxBNUp5S04sT0FBTyxDQUFDO01BQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtNNEovS0EsQTVKNEtHLFc0SjVLRyxBNUp5S04sT0FBTyxBQUdILE1BQU0sQ0FBQztRQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0k0SjlLSixBNUppTEQsVzRKakxPLEE1SmlMTixNQUFNLENBQUM7TUFDSixLQUFLLEVGeE1OLE9BQU87TUV5TU4sVUFBVSxFRmxIVCxnQkFBZ0I7TUVtSGpCLGVBQWUsRUFBRSxJQUFJLEdBTXhCO000SjFMQSxBNUpzTEcsVzRKdExHLEE1SmlMTixNQUFNLEFBS0YsTUFBTSxDQUFDO1FBQ0osVUFBVSxFRnRIYixnQkFBZ0I7UUV1SGIsZUFBZSxFQUFFLElBQUksR0FDeEI7STRKekxKLEFBS0csV0FMRyxBQUtGLE1BQU0sQ0FBQztNQUNKLE9BQU8sRUFBRSxPQUFPO01BQ2hCLEtBQUssRTlKL0JWLE9BQU87TUUwT04sV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO000SnpNNUQsV0FBVyxFNUptT1gsUUFBMkI7TTRKbE8zQixVQUFVLEU5SjRDYixJQUFHLENBQUMsUUFBUSxHOEozQ1o7SUFYSixBQWNPLFdBZEQsQUFhRixNQUFNLEFBQ0YsTUFBTSxDQUFDO01BQ0osS0FBSyxFOUpyQ2QsT0FBTyxHOEpzQ0Q7RUFJUixBQUNHLFlBREksQ0FDSixVQUFVLENBQUM7SUFDUCxVQUFVLEU5SmdDYixJQUFHLENBQUMsUUFBUSxHOEovQlo7RUFISixBQU1PLFlBTkEsQUFLSCxNQUFNLENBQ0gsVUFBVSxDQUFDO0lBQ1AsU0FBUyxFQUFFLFdBQVcsR0FDekI7RUFHSixBQUFELGtCQUFPLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxJQUFJLEdBTWY7SUFSQSxBQUlHLGtCQUpHLENBSUgsVUFBVSxDQUFDO01BQ1AsVUFBVSxFQUFFLEtBQUs7TUFDakIsTUFBTSxFQUFFLElBQUksR0FDZjtFQUlSLEFBQUQsYUFBUyxDQUFDO0k1SjRKVixTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEU0SjVKbUIsTUFBRTtJNUorR2hDLEtBQUssRUY5SkYsT0FBTztJRStKVixVQUFVLEVGMUZMLGdCQUFnQjtJOEpwQmpCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQztJQUNULFdBQVcsRUFBRSxHQUFHLEdBOEJuQjtJQXJDQSxBNUpxSEQsYTRKckhTLEE1SnFIUixPQUFPLEU0SnJIUCxhQUFRLEE1SnFIRSxNQUFNLENBQUM7TUFDZCxLQUFLLEVGbktOLE9BQU87TUVvS04sVUFBVSxFRmhHVCxnQkFBZ0IsR0VzR3BCO000SjdIQSxBNUp5SEcsYTRKekhLLEE1SnFIUixPQUFPLEFBSUgsTUFBTSxFNEp6SFYsYUFBUSxBNUpxSEUsTUFBTSxBQUlaLE1BQU0sQ0FBQztRQUNKLEtBQUssRUZ2S1YsT0FBTztRRXdLRixVQUFVLEVGcEdiLGdCQUFnQixHRXFHaEI7STRKNUhKLEE1SitIRCxhNEovSFMsQTVKK0hSLE9BQU8sQ0FBQztNQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7TTRKcklBLEE1SmtJRyxhNEpsSUssQTVKK0hSLE9BQU8sQUFHSCxNQUFNLENBQUM7UUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtJNEpwSUosQTVKdUlELGE0SnZJUyxBNUp1SVIsTUFBTSxDQUFDO01BQ0osS0FBSyxFRnJMTixPQUFPO01Fc0xOLFVBQVUsRUZsSFQsZ0JBQWdCO01FbUhqQixlQUFlLEVBQUUsSUFBSSxHQU14QjtNNEpoSkEsQTVKNElHLGE0SjVJSyxBNUp1SVIsTUFBTSxBQUtGLE1BQU0sQ0FBQztRQUNKLFVBQVUsRUZ0SGIsZ0JBQWdCO1FFdUhiLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0k0Si9JSixBQVNHLGFBVEssQUFTSixNQUFNLEVBVFYsYUFBUSxBQVNLLE9BQU8sQ0FBQztNQUNkLFVBQVUsRUFBRSxJQUFJO01BQ2hCLE9BQU8sRUFBRSxDQUFDLEdBQ2I7SUFaSixBQWNHLGFBZEssQUFjSixPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsRUFBRTtNQUNYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE1BQU0sRUFBRSxDQUFDO01BQ1QsSUFBSSxFQUFFLENBQUM7TUFDUCxLQUFLLEVBQUUscUJBQTBCO01BQ2pDLE1BQU0sRUFBRSxHQUFHO01BQ1gsVUFBVSxFOUpuRWYsT0FBTztNOEpvRUYsVUFBVSxFOUpWYixJQUFHLENBQUMsUUFBUSxHOEpXWjtJQXZCSixBQXlCRyxhQXpCSyxBQXlCSixNQUFNLENBQUM7TUFDSixPQUFPLEVBQUUsT0FBTztNNUppSnBCLFdBQVcsRUZ6S0ksb0JBQW9CLEVFeUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNNEovSTVELFdBQVcsRTVKc0tYLFFBQTJCO000SnJLM0IsS0FBSyxFOUoxRVYsT0FBTyxHOEoyRUw7SUE5QkosQUFpQ08sYUFqQ0MsQUFnQ0osTUFBTSxBQUNGLE9BQU8sQ0FBQztNQUNMLE9BQU8sRUFBRSxDQUFDLEdBQ2I7RUFJUixBQUFELFdBQU8sQ0FBQztJNUp5RVIsS0FBSyxFRjVLRixPQUFPO0lFNktWLFVBQVUsRUYxRkwsZ0JBQWdCLEc4SnNCcEI7SUFOQSxBNUo4RUQsVzRKOUVPLEE1SjhFTixPQUFPLEU0SjlFUCxXQUFNLEE1SjhFSSxNQUFNLENBQUM7TUFDZCxLQUFLLEVGcktOLE9BQU87TUVzS04sVUFBVSxFRmhHVCxnQkFBZ0IsR0VzR3BCO000SnRGQSxBNUprRkcsVzRKbEZHLEE1SjhFTixPQUFPLEFBSUgsTUFBTSxFNEpsRlYsV0FBTSxBNUo4RUksTUFBTSxBQUlaLE1BQU0sQ0FBQztRQUNKLEtBQUssRUZ6S1YsT0FBTztRRTBLRixVQUFVLEVGcEdiLGdCQUFnQixHRXFHaEI7STRKckZKLEE1SndGRCxXNEp4Rk8sQTVKd0ZOLE9BQU8sQ0FBQztNQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7TTRKOUZBLEE1SjJGRyxXNEozRkcsQTVKd0ZOLE9BQU8sQUFHSCxNQUFNLENBQUM7UUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtJNEo3RkosQTVKZ0dELFc0SmhHTyxBNUpnR04sTUFBTSxDQUFDO01BQ0osS0FBSyxFRnZMTixPQUFPO01Fd0xOLFVBQVUsRUZsSFQsZ0JBQWdCO01FbUhqQixlQUFlLEVBQUUsSUFBSSxHQU14QjtNNEp6R0EsQTVKcUdHLFc0SnJHRyxBNUpnR04sTUFBTSxBQUtGLE1BQU0sQ0FBQztRQUNKLFVBQVUsRUZ0SGIsZ0JBQWdCO1FFdUhiLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0k0SnJHQSxBQUFELGNBQUksQ0FBQztNNUprSFQsU0FBUyxFQXNDRCxRQUEyQjtNQXJDbkMsV0FBVyxFNEpsSHVCLE9BQUUsR0FDL0I7O0FDakhULEFBQUEsSUFBSSxDQUFDO0VBQ0QsS0FBSyxFL0phRSxJQUFJO0UrSlpYLFVBQVUsRS9KQ1AsT0FBTztFK0pBVixPQUFPLEU3Sm9RQyxNQUEyQixDQUEzQixTQUEyQjtFNkpuUW5DLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsTUFBTTtFQUNuQixhQUFhLEU3SmdRTCxRQUEyQixHNkozS3RDO0U3SjNFRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0k2SmpCeEMsQUFBQSxJQUFJLENBQUM7TUFVRyxhQUFhLEVBQUUsQ0FBQyxHQWtGdkI7RUEvRUksQUFBRCxZQUFTLENBQUM7SUFDTixLQUFLLEVBQUUsY0FBYztJQUNyQixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQzdKd1BQLE9BQTJCLEM2SnhQUixDQUFDO0lBQ3hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLE9BQU8sRTdKcVBILFFBQTJCLENBQTNCLFFBQTJCO0k2SnBQL0IsVUFBVSxFQUFFLE1BQU0sR0EwRHJCO0l0SmpCRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TXNKL0N2QixBQUFELFlBQVMsQ0FBQztRQVNGLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsZUFBZSxFQUFFLE1BQU0sR0FxRDlCO0k3SjVERCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO002SkpsQyxBQUFELFlBQVMsQ0FBQztRQWVGLEtBQUssRUFBRSx5QkFBOEI7UUFDckMsTUFBTSxFQUFFLENBQUMsQzdKME9ULFNBQTJCLENBQTNCLE9BQTJCLENBQTNCLFNBQTJCLEc2SjFMbEM7STdKNURELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TTZKSm5DLEFBQUQsWUFBUyxDQUFDO1FBb0JGLEtBQUssRUFBRSx5QkFBOEI7UUFDckMsYUFBYSxFQUFFLENBQUMsR0EyQ3ZCO0lBaEVBLEFBd0JHLFlBeEJLLEFBd0JKLE9BQU8sQ0FBQztNQUNMLE9BQU8sRUFBRSxPQUFPO01BQ2hCLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDN0pnT1gsU0FBMkIsQzZKaE9KLENBQUM7TTdKc001QixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TTZKcE01RCxTQUFTLEU3SjhOVCxTQUEyQjtNNko3TjNCLFdBQVcsRUFBRSxNQUFNO01BQ25CLE1BQU0sRTdKNE5OLFFBQTJCO002SjNOM0IsT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTTtNQUNuQixlQUFlLEVBQUUsTUFBTSxHQU0xQjtNdEpRTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UXNKL0N2QixBQXdCRyxZQXhCSyxBQXdCSixPQUFPLENBQUM7VUFZRCxLQUFLLEU3SnNOVCxRQUEyQjtVNkpyTnZCLE1BQU0sRUFBRSxDQUFDLEM3SnFOYixRQUEyQixDNkpyTkYsQ0FBQyxDQUFDLENBQUMsR0FFL0I7SUFFQSxBQUNHLGVBREEsQUFDQyxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTyxHQUNuQjtJQUdKLEFBQ0csZUFEQSxBQUNDLE9BQU8sQ0FBQztNQUNMLE9BQU8sRUFBRSxPQUFPLEdBQ25CO0lBR0osQUFDRyxlQURBLEFBQ0MsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU8sR0FDbkI7SUFHSixBQUNHLGVBREEsQUFDQyxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTyxHQUNuQjtFQUlSLEFBQUQsVUFBTyxDQUFDO0k3SmtKUixTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEU2SmxKbUIsR0FBRTtJQUM1QixLQUFLLEUvSm5FRixJQUFJO0krSm9FUCxhQUFhLEVBQUUsQ0FBQztJQUNoQixPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxNQUFNLEdBT3pCO0lBWkEsQUFPRyxVQVBHLENBT0gsSUFBSSxDQUFDO003SjJJVCxTQUFTLEVBc0NELE1BQTJCO01BckNuQyxXQUFXLEU2SjNJdUIsQ0FBRTtNQUM1QixXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsU0FBUyxHQUM1Qjs7QXREMUZULEFBQUEsS0FBSyxDdURBQztFQUNGLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDOUpzUUgsUUFBMkIsQzhKdFFaLENBQUMsR0E2SzNCO0VBOUtELEFBSVEsS0FKSCxBQUdBLGVBQWUsQ0FDWixXQUFXLENBQUM7SUFDUixRQUFRLEVBQUUsUUFBUSxHQU9yQjtJQVpULEFBT1ksS0FQUCxBQUdBLGVBQWUsQ0FDWixXQUFXLEFBR04sT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU87TTlKcU94QixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TThKbk94RCxZQUFZLEU5SjZQaEIsUUFBMkIsRzhKNVAxQjtFdkROUixBQUFELFdBQU8sQ3VEVUM7SUFDSixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNWLGFBQWEsRTlKcVBULFFBQTJCLEc4SmhQbEM7SXZEbEJBLEFBSUcsV0FKRyxBQUlGLE9BQU8sQ3VEV0M7TUFDTCxPQUFPLEVBQUUsSUFBSSxHQUNoQjtFdkRESixBQUFELFdBQU8sQ3VESUM7SUFDSixVQUFVLEVoS3VEVCxJQUFHLENBQUMsUUFBUTtJRW9HakIsS0FBSyxFRnZLRSxJQUFJO0lFd0tYLFVBQVUsRUYxRkwsZ0JBQWdCO0lFcUlyQixTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEU4SnRNbUIsR0FBRSxHQXdFL0I7SXZEL0VBLEF2R3FLRCxXdUdyS08sQXZHcUtOLE9BQU8sRXVHcktQLFdBQU0sQXZHcUtJLE1BQU0sQ0FBQztNQUNkLEtBQUssRUZ4TE4sT0FBTztNRXlMTixVQUFVLEVGaEdULGdCQUFnQixHRXNHcEI7TXVHN0tBLEF2R3lLRyxXdUd6S0csQXZHcUtOLE9BQU8sQUFJSCxNQUFNLEV1R3pLVixXQUFNLEF2R3FLSSxNQUFNLEFBSVosTUFBTSxDQUFDO1FBQ0osS0FBSyxFRjVMVixPQUFPO1FFNkxGLFVBQVUsRUZwR2IsZ0JBQWdCLEdFcUdoQjtJdUc1S0osQXZHK0tELFd1Ry9LTyxBdkcrS04sT0FBTyxDQUFDO01BQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtNdUdyTEEsQXZHa0xHLFd1R2xMRyxBdkcrS04sT0FBTyxBQUdILE1BQU0sQ0FBQztRQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0l1R3BMSixBdkd1TEQsV3VHdkxPLEF2R3VMTixNQUFNLENBQUM7TUFDSixLQUFLLEVGMU1OLE9BQU87TUUyTU4sVUFBVSxFRmxIVCxnQkFBZ0I7TUVtSGpCLGVBQWUsRUFBRSxJQUFJLEdBTXhCO011R2hNQSxBdkc0TEcsV3VHNUxHLEF2R3VMTixNQUFNLEFBS0YsTUFBTSxDQUFDO1FBQ0osVUFBVSxFRnRIYixnQkFBZ0I7UUV1SGIsZUFBZSxFQUFFLElBQUksR0FDeEI7SU94SkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01nR3ZDdkIsQUFBRCxXQUFPLEN1RElDO1E5SndNUixTQUFTLEVBc0NELFFBQTJCO1FBckNuQyxXQUFXLEU4Sm5NdUIsT0FBRSxHQXFFbkM7SUEzRUEsQUFTRyxXQVRHLEFBU0YsTUFBTSxDQUFDO01BQ0osZUFBZSxFQUFFLElBQUksR0FDeEI7SUFFQSxBQUFELHFCQUFXLENBQUM7TUFDUixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVBQUUsSUFBSTtNQUNiLFdBQVcsRUFBRSxNQUFNLEdBZ0J0QjtNQW5CQSxBQUtHLHFCQUxPLEFBS04sT0FBTyxDQUFDO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsS0FBSyxFaEsvQlYsSUFBSTtRRXdPUCxXQUFXLEVGN0tJLG9CQUFvQixFRTZLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7UThKdk14RCxTQUFTLEU5SndOYixJQUEyQjtROEp2TnZCLEtBQUssRTlKdU5ULFFBQTJCO1E4SnROdkIsTUFBTSxFOUpzTlYsUUFBMkI7UThKck52QixPQUFPLEVBQUUsSUFBSTtRQUNiLFdBQVcsRUFBRSxNQUFNO1FBQ25CLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLFVBQVUsRWhLbERuQixPQUFPO1FnS21ERSxZQUFZLEU5SmlOaEIsUUFBMkI7UThKaE52QixhQUFhLEVBQUUsR0FBRyxHQUNyQjtJQUdKLEFBQUQsc0JBQVksQ0FBQztNQUNULFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxJQUFJO01BQ2IsV0FBVyxFQUFFLE1BQU0sR0FnQnRCO01BbkJBLEFBS0csc0JBTFEsQUFLUCxPQUFPLENBQUM7UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixLQUFLLEVoS3BEVixJQUFJO1FFd09QLFdBQVcsRUY3S0ksb0JBQW9CLEVFNktDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtROEpsTHhELFNBQVMsRTlKbU1iLElBQTJCO1E4SmxNdkIsS0FBSyxFOUprTVQsUUFBMkI7UThKak12QixNQUFNLEU5SmlNVixRQUEyQjtROEpoTXZCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsV0FBVyxFQUFFLE1BQU07UUFDbkIsZUFBZSxFQUFFLE1BQU07UUFDdkIsVUFBVSxFaEt2RW5CLE9BQU87UWdLd0VFLFlBQVksRTlKNExoQixRQUEyQjtROEozTHZCLGFBQWEsRUFBRSxHQUFHLEdBQ3JCO0lBR0osQUFBRCxvQkFBVSxDQUFDO01BQ1AsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTSxHQWdCdEI7TUFuQkEsQUFLRyxvQkFMTSxBQUtMLE9BQU8sQ0FBQztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLEtBQUssRWhLekVWLElBQUk7UUV3T1AsV0FBVyxFRjdLSSxvQkFBb0IsRUU2S0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO1E4SjdKeEQsU0FBUyxFOUo4S2IsSUFBMkI7UThKN0t2QixLQUFLLEU5SjZLVCxRQUEyQjtROEo1S3ZCLE1BQU0sRTlKNEtWLFFBQTJCO1E4SjNLdkIsT0FBTyxFQUFFLElBQUk7UUFDYixXQUFXLEVBQUUsTUFBTTtRQUNuQixlQUFlLEVBQUUsTUFBTTtRQUN2QixVQUFVLEVoSzVGbkIsT0FBTztRZ0s2RkUsWUFBWSxFOUp1S2hCLFFBQTJCO1E4SnRLdkIsYUFBYSxFQUFFLEdBQUcsR0FDckI7RUFJUixBQUFELFFBQUksQ0FBQztJQUNELEtBQUssRWhLL0VOLE9BQU87SUV5TVYsU0FBUyxFQXNDRCxJQUEyQjtJQXJDbkMsV0FBVyxFOEoxSG1CLE1BQUU7SUFDNUIsYUFBYSxFQUFFLENBQUMsR0FvQm5CO0lBdkJBLEFBS0csUUFMQSxDQUtBLFdBQVcsQ0FBQztNQUNSLEtBQUssRWhLcEZWLE9BQU87TWdLcUZGLE9BQU8sRUFBRSxJQUFJO01BQ2IsZUFBZSxFQUFFLGFBQWE7TUFDOUIsYUFBYSxFOUp3SmIsU0FBMkIsRzhKbEo5QjtNQWZKLEFBV08sUUFYSixDQUtBLFdBQVcsQ0FNUCxJQUFJLENBQUM7UUFDRCxLQUFLLEVoSzlHZCxPQUFPO1FnSytHRSxXQUFXLEVBQUUsSUFBSSxHQUNwQjtJQWRSLEFBaUJHLFFBakJBLENBaUJBLFdBQVcsQ0FBQztNOUo4RGhCLEtBQUssRUZqTEYsT0FBTztNRWtMVixVQUFVLEVGMUZMLGdCQUFnQjtNZ0s2QmIsV0FBVyxFQUFFLElBQUk7TUFDakIsZUFBZSxFQUFFLFNBQVM7TTlKdUdsQyxTQUFTLEVBc0NELElBQTJCO01BckNuQyxXQUFXLEU4SnZHdUIsTUFBRSxHQUMvQjtNQXRCSixBOUpvRkQsUThKcEZJLENBaUJBLFdBQVcsQTlKbUVkLE9BQU8sRThKcEZQLFFBQUcsQ0FpQkEsV0FBVyxBOUptRUosTUFBTSxDQUFDO1FBQ2QsS0FBSyxFRnRMTixPQUFPO1FFdUxOLFVBQVUsRUZoR1QsZ0JBQWdCLEdFc0dwQjtROEo1RkEsQTlKd0ZHLFE4SnhGQSxDQWlCQSxXQUFXLEE5Sm1FZCxPQUFPLEFBSUgsTUFBTSxFOEp4RlYsUUFBRyxDQWlCQSxXQUFXLEE5Sm1FSixNQUFNLEFBSVosTUFBTSxDQUFDO1VBQ0osS0FBSyxFRjFMVixPQUFPO1VFMkxGLFVBQVUsRUZwR2IsZ0JBQWdCLEdFcUdoQjtNOEozRkosQTlKOEZELFE4SjlGSSxDQWlCQSxXQUFXLEE5SjZFZCxPQUFPLENBQUM7UUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO1E4SnBHQSxBOUppR0csUThKakdBLENBaUJBLFdBQVcsQTlKNkVkLE9BQU8sQUFHSCxNQUFNLENBQUM7VUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtNOEpuR0osQTlKc0dELFE4SnRHSSxDQWlCQSxXQUFXLEE5SnFGZCxNQUFNLENBQUM7UUFDSixLQUFLLEVGeE1OLE9BQU87UUV5TU4sVUFBVSxFRmxIVCxnQkFBZ0I7UUVtSGpCLGVBQWUsRUFBRSxJQUFJLEdBTXhCO1E4Si9HQSxBOUoyR0csUThKM0dBLENBaUJBLFdBQVcsQTlKcUZkLE1BQU0sQUFLRixNQUFNLENBQUM7VUFDSixVQUFVLEVGdEhiLGdCQUFnQjtVRXVIYixlQUFlLEVBQUUsSUFBSSxHQUN4QjtFOEpyRkosQUFLRyxRQUxBLENBS0EsV0FBVyxDQUFDO0k5SmlEaEIsS0FBSyxFRjdKRixPQUFPO0lFOEpWLFVBQVUsRUYxRkwsZ0JBQWdCLEdnSzBDaEI7SUFQSixBOUoyREQsUThKM0RJLENBS0EsV0FBVyxBOUpzRGQsT0FBTyxFOEozRFAsUUFBRyxDQUtBLFdBQVcsQTlKc0RKLE1BQU0sQ0FBQztNQUNkLEtBQUssRUZ0TE4sT0FBTztNRXVMTixVQUFVLEVGaEdULGdCQUFnQixHRXNHcEI7TThKbkVBLEE5SitERyxROEovREEsQ0FLQSxXQUFXLEE5SnNEZCxPQUFPLEFBSUgsTUFBTSxFOEovRFYsUUFBRyxDQUtBLFdBQVcsQTlKc0RKLE1BQU0sQUFJWixNQUFNLENBQUM7UUFDSixLQUFLLEVGMUxWLE9BQU87UUUyTEYsVUFBVSxFRnBHYixnQkFBZ0IsR0VxR2hCO0k4SmxFSixBOUpxRUQsUThKckVJLENBS0EsV0FBVyxBOUpnRWQsT0FBTyxDQUFDO01BQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtNOEozRUEsQTlKd0VHLFE4SnhFQSxDQUtBLFdBQVcsQTlKZ0VkLE9BQU8sQUFHSCxNQUFNLENBQUM7UUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtJOEoxRUosQTlKNkVELFE4SjdFSSxDQUtBLFdBQVcsQTlKd0VkLE1BQU0sQ0FBQztNQUNKLEtBQUssRUZ4TU4sT0FBTztNRXlNTixVQUFVLEVGbEhULGdCQUFnQjtNRW1IakIsZUFBZSxFQUFFLElBQUksR0FNeEI7TThKdEZBLEE5SmtGRyxROEpsRkEsQ0FLQSxXQUFXLEE5SndFZCxNQUFNLEFBS0YsTUFBTSxDQUFDO1FBQ0osVUFBVSxFRnRIYixnQkFBZ0I7UUV1SGIsZUFBZSxFQUFFLElBQUksR0FDeEI7RThKM0VKLEFBQUQsUUFBSSxDQUFDO0lBQ0QsS0FBSyxFaEtsSE4sT0FBTztJZ0ttSE4sYUFBYSxFQUFFLENBQUM7STlKc0ZwQixTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEU4SnRGbUIsR0FBRSxHQWlDL0I7SXZKakhELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNdUo2RXZCLEFBQUQsUUFBSSxDQUFDO1E5SndGTCxTQUFTLEVBc0NELE9BQTJCO1FBckNuQyxXQUFXLEU4Sm5GdUIsT0FBRSxHQThCbkM7SXZKakhELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNdUo2RXZCLEFBQUQsUUFBSSxDQUFDO1FBVUcsVUFBVSxFOUpvSFYsUUFBMkIsRzhKMUZsQztJQXBDQSxBQWFHLFFBYkEsQ0FhQSxXQUFXLENBQUM7TUFDUixLQUFLLEVoSy9IVixPQUFPO01nS2dJRixPQUFPLEVBQUUsSUFBSTtNQUNiLGVBQWUsRUFBRSxhQUFhO01BQzlCLGFBQWEsRTlKNkdiLFNBQTJCLEc4SmxHOUI7TUE1QkosQUFtQk8sUUFuQkosQ0FhQSxXQUFXLEFBTU4sYUFBYSxDQUFDO1FBQ1gsYUFBYSxFQUFFLENBQUMsR0FDbkI7TUFyQlIsQUF1Qk8sUUF2QkosQ0FhQSxXQUFXLENBVVAsSUFBSSxDQUFDO1FBQ0QsS0FBSyxFaEsxSWQsT0FBTztRZ0sySUUsV0FBVyxFQUFFLElBQUk7UUFDakIsVUFBVSxFQUFFLEtBQUssR0FDcEI7SUEzQlIsQUE4QkcsUUE5QkEsQ0E4QkEsV0FBVyxDQUFDO005SmNoQixLQUFLLEVGakxGLE9BQU87TUVrTFYsVUFBVSxFRjFGTCxnQkFBZ0I7TWdLNkViLFdBQVcsRUFBRSxJQUFJO01BQ2pCLGVBQWUsRUFBRSxTQUFTO005SnVEbEMsU0FBUyxFQXNDRCxJQUEyQjtNQXJDbkMsV0FBVyxFOEp2RHVCLE1BQUUsR0FDL0I7TUFuQ0osQTlKaURELFE4SmpESSxDQThCQSxXQUFXLEE5Sm1CZCxPQUFPLEU4SmpEUCxRQUFHLENBOEJBLFdBQVcsQTlKbUJKLE1BQU0sQ0FBQztRQUNkLEtBQUssRUZ0TE4sT0FBTztRRXVMTixVQUFVLEVGaEdULGdCQUFnQixHRXNHcEI7UThKekRBLEE5SnFERyxROEpyREEsQ0E4QkEsV0FBVyxBOUptQmQsT0FBTyxBQUlILE1BQU0sRThKckRWLFFBQUcsQ0E4QkEsV0FBVyxBOUptQkosTUFBTSxBQUlaLE1BQU0sQ0FBQztVQUNKLEtBQUssRUYxTFYsT0FBTztVRTJMRixVQUFVLEVGcEdiLGdCQUFnQixHRXFHaEI7TThKeERKLEE5SjJERCxROEozREksQ0E4QkEsV0FBVyxBOUo2QmQsT0FBTyxDQUFDO1FBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtROEpqRUEsQTlKOERHLFE4SjlEQSxDQThCQSxXQUFXLEE5SjZCZCxPQUFPLEFBR0gsTUFBTSxDQUFDO1VBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7TThKaEVKLEE5Sm1FRCxROEpuRUksQ0E4QkEsV0FBVyxBOUpxQ2QsTUFBTSxDQUFDO1FBQ0osS0FBSyxFRnhNTixPQUFPO1FFeU1OLFVBQVUsRUZsSFQsZ0JBQWdCO1FFbUhqQixlQUFlLEVBQUUsSUFBSSxHQU14QjtROEo1RUEsQTlKd0VHLFE4SnhFQSxDQThCQSxXQUFXLEE5SnFDZCxNQUFNLEFBS0YsTUFBTSxDQUFDO1VBQ0osVUFBVSxFRnRIYixnQkFBZ0I7VUV1SGIsZUFBZSxFQUFFLElBQUksR0FDeEI7O0ErSnBOVCxBQUVJLFdBRk8sQUFFTixJQUFLLEN6RENBLElBQUksRXlEREU7RUFDUixVQUFVLEVqS3lGVCxnQkFBZ0I7RWlLeEZqQixlQUFlLEVBQUUsSUFBSTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU8sRUFBRSxDQUFDO0VBQ1YsYUFBYSxFL0pnUVQsUUFBMkIsRytKL01sQztFQXhETCxBQVNRLFdBVEcsQUFFTixJQUFLLEN6RENBLElBQUksRXlETU4sQ0FBQyxDQUFDO0lBQ0UsVUFBVSxFakt1RWIsSUFBRyxDQUFDLFFBQVE7SUVvR2pCLEtBQUssRUY3SkYsT0FBTztJRThKVixVQUFVLEVGMUZMLGdCQUFnQjtJaUtoRmIsZUFBZSxFQUFFLElBQUk7SS9KcU43QixTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEUrSnJOdUIsR0FBRSxHQUsvQjtJQWxCVCxBL0owTEksVytKMUxPLEFBRU4sSUFBSyxDekRDQSxJQUFJLEV5RE1OLENBQUMsQS9KaUxKLE9BQU8sRStKMUxaLFdBQVcsQUFFTixJQUFLLEN6RENBLElBQUksRXlETU4sQ0FBQyxBL0ppTE0sTUFBTSxDQUFDO01BQ2QsS0FBSyxFRnRMTixPQUFPO01FdUxOLFVBQVUsRUZoR1QsZ0JBQWdCLEdFc0dwQjtNK0psTUwsQS9KOExRLFcrSjlMRyxBQUVOLElBQUssQ3pEQ0EsSUFBSSxFeURNTixDQUFDLEEvSmlMSixPQUFPLEFBSUgsTUFBTSxFK0o5TGYsV0FBVyxBQUVOLElBQUssQ3pEQ0EsSUFBSSxFeURNTixDQUFDLEEvSmlMTSxNQUFNLEFBSVosTUFBTSxDQUFDO1FBQ0osS0FBSyxFRjFMVixPQUFPO1FFMkxGLFVBQVUsRUZwR2IsZ0JBQWdCLEdFcUdoQjtJK0pqTVQsQS9Kb01JLFcrSnBNTyxBQUVOLElBQUssQ3pEQ0EsSUFBSSxFeURNTixDQUFDLEEvSjJMSixPQUFPLENBQUM7TUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO00rSjFNTCxBL0p1TVEsVytKdk1HLEFBRU4sSUFBSyxDekRDQSxJQUFJLEV5RE1OLENBQUMsQS9KMkxKLE9BQU8sQUFHSCxNQUFNLENBQUM7UUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtJK0p6TVQsQS9KNE1JLFcrSjVNTyxBQUVOLElBQUssQ3pEQ0EsSUFBSSxFeURNTixDQUFDLEEvSm1NSixNQUFNLENBQUM7TUFDSixLQUFLLEVGeE1OLE9BQU87TUV5TU4sVUFBVSxFRmxIVCxnQkFBZ0I7TUVtSGpCLGVBQWUsRUFBRSxJQUFJLEdBTXhCO00rSnJOTCxBL0ppTlEsVytKak5HLEFBRU4sSUFBSyxDekRDQSxJQUFJLEV5RE1OLENBQUMsQS9KbU1KLE1BQU0sQUFLRixNQUFNLENBQUM7UUFDSixVQUFVLEVGdEhiLGdCQUFnQjtRRXVIYixlQUFlLEVBQUUsSUFBSSxHQUN4QjtJT3hKTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TXdKNUQ1QixBQVNRLFdBVEcsQUFFTixJQUFLLEN6RENBLElBQUksRXlETU4sQ0FBQyxDQUFDO1EvSndOTixTQUFTLEVBc0NELFFBQTJCO1FBckNuQyxXQUFXLEUrSmxOMkIsT0FBRSxHQUVuQztFQWxCVCxBQW9CUSxXQXBCRyxBQUVOLElBQUssQ3pEQ0EsSUFBSSxFeURpQk4sZ0JBQWdCLENBQUM7SUFDYixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE1BQU07SUFDdkIsS0FBSyxFaktGVixPQUFPLEdpSytCTDtJQXZEVCxBQTRCWSxXQTVCRCxBQUVOLElBQUssQ3pEQ0EsSUFBSSxFeURpQk4sZ0JBQWdCLEFBUVgsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU87TUFDaEIsU0FBUyxFL0p5T2IsUUFBMkI7TStKeE92QixLQUFLLEUvSndPVCxRQUEyQjtNK0p2T3ZCLFlBQVksRS9KdU9oQixTQUEyQjtNK0p0T3ZCLFdBQVcsRS9Kc09mLFNBQTJCO00rSnJPdkIsT0FBTyxFQUFFLElBQUk7TUFDYixlQUFlLEVBQUUsTUFBTTtNL0owTS9CLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNK0p4TXhELE9BQU8sRUFBRSxDQUFDLEdBQ2I7SUF0Q2IsQUF5Q2dCLFdBekNMLEFBRU4sSUFBSyxDekRDQSxJQUFJLEV5RGlCTixnQkFBZ0IsQUFvQlgsY0FBYyxBQUNWLE9BQU8sQ0FBQztNQUNMLFNBQVMsRS9KNk5qQixPQUEyQjtNK0o1Tm5CLEtBQUssRWpLbkJsQixPQUFPO01pS29CTSxPQUFPLEVBQUUsT0FBTztNL0pvTTVCLFdBQVcsRUZ6S0ksb0JBQW9CLEVFeUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNK0psTXBELFdBQVcsRUFBRSxDQUFDLEdBQ2pCO0lBL0NqQixBQWtEWSxXQWxERCxBQUVOLElBQUssQ3pEQ0EsSUFBSSxFeURpQk4sZ0JBQWdCLEFBOEJYLGFBQWEsQ0FBQztNQUNYLEtBQUssRWpLakRkLE9BQU87TWlLa0RFLFdBQVcsRUFBRSxJQUFJO01BQ2pCLGNBQWMsRUFBRSxJQUFJLEdBQ3ZCOztBQ3REYixBQUFBLFdBQVcsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDaEtzUUgsUUFBMkIsQ2dLdFFaLENBQUM7RUFDeEIsT0FBTyxFQUFFLENBQUM7RUFDVixlQUFlLEVBQUUsSUFBSSxHQW1ReEI7RUFqUUksQUFLVyxpQkFMTCxBQUdGLGFBQWEsQ0FFTCxpQkFBTSxDQUFDO0lBQ0osYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENsS2NyQyxPQUFPLEdrS2JHO0VBS1osQUFBRCxpQkFBTyxDQUFDO0lBQ0osT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsYUFBYTtJQUM5QixXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVoS2tQSCxRQUEyQixDQUEzQixTQUEyQjtJZ0tqUC9CLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDbEtHbEIsT0FBTztJa0tGTixhQUFhLEVBQUUsQ0FBQztJQUNoQixVQUFVLEVsS3lEVCxJQUFHLENBQUMsUUFBUSxHa0svQ2hCO0l6SjBCRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TXlKM0N2QixBQUFELGlCQUFPLENBQUM7UUFVQSxPQUFPLEVoSzRPUCxTQUEyQixDQUEzQixRQUEyQixHZ0tyT2xDO0lBakJBLEFBYUcsaUJBYkcsQUFhRixNQUFNLENBQUM7TUFDSixlQUFlLEVBQUUsSUFBSTtNQUNyQixVQUFVLEVsS05mLE9BQU8sR2tLT0w7RUFHSixBQUFELGtCQUFRLENBQUM7SUFDTCxTQUFTLEVoS2tPTCxTQUEyQjtJZ0tqTy9CLEtBQUssRWhLaU9ELFNBQTJCO0lnS2hPL0IsTUFBTSxFaEtnT0YsU0FBMkI7SWdLL04vQixLQUFLLEVsSzFCRixJQUFJO0lrSzJCUCxXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsR0FBRztJQUNsQixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLFlBQVksRWhLeU5SLFFBQTJCO0lBdENuQyxTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEVnS25MbUIsR0FBRSxHQXVCL0I7SXpKVkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO015SnhCdkIsQUFBRCxrQkFBUSxDQUFDO1FoSzZMVCxTQUFTLEVBc0NELE9BQTJCO1FBckNuQyxXQUFXLEVnS2hMdUIsSUFBRSxHQW9CbkM7SXpKVkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO015SnhCdkIsQUFBRCxrQkFBUSxDQUFDO1FBa0JELFNBQVMsRWhLaU5ULE1BQTJCO1FnS2hOM0IsS0FBSyxFaEtnTkwsTUFBMkI7UWdLL00zQixNQUFNLEVoSytNTixNQUEyQjtRQXRDbkMsU0FBUyxFQXNDRCxRQUEyQjtRQXJDbkMsV0FBVyxFZ0t6S3VCLENBQUU7UUFDNUIsWUFBWSxFaEs2TVosUUFBMkIsR2dLak1sQztJQVRJLEFBQUQscUJBQUksQ0FBQztNQUNELFVBQVUsRWxLeEJmLE9BQU8sR2tLeUJMO0lBQ0EsQUFBRCxxQkFBSSxDQUFDO01BQ0QsVUFBVSxFbEsxQmYsT0FBTyxHa0syQkw7SUFDQSxBQUFELHFCQUFJLENBQUM7TUFDRCxVQUFVLEVsSzVCZixPQUFPLEdrSzZCTDtFQUdKLEFBQUQsa0JBQVEsQ0FBQztJQUNMLEtBQUssRWxLdkVOLE9BQU87SUUrTlYsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFZ0t4Sm1CLEdBQUU7SUFDNUIsYUFBYSxFQUFFLENBQUMsR0FNbkI7SXpKckJELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNeUpZdkIsQUFBRCxrQkFBUSxDQUFDO1FoS3lKVCxTQUFTLEVBc0NELElBQTJCO1FBckNuQyxXQUFXLEVnS3BKdUIsTUFBRTtRQUM1QixhQUFhLEVoS3dMYixTQUEyQixHZ0t0TGxDO0VBRUEsQUFBRCxpQkFBTyxDQUFDO0lBQ0osS0FBSyxFbEs1RE4sT0FBTztJa0s2RE4sWUFBWSxFaEtrTFIsT0FBMkI7SWdLakwvQixhQUFhLEVBQUUsQ0FBQztJQUNoQixPQUFPLEVBQUUsSUFBSTtJaEswSWpCLFNBQVMsRUFzQ0QsU0FBMkI7SUFyQ25DLFdBQVcsRWdLMUltQixHQUFFLEdBbUIvQjtJekovQ0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO015SnVCdkIsQUFBRCxpQkFBTyxDQUFDO1FoSzhJUixTQUFTLEVBc0NELE9BQTJCO1FBckNuQyxXQUFXLEVnS3ZJdUIsT0FBRSxHQWdCbkM7SXpKL0NELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNeUp1QnZCLEFBQUQsaUJBQU8sQ0FBQztRQVlBLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFlBQVksRWhLdUtaLFFBQTJCLEdnSzVKbEM7SXpKL0NELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNeUp1QnZCLEFBQUQsaUJBQU8sQ0FBQztRQWlCQSxZQUFZLEVoS21LWixPQUEyQixHZ0s1SmxDO0lBeEJBLEFBb0JHLGlCQXBCRyxDQW9CSCxJQUFJLENBQUM7TUFDRCxLQUFLLEVsS3BHVixPQUFPO01rS3FHRixXQUFXLEVBQUUsSUFBSSxHQUNwQjtFQUdKLEFBQUQseUJBQWUsQ0FBQztJQUNaLEtBQUssRWxLdEZOLE9BQU87SWtLdUZOLFlBQVksRWhLd0pSLE9BQTJCO0lnS3ZKL0IsYUFBYSxFQUFFLENBQUM7SUFDaEIsT0FBTyxFQUFFLElBQUk7SWhLZ0hqQixTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEVnS2hIbUIsR0FBRSxHQW1CL0I7SXpKekVELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNeUppRHZCLEFBQUQseUJBQWUsQ0FBQztRaEtvSGhCLFNBQVMsRUFzQ0QsT0FBMkI7UUFyQ25DLFdBQVcsRWdLN0d1QixPQUFFLEdBZ0JuQztJekp6RUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO015SmlEdkIsQUFBRCx5QkFBZSxDQUFDO1FBWVIsT0FBTyxFQUFFLFlBQVk7UUFDckIsWUFBWSxFaEs2SVosUUFBMkIsR2dLbElsQztJekp6RUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO015SmlEdkIsQUFBRCx5QkFBZSxDQUFDO1FBaUJSLFlBQVksRWhLeUlaLE9BQTJCLEdnS2xJbEM7SUF4QkEsQUFvQkcseUJBcEJXLENBb0JYLElBQUksQ0FBQztNQUNELEtBQUssRWxLbkdWLE9BQU87TWtLb0dGLFdBQVcsRUFBRSxJQUFJLEdBQ3BCO0VBR0osQUFBRCxpQkFBTyxDQUFDO0lBQ0osS0FBSyxFbEtoSE4sT0FBTztJa0tpSE4sWUFBWSxFaEs4SFIsT0FBMkI7SWdLN0gvQixhQUFhLEVBQUUsQ0FBQztJQUNoQixPQUFPLEVBQUUsSUFBSTtJaEtzRmpCLFNBQVMsRUFzQ0QsU0FBMkI7SUFyQ25DLFdBQVcsRWdLdEZtQixHQUFFLEdBb0IvQjtJekpwR0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO015SjJFdkIsQUFBRCxpQkFBTyxDQUFDO1FoSzBGUixTQUFTLEVBc0NELE9BQTJCO1FBckNuQyxXQUFXLEVnS25GdUIsT0FBRSxHQWlCbkM7SXpKcEdELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNeUoyRXZCLEFBQUQsaUJBQU8sQ0FBQztRQWFBLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFlBQVksRWhLa0haLFFBQTJCLEdnS3ZHbEM7SXpKcEdELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNeUoyRXZCLEFBQUQsaUJBQU8sQ0FBQztRQWtCQSxZQUFZLEVoSzhHWixPQUEyQixHZ0t2R2xDO0lBekJBLEFBcUJHLGlCQXJCRyxDQXFCSCxJQUFJLENBQUM7TUFDRCxLQUFLLEVsS3pKVixPQUFPO01rSzBKRixXQUFXLEVBQUUsSUFBSSxHQUNwQjtFQUdKLEFBQUQsaUJBQU8sQ0FBQztJQUNKLEtBQUssRWxLM0lOLE9BQU87SWtLNElOLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLE9BQU8sRUFBRSxJQUFJO0loSzREakIsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFZ0s1RG1CLEdBQUUsR0FhL0I7SXpKdkhELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNeUpzR3ZCLEFBQUQsaUJBQU8sQ0FBQztRaEsrRFIsU0FBUyxFQXNDRCxPQUEyQjtRQXJDbkMsV0FBVyxFZ0t6RHVCLE9BQUUsR0FVbkM7SXpKdkhELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNeUpzR3ZCLEFBQUQsaUJBQU8sQ0FBQztRQVdBLE9BQU8sRUFBRSxZQUFZLEdBTTVCO0lBakJBLEFBY0csaUJBZEcsQ0FjSCxJQUFJLENBQUM7TUFDRCxLQUFLLEVsS3pKVixPQUFPLEdrSzBKTDtFQUdKLEFBQUQscUJBQVcsQ0FBQztJQUNSLEtBQUssRWxLcExOLE9BQU87SUUrTlYsU0FBUyxFQXNDRCxRQUEyQjtJQXJDbkMsV0FBVyxFZ0szQ21CLE9BQUU7SUFDNUIsV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFaEs4RVIsT0FBMkI7SWdLN0UvQixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNLEdBS3RCO0l6SnBJRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TXlKeUh2QixBQUFELHFCQUFXLENBQUM7UUFTSixPQUFPLEVBQUUsWUFBWSxHQUU1QjtFQUVBLEFBQUQsa0JBQVEsQ0FBQztJQUNMLEtBQUssRWxLaE1OLE9BQU87SUU4TlYsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFZ0s5Qm1CLEdBQUU7SUFDNUIsV0FBVyxFQUFFLElBQUk7SUFDakIsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixXQUFXLEVBQUUsUUFBUTtJQUNyQixXQUFXLEVBQUUsTUFBTSxHQW1CdEI7SXpKaEtELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNeUpzSXZCLEFBQUQsa0JBQVEsQ0FBQztRaEsrQlQsU0FBUyxFQXNDRCxPQUEyQjtRQXJDbkMsV0FBVyxFZ0t0QnVCLEdBQUUsR0FnQm5DO0lBYkksQUFBRCwwQkFBUyxDQUFDO01BQ04sS0FBSyxFbEt2TFYsT0FBTztNa0t3TEYsZUFBZSxFQUFFLFlBQVk7TWhLZ0JyQyxTQUFTLEVBc0NELFNBQTJCO01BckNuQyxXQUFXLEVnS2hCdUIsR0FBRSxHQVMvQjtNekovSkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1F5Sm1KbkIsQUFBRCwwQkFBUyxDQUFDO1VoS2tCZCxTQUFTLEVBc0NELE9BQTJCO1VBckNuQyxXQUFXLEVnS2IyQixPQUFFLEdBTW5DO016Si9KTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UXlKbUpuQixBQUFELDBCQUFTLENBQUM7VWhLa0JkLFNBQVMsRUFzQ0QsUUFBMkI7VUFyQ25DLFdBQVcsRWdLVDJCLE9BQUUsR0FFbkM7RUFHSixBQUFELGdCQUFNLENBQUM7SUFDSCxZQUFZLEVoS3dDUixRQUEyQjtJZ0t2Qy9CLFNBQVMsRWhLdUNMLFFBQTJCLEdnS2pDbEM7SXpKMUtELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNeUprS3ZCLEFBQUQsZ0JBQU0sQ0FBQztRQUtDLFlBQVksRWhLb0NaLFFBQTJCO1FnS25DM0IsU0FBUyxFaEttQ1QsT0FBMkIsR2dLakNsQztFQUVBLEFBQUQsZ0JBQU0sQ0FBQztJQUNILE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVoSzJCTCxRQUEyQjtJZ0sxQi9CLFlBQVksRWhLMEJSLFFBQTJCLEdnS0ZsQztJekp6TUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO015SjRLdkIsQUFBRCxnQkFBTSxDQUFDO1FBUUMsWUFBWSxFaEt1QlosT0FBMkIsR2dLRmxDO0loS3BQRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01nS3VObEMsQUFBRCxnQkFBTSxDQUFDO1FBWUMsU0FBUyxFaEttQlQsT0FBMkIsR2dLRmxDO0loS3BQRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01nS3VObkMsQUFBRCxnQkFBTSxDQUFDO1FBZ0JDLFNBQVMsRWhLZVQsS0FBMkIsR2dLRmxDO0loS3BQRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01nS3VObkMsQUFBRCxnQkFBTSxDQUFDO1FBb0JDLFNBQVMsRWhLV1QsT0FBMkIsR2dLRmxDO0lBTkksQUFBRCx1QkFBUSxDQUFDO01BQ0wsT0FBTyxFQUFFLElBQUk7TUFDYixjQUFjLEVBQUUsTUFBTTtNQUN0QixXQUFXLEVBQUUsVUFBVTtNQUN2QixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUNwUVQsQUFBQSxJQUFJLENBQUM7RUFDRCxLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLEtBQUssRW5LV0UsSUFBSTtFbUtWWCxVQUFVLEVuS0ZQLE9BQU87RW1LR1YsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENuS0hsQixPQUFPO0VtS0lWLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDbktKckIsT0FBTztFbUtLVixPQUFPLEVqS2dRQyxPQUEyQjtFaUsvUG5DLGFBQWEsRWpLK1BMLFFBQTJCO0VpSzlQbkMsT0FBTyxFQUFFLFlBQVk7RUFDckIsVUFBVSxFbkt1RUwsSUFBRyxDQUFDLFFBQVEsR21LeERwQjtFQXpCRCxBQVlJLElBWkEsQ0FZQSxJQUFJLENBQUM7SUFDRCxLQUFLLEVuS1ZOLE9BQU87SW1LV04sVUFBVSxFbkttRVQsSUFBRyxDQUFDLFFBQVEsR21LbEVoQjtFQWZMLEFBaUJJLElBakJBLEFBaUJDLE1BQU0sQ0FBQztJQUNKLEtBQUssRW5LZk4sT0FBTztJbUtnQk4sZUFBZSxFQUFFLElBQUksR0FLeEI7SUF4QkwsQUFxQlEsSUFyQkosQUFpQkMsTUFBTSxDQUlILElBQUksQ0FBQztNQUNELGVBQWUsRUFBRSxTQUFTLEdBQzdCOztBMUd2QlQsQUFBQSxXQUFXLEMyR01DO0VBRVIsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsTUFBTTtFQUNsQixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ2xLNlBILFFBQTJCLENrSzdQWixDQUFDO0VBQ3hCLE9BQU8sRUFBRSxLQUFLLEdBNkZqQjtFQWxHRCxBQU9JLFdBUE8sQ0FPUCxFQUFFLENBQUM7SUFDQyxPQUFPLEVBQUUsWUFBWSxHQW1GeEI7SUEzRkwsQUFXUSxXQVhHLENBT1AsRUFBRSxDQUlFLENBQUMsQ0FBQztNbEtnTk4sU0FBUyxFQXNDRCxJQUEyQjtNQXJDbkMsV0FBVyxFa0toTnVCLENBQUU7TUFDNUIsT0FBTyxFQUFFLENBQUM7TUFDVixNQUFNLEVBQUUsSUFBSTtNQUNaLEtBQUssRUFBRSxJQUFJO01BQ1gsYUFBYSxFQUFFLEdBQUc7TUFDbEIsT0FBTyxFQUFFLElBQUk7TUFDYixlQUFlLEVBQUUsTUFBTTtNQUN2QixXQUFXLEVBQUUsTUFBTTtNQUNuQixVQUFVLEVwS3VEYixJQUFHLENBQUMsUUFBUTtNb0t0RFQsVUFBVSxFQUFFLFdBQVc7TUFDdkIsZUFBZSxFQUFFLElBQUk7TUFDckIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENwS0p0QixPQUFPO01vS0tGLFdBQVcsRWxLeU9YLFNBQTJCO01BbEZuQyxLQUFLLEVGN0pGLE9BQU87TUU4SlYsVUFBVSxFRjFGTCxnQkFBZ0IsR29LbERoQjtNQXBDVCxBbEtvTEksV2tLcExPLENBT1AsRUFBRSxDQUlFLENBQUMsQWxLeUtKLE9BQU8sRWtLcExaLFdBQVcsQ0FPUCxFQUFFLENBSUUsQ0FBQyxBbEt5S00sTUFBTSxDQUFDO1FBQ2QsS0FBSyxFRnpMTixPQUFPO1FFMExOLFVBQVUsRUZsS1gsT0FBTyxHRXdLVDtRa0s1TEwsQWxLd0xRLFdrS3hMRyxDQU9QLEVBQUUsQ0FJRSxDQUFDLEFsS3lLSixPQUFPLEFBSUgsTUFBTSxFa0t4TGYsV0FBVyxDQU9QLEVBQUUsQ0FJRSxDQUFDLEFsS3lLTSxNQUFNLEFBSVosTUFBTSxDQUFDO1VBQ0osS0FBSyxFRjdMVixPQUFPO1VFOExGLFVBQVUsRUZ0S2YsT0FBTyxHRXVLTDtNa0szTFQsQWxLOExJLFdrSzlMTyxDQU9QLEVBQUUsQ0FJRSxDQUFDLEFsS21MSixPQUFPLENBQUM7UUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO1FrS3BNTCxBbEtpTVEsV2tLak1HLENBT1AsRUFBRSxDQUlFLENBQUMsQWxLbUxKLE9BQU8sQUFHSCxNQUFNLENBQUM7VUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtNa0tuTVQsQWxLc01JLFdrS3RNTyxDQU9QLEVBQUUsQ0FJRSxDQUFDLEFsSzJMSixNQUFNLENBQUM7UUFDSixLQUFLLEVGM01OLE9BQU87UUU0TU4sVUFBVSxFRnBMWCxPQUFPO1FFcUxOLGVBQWUsRUFBRSxJQUFJLEdBTXhCO1FrSy9NTCxBbEsyTVEsV2tLM01HLENBT1AsRUFBRSxDQUlFLENBQUMsQWxLMkxKLE1BQU0sQUFLRixNQUFNLENBQUM7VUFDSixVQUFVLEVGeExmLE9BQU87VUV5TEYsZUFBZSxFQUFFLElBQUksR0FDeEI7TWtLOU1ULEFBNEJZLFdBNUJELENBT1AsRUFBRSxDQUlFLENBQUMsQUFpQkksTUFBTSxDQUFDO1FBQ0osTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENwS2pDMUIsT0FBTyxHb0trQ0Q7TTNKd0JULE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRMkp0RDVCLEFBV1EsV0FYRyxDQU9QLEVBQUUsQ0FJRSxDQUFDLENBQUM7VUFzQk0sTUFBTSxFbEtnT1YsSUFBMkI7VWtLL052QixLQUFLLEVsSytOVCxJQUEyQixHa0s3TjlCO0lBcENULEFBc0NRLFdBdENHLENBT1AsRUFBRSxBQStCRyxpQkFBaUIsQ0FBQztNQUNmLEtBQUssRUFBRSxJQUFJLEdBQ2Q7SUF4Q1QsQUEwQ1EsV0ExQ0csQ0FPUCxFQUFFLEFBbUNHLGlCQUFpQixDQUFDO01BQ2YsS0FBSyxFQUFFLEtBQUssR0FDZjtJM0p1QkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO00ySm5FL0IsQUE4Q1EsV0E5Q0csQ0FPUCxFQUFFLEFBdUNHLGlCQUFpQixFQTlDMUIsV0FBVyxDQU9QLEVBQUUsQUF1Q3VCLGlCQUFpQixDQUFDO1FBRy9CLE9BQU8sRUFBRSxJQUFJLEdBbUJwQjtJQXBFVCxBQW9EWSxXQXBERCxDQU9QLEVBQUUsQUF1Q0csaUJBQWlCLENBTWQsQ0FBQyxFQXBEYixXQUFXLENBT1AsRUFBRSxBQXVDdUIsaUJBQWlCLENBTWxDLENBQUMsQ0FBQztNQUNFLEtBQUssRXBLNUNWLElBQUk7TW9LNkNDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDcEs3Q3RCLElBQUksR29LMERGO00zSmJULE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRMkp0RDVCLEFBb0RZLFdBcERELENBT1AsRUFBRSxBQXVDRyxpQkFBaUIsQ0FNZCxDQUFDLEVBcERiLFdBQVcsQ0FPUCxFQUFFLEFBdUN1QixpQkFBaUIsQ0FNbEMsQ0FBQyxDQUFDO1VBS00sYUFBYSxFQUFFLENBQUM7VUFDaEIsU0FBUyxFbEt1TWpCLEtBQTJCO1VrS3RNbkIsT0FBTyxFbEtzTWYsT0FBMkI7VUF0Q25DLFNBQVMsRUFzQ0QsUUFBMkI7VUFyQ25DLFdBQVcsRWtLaEsrQixPQUFFO1VBQzVCLE1BQU0sRUFBRSxDQUFDO1VBQ1QsVUFBVSxFcEthckIsSUFBRyxDQUFDLFFBQVE7VW9LWkQsV0FBVyxFQUFFLE1BQU07VWxLZ0huQyxLQUFLLEVGdktFLElBQUk7VUV3S1gsVUFBVSxFRnBMUCxPQUFPLEdvS3VFRDtVQW5FYixBbEtvTEksV2tLcExPLENBT1AsRUFBRSxBQXVDRyxpQkFBaUIsQ0FNZCxDQUFDLEFsS2dJUixPQUFPLEVrS3BMWixXQUFXLENBT1AsRUFBRSxBQXVDRyxpQkFBaUIsQ0FNZCxDQUFDLEFsS2dJRSxNQUFNLEVrS3BMckIsV0FBVyxDQU9QLEVBQUUsQUF1Q3VCLGlCQUFpQixDQU1sQyxDQUFDLEFsS2dJUixPQUFPLEVrS3BMWixXQUFXLENBT1AsRUFBRSxBQXVDdUIsaUJBQWlCLENBTWxDLENBQUMsQWxLZ0lFLE1BQU0sQ0FBQztZQUNkLEtBQUssRUY3S0YsSUFBSTtZRThLUCxVQUFVLEVGdkxYLE9BQU8sR0U2TFQ7WWtLNUxMLEFsS3dMUSxXa0t4TEcsQ0FPUCxFQUFFLEFBdUNHLGlCQUFpQixDQU1kLENBQUMsQWxLZ0lSLE9BQU8sQUFJSCxNQUFNLEVrS3hMZixXQUFXLENBT1AsRUFBRSxBQXVDRyxpQkFBaUIsQ0FNZCxDQUFDLEFsS2dJRSxNQUFNLEFBSVosTUFBTSxFa0t4TGYsV0FBVyxDQU9QLEVBQUUsQUF1Q3VCLGlCQUFpQixDQU1sQyxDQUFDLEFsS2dJUixPQUFPLEFBSUgsTUFBTSxFa0t4TGYsV0FBVyxDQU9QLEVBQUUsQUF1Q3VCLGlCQUFpQixDQU1sQyxDQUFDLEFsS2dJRSxNQUFNLEFBSVosTUFBTSxDQUFDO2NBQ0osS0FBSyxFRmpMTixJQUFJO2NFa0xILFVBQVUsRUYzTGYsT0FBTyxHRTRMTDtVa0szTFQsQWxLOExJLFdrSzlMTyxDQU9QLEVBQUUsQUF1Q0csaUJBQWlCLENBTWQsQ0FBQyxBbEswSVIsT0FBTyxFa0s5TFosV0FBVyxDQU9QLEVBQUUsQUF1Q3VCLGlCQUFpQixDQU1sQyxDQUFDLEFsSzBJUixPQUFPLENBQUM7WUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO1lrS3BNTCxBbEtpTVEsV2tLak1HLENBT1AsRUFBRSxBQXVDRyxpQkFBaUIsQ0FNZCxDQUFDLEFsSzBJUixPQUFPLEFBR0gsTUFBTSxFa0tqTWYsV0FBVyxDQU9QLEVBQUUsQUF1Q3VCLGlCQUFpQixDQU1sQyxDQUFDLEFsSzBJUixPQUFPLEFBR0gsTUFBTSxDQUFDO2NBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7VWtLbk1ULEFsS3NNSSxXa0t0TU8sQ0FPUCxFQUFFLEFBdUNHLGlCQUFpQixDQU1kLENBQUMsQWxLa0pSLE1BQU0sRWtLdE1YLFdBQVcsQ0FPUCxFQUFFLEFBdUN1QixpQkFBaUIsQ0FNbEMsQ0FBQyxBbEtrSlIsTUFBTSxDQUFDO1lBQ0osS0FBSyxFRi9MRixJQUFJO1lFZ01QLFVBQVUsRUZ6TVgsT0FBTztZRTBNTixlQUFlLEVBQUUsSUFBSSxHQU14QjtZa0svTUwsQWxLMk1RLFdrSzNNRyxDQU9QLEVBQUUsQUF1Q0csaUJBQWlCLENBTWQsQ0FBQyxBbEtrSlIsTUFBTSxBQUtGLE1BQU0sRWtLM01mLFdBQVcsQ0FPUCxFQUFFLEFBdUN1QixpQkFBaUIsQ0FNbEMsQ0FBQyxBbEtrSlIsTUFBTSxBQUtGLE1BQU0sQ0FBQztjQUNKLFVBQVUsRUY3TWYsT0FBTztjRThNRixlQUFlLEVBQUUsSUFBSSxHQUN4QjtJa0s5TVQsQUF1RVksV0F2RUQsQ0FPUCxFQUFFLEFBK0RHLE9BQU8sQ0FDSixDQUFDLENBQUM7TUFDRSxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3BLNUUxQixPQUFPO01vSzZFRSxXQUFXLEVBQUUsSUFBSTtNbEtzRzdCLEtBQUssRUZuTEYsT0FBTztNRW9MVixVQUFVLEVrS3RHNkMsT0FBTyxHQUNyRDtNQTNFYixBbEtvTEksV2tLcExPLENBT1AsRUFBRSxBQStERyxPQUFPLENBQ0osQ0FBQyxBbEs2R1IsT0FBTyxFa0twTFosV0FBVyxDQU9QLEVBQUUsQUErREcsT0FBTyxDQUNKLENBQUMsQWxLNkdFLE1BQU0sQ0FBQztRQUNkLEtBQUssRUZ6TE4sT0FBTztRRTBMTixVQUFVLEVGbEtYLE9BQU8sR0V3S1Q7UWtLNUxMLEFsS3dMUSxXa0t4TEcsQ0FPUCxFQUFFLEFBK0RHLE9BQU8sQ0FDSixDQUFDLEFsSzZHUixPQUFPLEFBSUgsTUFBTSxFa0t4TGYsV0FBVyxDQU9QLEVBQUUsQUErREcsT0FBTyxDQUNKLENBQUMsQWxLNkdFLE1BQU0sQUFJWixNQUFNLENBQUM7VUFDSixLQUFLLEVGN0xWLE9BQU87VUU4TEYsVUFBVSxFRnRLZixPQUFPLEdFdUtMO01rSzNMVCxBbEs4TEksV2tLOUxPLENBT1AsRUFBRSxBQStERyxPQUFPLENBQ0osQ0FBQyxBbEt1SFIsT0FBTyxDQUFDO1FBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtRa0twTUwsQWxLaU1RLFdrS2pNRyxDQU9QLEVBQUUsQUErREcsT0FBTyxDQUNKLENBQUMsQWxLdUhSLE9BQU8sQUFHSCxNQUFNLENBQUM7VUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtNa0tuTVQsQWxLc01JLFdrS3RNTyxDQU9QLEVBQUUsQUErREcsT0FBTyxDQUNKLENBQUMsQWxLK0hSLE1BQU0sQ0FBQztRQUNKLEtBQUssRUYzTU4sT0FBTztRRTRNTixVQUFVLEVGcExYLE9BQU87UUVxTE4sZUFBZSxFQUFFLElBQUksR0FNeEI7UWtLL01MLEFsSzJNUSxXa0szTUcsQ0FPUCxFQUFFLEFBK0RHLE9BQU8sQ0FDSixDQUFDLEFsSytIUixNQUFNLEFBS0YsTUFBTSxDQUFDO1VBQ0osVUFBVSxFRnhMZixPQUFPO1VFeUxGLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0lrSzlNVCxBQStFWSxXQS9FRCxDQU9QLEVBQUUsQUF1RUcsaUJBQWlCLENBQ2QsQ0FBQyxDQUFDO01BQ0UsT0FBTyxFQUFFLEVBQUU7TWxLK0Z2QixLQUFLLEVGN0pGLE9BQU87TUU4SlYsVUFBVSxFRjVKUCxPQUFPLEdvSzhERDtNQWxGYixBbEtvTEksV2tLcExPLENBT1AsRUFBRSxBQXVFRyxpQkFBaUIsQ0FDZCxDQUFDLEFsS3FHUixPQUFPLEVrS3BMWixXQUFXLENBT1AsRUFBRSxBQXVFRyxpQkFBaUIsQ0FDZCxDQUFDLEFsS3FHRSxNQUFNLENBQUM7UUFDZCxLQUFLLEVGekxOLE9BQU87UUUwTE4sVUFBVSxFRmxLWCxPQUFPLEdFd0tUO1FrSzVMTCxBbEt3TFEsV2tLeExHLENBT1AsRUFBRSxBQXVFRyxpQkFBaUIsQ0FDZCxDQUFDLEFsS3FHUixPQUFPLEFBSUgsTUFBTSxFa0t4TGYsV0FBVyxDQU9QLEVBQUUsQUF1RUcsaUJBQWlCLENBQ2QsQ0FBQyxBbEtxR0UsTUFBTSxBQUlaLE1BQU0sQ0FBQztVQUNKLEtBQUssRUY3TFYsT0FBTztVRThMRixVQUFVLEVGdEtmLE9BQU8sR0V1S0w7TWtLM0xULEFsSzhMSSxXa0s5TE8sQ0FPUCxFQUFFLEFBdUVHLGlCQUFpQixDQUNkLENBQUMsQWxLK0dSLE9BQU8sQ0FBQztRQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7UWtLcE1MLEFsS2lNUSxXa0tqTUcsQ0FPUCxFQUFFLEFBdUVHLGlCQUFpQixDQUNkLENBQUMsQWxLK0dSLE9BQU8sQUFHSCxNQUFNLENBQUM7VUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtNa0tuTVQsQWxLc01JLFdrS3RNTyxDQU9QLEVBQUUsQUF1RUcsaUJBQWlCLENBQ2QsQ0FBQyxBbEt1SFIsTUFBTSxDQUFDO1FBQ0osS0FBSyxFRjNNTixPQUFPO1FFNE1OLFVBQVUsRUZwTFgsT0FBTztRRXFMTixlQUFlLEVBQUUsSUFBSSxHQU14QjtRa0svTUwsQWxLMk1RLFdrSzNNRyxDQU9QLEVBQUUsQUF1RUcsaUJBQWlCLENBQ2QsQ0FBQyxBbEt1SFIsTUFBTSxBQUtGLE1BQU0sQ0FBQztVQUNKLFVBQVUsRUZ4TGYsT0FBTztVRXlMRixlQUFlLEVBQUUsSUFBSSxHQUN4QjtJa0s5TVQsQUF1RlksV0F2RkQsQ0FPUCxFQUFFLEFBOEVHLGNBQWMsQ0FFWCxDQUFDLENBQUM7TUFDRSxXQUFXLEVBQUUsQ0FBQyxHQUNqQjtFQXpGYixBQTZGSSxXQTdGTyxDQTZGUCxTQUFTLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJQUNYLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLE1BQU0sRUFBRSxPQUFPLEdBQ2xCOztBQ3ZHTCxBQUFBLE9BQU8sQ0FBQztFQUNKLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsYUFBYSxFbktvUUwsT0FBMkIsR21LbEx0QztFQWhGSSxBQUFELGFBQU8sQ0FBQztJQUNKLFlBQVksRW5LaVFSLFNBQTJCLEdtSzVQbEM7SUFOQSxBQUdHLGFBSEcsQUFHRixjQUFjLENBQUM7TUFDWixZQUFZLEVuSzhQWixRQUEyQixHbUs3UDlCO0VBR0osQUFBRCxhQUFPLENBQUM7SUFDSixRQUFRLEVBQUUsUUFBUSxHQXNFckI7SUF2RUEsQUFHRyxhQUhHLEFBR0YsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLEVBQUU7TW5LcU9mLFdBQVcsRUY3S0ksb0JBQW9CLEVFNktDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNbUtuTzVELEtBQUssRXJLS1YsT0FBTztNcUtKRixVQUFVLEVyS0tmLE9BQU87TXFLSkYsU0FBUyxFbktrUFQsUUFBMkI7TW1LalAzQixLQUFLLEVuS2lQTCxTQUEyQjtNbUtoUDNCLE1BQU0sRW5LZ1BOLFNBQTJCO01tSy9PM0IsT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTTtNQUNuQixlQUFlLEVBQUUsTUFBTTtNQUN2QixVQUFVLEVyS3NEYixJQUFHLENBQUMsUUFBUTtNcUtyRFQsYUFBYSxFQUFFLEdBQUcsR0FDckI7SUFoQkosQUFrQkcsYUFsQkcsQUFrQkYsTUFBTSxDQUFDO01BQ0osZUFBZSxFQUFFLElBQUksR0FNeEI7TUF6QkosQUFxQk8sYUFyQkQsQUFrQkYsTUFBTSxBQUdGLE9BQU8sQ0FBQztRQUNMLEtBQUssRXJLckJWLElBQUk7UXFLc0JDLFVBQVUsRXJLL0JuQixPQUFPLEdxS2dDRDtJQUdKLEFBQUQsb0JBQVEsQ0FBQztNQUNMLE9BQU8sRUFBRSxJQUFJO01BQ2IsV0FBVyxFQUFFLE1BQU07TUFDbkIsS0FBSyxFcktuQlYsT0FBTztNcUtvQkYsVUFBVSxFcktxQ2IsSUFBRyxDQUFDLFFBQVE7TUVnSmpCLFNBQVMsRUFzQ0QsU0FBMkI7TUFyQ25DLFdBQVcsRW1Lckx1QixHQUFFLEdBb0IvQjtNNUpMTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UTRKcEJuQixBQUFELG9CQUFRLENBQUM7VW5LeUxiLFNBQVMsRUFzQ0QsUUFBMkI7VUFyQ25DLFdBQVcsRW1LbEwyQixPQUFFLEdBaUJuQztNQXpCQSxBQVdHLG9CQVhJLEFBV0gsT0FBTyxDQUFDO1FBQ0wsT0FBTyxFQUFFLE9BQU87UW5LeUx4QixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7UW1Ldkx4RCxZQUFZLEVuS2lOaEIsUUFBMkI7UW1LaE52QixVQUFVLEVyS3FDakIsZ0JBQWdCLEdxS3BDWjtNQWhCSixBQWtCRyxvQkFsQkksQUFrQkgsTUFBTSxDQUFDO1FBQ0osS0FBSyxFcktuQ2QsT0FBTyxHcUt3Q0Q7UUF4QkosQUFxQk8sb0JBckJBLEFBa0JILE1BQU0sQUFHRixPQUFPLENBQUM7VUFDTCxVQUFVLEVySzhCckIsZ0JBQWdCLEdxSzdCUjtJQUlSLEFBQ0csdUJBRE8sQUFDTixPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTyxHQUNuQjtJQUdKLEFBQ0csc0JBRE0sQUFDTCxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTyxHQUNuQjtJQUdKLEFBQ0csd0JBRFEsQUFDUCxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTyxHQUNuQjs7QUNsRmIsQUFBQSxNQUFNLENBQUM7RUFDSCxPQUFPLEVwS3NRQyxRQUEyQjtFb0tyUW5DLFVBQVUsRXRLd0JQLE9BQU87RXNLdkJWLGFBQWEsRXBLb1FMLFFBQTJCLEdvS25HdEM7RUE5SkksQUFBRCxTQUFJLENBQUM7SUFDRCxPQUFPLEVwS2dRSCxTQUEyQixDQUEzQixRQUEyQixDQUEzQixPQUEyQixDQUEzQixRQUEyQjtJb0svUC9CLFVBQVUsRXRLa0JYLE9BQU87SXNLakJOLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLE1BQU0sR0FDakI7RUFFQSxBQUFELFNBQUksQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDLEdBbUJiO0lBcEJBLEFBSU8sU0FKSixDQUlLLGFBQU8sQ0FBQztNQUNMLFVBQVUsRXRLT25CLE9BQU87TXNLTkUsT0FBTyxFcEttUFgsT0FBMkIsQ0FBM0IsUUFBMkI7TW9LbFB2QixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3RLSWpDLE9BQU87TXNLSEUsYUFBYSxFQUFFLENBQUM7TUFDaEIsY0FBYyxFQUFFLFNBQVM7TUFDekIsS0FBSyxFdEtBZCxPQUFPO01zS0NFLFdBQVcsRUFBRSxJQUFJO01wS3dNN0IsU0FBUyxFQXNDRCxJQUEyQjtNQXJDbkMsV0FBVyxFb0t4TTJCLE1BQUUsR0FDL0I7SUFiUixBQWVPLFNBZkosQ0FlSyxlQUFTLENBQUM7TUFDUCxVQUFVLEV0S0puQixPQUFPO01zS0tFLE9BQU8sRXBLd09YLE9BQTJCLENBQTNCLFFBQTJCLEdvS3ZPMUI7RUFJUixBQUFELFNBQUksQ0FBQztJQUNELE9BQU8sRXBLa09ILFFBQTJCO0lvS2pPL0IsVUFBVSxFdEtaWCxPQUFPO0lzS2FOLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLE1BQU0sR0FDakI7RUFFQSxBQUFELFNBQUksQ0FBQztJQUVELE9BQU8sRXBLeU5ILFFBQTJCLENBQTNCLFFBQTJCO0lvS3hOL0IsVUFBVSxFdEtwQlgsT0FBTyxHc0tpRVQ7SXBLM0VELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TW9LMkJuQyxBQUFELFNBQUksQ0FBQztRQU1HLE9BQU8sRXBLcU5QLFFBQTJCLEdvSzNLbEM7SUFoREEsQUFTRyxTQVRBLENBU0EsUUFBUSxDQUFDO01BQ0wsV0FBVyxFcEtpTlgsUUFBMkIsR29LMU05QjtNQWpCSixBQWFXLFNBYlIsQ0FTQSxRQUFRLEFBR0gsSUFBSSxBQUNBLE9BQU8sQ0FBQztRQUNMLEtBQUssRXRLeERsQixPQUFPLEdzS3lERztJQWZaLEFBbUJHLFNBbkJBLENBbUJBLGFBQWEsQ0FBQztNQUNWLEtBQUssRXRLOURWLE9BQU87TUUrTlYsU0FBUyxFQXNDRCxRQUEyQjtNQXJDbkMsV0FBVyxFb0tqS3VCLE9BQUU7TUFDNUIsV0FBVyxFQUFFLElBQUk7TUFDakIsYUFBYSxFQUFFLENBQUMsR0FDbkI7SUF4QkosQUEwQkcsU0ExQkEsQ0EwQkEsYUFBYSxDQUFDO01BQ1YsT0FBTyxFQUFFLElBQUk7TUFDYixHQUFHLEVwSytMSCxTQUEyQjtNb0s5TDNCLFNBQVMsRUFBRSxJQUFJLEdBVWxCO01wS2xFTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FvSzJCbkMsQUEwQkcsU0ExQkEsQ0EwQkEsYUFBYSxDQUFDO1VBTU4sR0FBRyxFcEsyTFAsUUFBMkIsR29LcEw5QjtNQXZDSixBQW1DTyxTQW5DSixDQW1DSyxxQkFBUSxDQUFDO1FBQ04sS0FBSyxFQUFFLHlCQUE4QjtRQUNyQyxTQUFTLEVwS3NMYixPQUEyQixHb0tyTDFCO0lBdENSLEFBeUNHLFNBekNBLENBeUNBLElBQUksQ0FBQztNQUNELFlBQVksRXBLaUxaLFFBQTJCLEdvSzVLOUI7TUEvQ0osQUE0Q08sU0E1Q0osQ0F5Q0EsSUFBSSxBQUdDLE9BQU8sQ0FBQztRQUNMLFNBQVMsRXBLOEtiLE9BQTJCLEdvSzdLMUI7RUFJUixBQUFELFlBQU8sQ0FBQztJQUNKLE9BQU8sRXBLd0tILE9BQTJCLENBQTNCLFFBQTJCLENBQTNCLFFBQTJCLENBQTNCLFFBQTJCO0lvS3ZLL0IsVUFBVSxFdEt0RVgsT0FBTztJc0t1RU4sTUFBTSxFQUFFLElBQUksR0FDZjtFQUVBLEFBQUQsWUFBTyxDQUFDO0lBQ0osTUFBTSxFQUFFLElBQUk7SUFDWixRQUFRLEVBQUUsTUFBTSxHQUtuQjtJQVBBLEFBSUcsWUFKRyxDQUlILGVBQWUsQ0FBQztNQUNaLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7RUExR1QsQUE4R1EsTUE5R0YsQ0E4R0csV0FBTyxDQUFDO0lBQ0wsS0FBSyxFcEt3SkwsUUFBMkI7SW9LdkozQixNQUFNLEVwS3VKTixRQUEyQjtJb0t0SjNCLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDcEtzSmQsT0FBMkIsQ29LdEpELElBQUk7SUFDOUIsT0FBTyxFQUFFLFlBQVk7SUFDckIsUUFBUSxFQUFFLFFBQVEsR0FhckI7SUFoSVQsQUFxSFksTUFySE4sQ0E4R0csV0FBTyxBQU9ILE9BQU8sQ0FBQztNQUNMLE9BQU8sRUFBRSxPQUFPO01BQ2hCLFNBQVMsRXBLZ0piLFFBQTJCO01vSy9JdkIsS0FBSyxFcEsrSVQsUUFBMkI7TW9LOUl2QixNQUFNLEVwSzhJVixRQUEyQjtNb0s3SXZCLE9BQU8sRUFBRSxJQUFJO01BQ2IsV0FBVyxFQUFFLE1BQU07TUFDbkIsZUFBZSxFQUFFLE1BQU07TXBLaUgvQixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TW9LL0d4RCxLQUFLLEV0Sy9GZCxPQUFPLEdzS2dHRDtFQS9IYixBQWtJUSxNQWxJRixDQWtJRyxhQUFTLENBQUM7SUFDUCxLQUFLLEVwS29JTCxRQUEyQjtJb0tuSTNCLE1BQU0sRXBLbUlOLFFBQTJCO0lvS2xJM0IsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENwS2tJZCxPQUEyQixDb0tsSUQsSUFBSTtJQUM5QixPQUFPLEVBQUUsWUFBWTtJQUNyQixRQUFRLEVBQUUsUUFBUSxHQWFyQjtJQXBKVCxBQXlJWSxNQXpJTixDQWtJRyxhQUFTLEFBT0wsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU87TUFDaEIsU0FBUyxFcEs0SGIsUUFBMkI7TW9LM0h2QixLQUFLLEVwSzJIVCxRQUEyQjtNb0sxSHZCLE1BQU0sRXBLMEhWLFFBQTJCO01vS3pIdkIsT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTTtNQUNuQixlQUFlLEVBQUUsTUFBTTtNcEs2Ri9CLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNb0szRnhELEtBQUssRXRLMUhkLE9BQU8sR3NLMkhEO0VBbkpiLEFBdUpJLE1BdkpFLEFBdUpELElBQUksQ0FBQztJQUNGLFFBQVEsRUFBRSxRQUFRLEdBV3JCO0lBbktMLEFBMEpRLE1BMUpGLEFBdUpELElBQUksQUFHQSxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsRUFBRTtNQUNYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE1BQU0sRXBLMEdOLFNBQTJCO01vS3pHM0IsS0FBSyxFQUFFLENBQUM7TUFDUixVQUFVLEVBQUUsK0JBQWtDLENBQUMsU0FBUyxDQUFDLGNBQWdCO01BQ3pFLE1BQU0sRXBLdUdOLE9BQTJCO01vS3RHM0IsS0FBSyxFcEtzR0wsV0FBMkIsR29Lckc5Qjs7QUNqS0osQUFBRCxjQUFNLENBQUM7RUFDSCxhQUFhLEVyS3FRVCxRQUEyQixHcUt2UGxDO0VBZkEsQUFHRyxjQUhFLEFBR0QsYUFBYSxDQUFDO0lBQ1gsYUFBYSxFcktrUWIsSUFBMkIsR3FLalE5QjtFQUVBLEFBQUQsb0JBQU8sQ0FBQztJQUNKLE1BQU0sRUFBRSxJQUFJO0lBQ1osUUFBUSxFQUFFLE1BQU0sR0FLbkI7SUFQQSxBQUlHLG9CQUpHLENBSUgsZ0JBQWdCLENBQUM7TUFDYixNQUFNLEVBQUUsSUFBSSxHQUNmOztBQUlSLEFBQUQsZ0JBQVEsQ0FBQztFQUNMLE1BQU0sRUFBRSxPQUFPO0VySzhNbkIsU0FBUyxFQXNDRCxPQUEyQjtFQXJDbkMsV0FBVyxFcUs5TW1CLEdBQUU7RUFDNUIsS0FBSyxFdktHTixPQUFPO0V1S0ZOLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE9BQU8sRXJLK09ILE9BQTJCLENBQTNCLFFBQTJCLENBQTNCLE9BQTJCLENBQTNCLFFBQTJCO0VxSzlPL0IsVUFBVSxFdktDWCxPQUFPO0V1S0FOLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRXZLc0RULElBQUcsQ0FBQyxRQUFRLEd1S2tCaEI7RUFqRkEsQUFXRyxnQkFYSSxBQVdILE1BQU0sQ0FBQztJQUNKLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSyxFcktzT0wsUUFBMkI7SXFLck8zQixTQUFTLEVBQUUsZ0JBQWdCO0lySzJNL0IsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0lxS3pNNUQsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUFuQkosQUFxQkcsZ0JBckJJLENBcUJILEFBQUEsYUFBQyxDQUFjLE1BQU0sQUFBcEIsRUFBc0I7SUFDcEIsS0FBSyxFdktsQlYsT0FBTyxHdUs4Qkw7SUFsQ0osQUF3Qk8sZ0JBeEJBLENBcUJILEFBQUEsYUFBQyxDQUFjLE1BQU0sQUFBcEIsQ0FHRyxNQUFNLENBQUM7TUFDSixPQUFPLEVBQUUsT0FBTztNQUNoQixLQUFLLEV2S3RCZCxPQUFPLEd1S3VCRDtJQTNCUixBQThCVyxnQkE5QkosQ0FxQkgsQUFBQSxhQUFDLENBQWMsTUFBTSxBQUFwQixFQVFFLGNBQWMsQ0FDVixLQUFLLEVBOUJoQixnQkFBTyxDQXFCSCxBQUFBLGFBQUMsQ0FBYyxNQUFNLEFBQXBCLEVBUUUsY0FBYyxDN0R6QjFCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBS0YsV0FBVyxFQS9EdkIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQzZEOURULGdCQUFPLENBcUJILEFBQUEsYUFBQyxDQUFjLE1BQU0sQUFBcEIsRUFRRSxjQUFjLEM3RHNDZCxXQUFXLEM2RHJDRDtNQUNGLEtBQUssRXZLMUJsQixPQUFPLEd1SzJCRztFQUlSLEFBQUQsK0JBQWdCLENBQUM7SUFDYixNQUFNLEVBQUUsSUFBSSxHQUtmO0lBTkEsQUFHRywrQkFIWSxBQUdYLE1BQU0sQ0FBQztNQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBR0osQUFBRCx1QkFBUSxDQUFDO0lBQ0wsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTSxHQVN0QjtJQVhBLEFBSUcsdUJBSkksQUFJSCxPQUFPLENBQUM7TUFDTCxLQUFLLEV2SzNDZCxPQUFPO011SzRDRSxPQUFPLEVBQUUsT0FBTztNcksrS3hCLFdBQVcsRUY3S00sc0JBQXNCLEVFNktELFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNcUs3SzFELFlBQVksRXJLaU1oQixRQUEyQjtNcUtoTXZCLFNBQVMsRXJLZ01iLFFBQTJCLEdxSy9MMUI7RUFHSixBQUFELHNCQUFPLENBQUM7SUFDSixVQUFVLEV2S2pEZixPQUFPLEd1S3NETDtJQU5BLEFBR0csc0JBSEcsQ0FHRixBQUFBLGFBQUMsQ0FBYyxNQUFNLEFBQXBCLEVBQXNCO01BQ3BCLEtBQUssRXZLekRkLE9BQU8sR3VLMEREO0VBOURSLEFBaUVHLGdCQWpFSSxDQWlFSixLQUFLLEVBakVSLGdCQUFPLEM3RElaLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBS0YsV0FBVyxFQS9EdkIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQzZEOURULGdCQUFPLEM3RG1FQSxXQUFXLEM2REZUO0lBQ0YsTUFBTSxFQUFFLE9BQU8sR0FDbEI7RUFuRUosQUFxRUcsZ0JBckVJLENBcUVKLGNBQWMsQ0FBQztJQUNYLGFBQWEsRUFBRSxDQUFDO0lyS3lJeEIsU0FBUyxFQXNDRCxPQUEyQjtJQXJDbkMsV0FBVyxFcUt6SXVCLEdBQUUsR0FTL0I7SUFoRkosQUF5RU8sZ0JBekVBLENBcUVKLGNBQWMsQ0FJVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBQW1CLEtBQUssQ0FBQyxJQUFJLEVBekUxQyxnQkFBTyxDQXFFSixjQUFjLEM3RGpFdEIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQzZEV0YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJN0ROTixXQUFXLEM2RE1vQixJQUFJLEU3RHJFL0MsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQzZEOURULGdCQUFPLENBcUVKLGNBQWMsQ0FJVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEk3RE5OLFdBQVcsQzZETW9CLElBQUksQ0FBQztNQUNoQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3ZLbkUxQixPQUFPLEd1S29FRDtJQTNFUixBQTZFTyxnQkE3RUEsQ0FxRUosY0FBYyxDQVFWLEtBQUssRUE3RVosZ0JBQU8sQ0FxRUosY0FBYyxDN0RqRXRCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBS0YsV0FBVyxFQS9EdkIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQzZEOURULGdCQUFPLENBcUVKLGNBQWMsQzdERlYsV0FBVyxDNkRVTDtNQUNGLEtBQUssRXZLeEVkLE9BQU8sR3VLeUVEOztBQUlSLEFBQUQsZ0JBQVEsQ0FBQztFQUNMLFVBQVUsRXZLNUVYLE9BQU87RXVLNkVOLE9BQU8sRUFBRSxDQUFDLENyS2dLTixRQUEyQixDQUEzQixPQUEyQixDQUEzQixRQUEyQixHcUsvR2xDO0VBL0NJLEFBQUQsc0JBQU8sQ0FBQztJQUNKLFVBQVUsRXZLL0VmLE9BQU8sR3VLZ0ZMO0VBRUEsQUFBRCx5QkFBVSxDQUFDO0lBQ1AsUUFBUSxFQUFFLFFBQVEsR0FnQnJCO0lBakJBLEFBR0cseUJBSE0sQUFHTCxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTztNcksrSHhCLFdBQVcsRUZ6S0ksb0JBQW9CLEVFeUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNcUs3SHhELFFBQVEsRUFBRSxRQUFRO01BQ2xCLEtBQUssRXJLbUpULFNBQTJCO01xS2xKdkIsTUFBTSxFcktrSlYsU0FBMkI7TXFLakp2QixTQUFTLEVyS2lKYixTQUEyQjtNcUtoSnZCLE1BQU0sRXJLZ0pWLFNBQTJCO01xSy9JdkIsS0FBSyxFcksrSVQsUUFBMkI7TXFLOUl2QixPQUFPLEVBQUUsSUFBSTtNQUNiLFdBQVcsRUFBRSxNQUFNO01BQ25CLGVBQWUsRUFBRSxNQUFNO01BQ3ZCLEtBQUssRXZLakdkLE9BQU8sR3VLa0dEO0VBeEJSLEFBMkJHLGdCQTNCSSxDQTJCSixLQUFLLENBQUM7SUFDRixLQUFLLEV2S3pHVixPQUFPLEd1SzhHTDtJQWpDSixBQThCTyxnQkE5QkEsQ0EyQkosS0FBSyxBQUdBLGFBQWEsQ0FBQztNQUNYLGFBQWEsRXJLbUlqQixRQUEyQixHcUtsSTFCO0VBaENSLEFBbUNHLGdCQW5DSSxDQW1DSixjQUFjLENBQUM7SUFDWCxhQUFhLEVBQUUsQ0FBQztJckt3RnhCLFNBQVMsRUFzQ0QsU0FBMkI7SUFyQ25DLFdBQVcsRXFLeEZ1QixHQUFFLEdBYS9CO0k5SjNGTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TThKeUN2QixBQW1DRyxnQkFuQ0ksQ0FtQ0osY0FBYyxDQUFDO1FyS3lGbkIsU0FBUyxFQXNDRCxRQUEyQjtRQXJDbkMsV0FBVyxFcUtyRjJCLE9BQUUsR0FVbkM7SUFsREosQUEyQ08sZ0JBM0NBLENBbUNKLGNBQWMsQ0FRVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBQW1CLEtBQUssQ0FBQyxJQUFJLEVBM0MxQyxnQkFBTyxDQW1DSixjQUFjLEM3RGxIdEIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQzZEZ0VGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSTdEM0ROLFdBQVcsQzZEMkRvQixJQUFJLEU3RDFIL0MsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQzZEcUJULGdCQUFPLENBbUNKLGNBQWMsQ0FRVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEk3RDNETixXQUFXLEM2RDJEb0IsSUFBSSxDQUFDO01BQ2hDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDdkt4SDFCLE9BQU8sR3VLeUhEO0lBN0NSLEFBK0NPLGdCQS9DQSxDQW1DSixjQUFjLENBWVYsS0FBSyxFQS9DWixnQkFBTyxDQW1DSixjQUFjLEM3RGxIdEIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0FLRixXQUFXLEVBL0R2QixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDNkRxQlQsZ0JBQU8sQ0FtQ0osY0FBYyxDN0RuRFYsV0FBVyxDNkQrREw7TUFDRixLQUFLLEV2SzlIZCxPQUFPLEd1SytIRDs7QUN0SmIsQUFBQSxlQUFlLENBQUM7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixlQUFlLEVBQUUsSUFBSSxHQXdNeEI7RUF0TUksQUFBRCxxQkFBTyxDQUFDO0lBQ0osYUFBYSxFQUFFLENBQUMsR0FDbkI7RUFFQSxBQUFELHFCQUFPLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxhQUFhO0lBQzlCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLE9BQU8sRXRLeVBILFNBQTJCO0lzS3hQL0IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN4S1Z6QixPQUFPO0l3S1dOLFVBQVUsRXhLRlAsSUFBSSxHd0tXVjtJL0ptQ0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO00rSmxEdkIsQUFBRCxxQkFBTyxDQUFDO1FBU0EsT0FBTyxFdEtvUFAsU0FBMkIsR3NLOU9sQztJQWZBLEFBWUcscUJBWkcsQUFZRixNQUFNLENBQUM7TUFDSixlQUFlLEVBQUUsSUFBSSxHQUN4QjtFQUdKLEFBQUQsb0JBQU0sQ0FBQztJQUNILE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsS0FBSyxFQUFFLElBQUksR0FDZDtFQUVBLEFBQUQsb0JBQU0sQ0FBQztJQUNILFlBQVksRXRLcU9SLFFBQTJCO0lzS3BPL0IsU0FBUyxFdEtvT0wsUUFBMkI7SXNLbk8vQixVQUFVLEV0S21PTixRQUEyQixHc0s1TmxDO0kvSmlCRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TStKM0J2QixBQUFELG9CQUFNLENBQUM7UUFNQyxZQUFZLEV0S2dPWixTQUEyQjtRc0svTjNCLFNBQVMsRXRLK05ULE9BQTJCO1FzSzlOM0IsVUFBVSxFQUFFLElBQUksR0FFdkI7RUFFQSxBQUFELHNCQUFRLENBQUM7SUFDTCxLQUFLLEV4S3hCTixPQUFPO0l3S3lCTixhQUFhLEV0S3dOVCxTQUEyQjtJQXRDbkMsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFc0tsTG1CLEdBQUUsR0FTL0I7SS9KR0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO00rSmZ2QixBQUFELHNCQUFRLENBQUM7UXRLb0xULFNBQVMsRUFzQ0QsUUFBMkI7UUFyQ25DLFdBQVcsRXNLL0t1QixPQUFFLEdBTW5DO0kvSkdELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNK0pmdkIsQUFBRCxzQkFBUSxDQUFDO1F0S29MVCxTQUFTLEVBc0NELElBQTJCO1FBckNuQyxXQUFXLEVzSzNLdUIsTUFBRSxHQUVuQztFQUVBLEFBQUQsc0JBQVEsQ0FBQztJQUNMLEtBQUssRXhLekROLE9BQU87SXdLMEROLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsV0FBVyxFQUFFLElBQUk7SUFDakIsV0FBVyxFQUFFLFFBQVE7SXRLaUt6QixTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEVzS2pLbUIsR0FBRSxHQXFCL0I7SS9KMUJELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNK0pEdkIsQUFBRCxzQkFBUSxDQUFDO1F0S3NLVCxTQUFTLEVBc0NELE9BQTJCO1FBckNuQyxXQUFXLEVzSzlKdUIsT0FBRSxHQWtCbkM7SS9KMUJELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNK0pEdkIsQUFBRCxzQkFBUSxDQUFDO1F0S3NLVCxTQUFTLEVBc0NELFFBQTJCO1FBckNuQyxXQUFXLEVzSzFKdUIsT0FBRSxHQWNuQztJQVhJLEFBQUQsOEJBQVMsQ0FBQztNQUNOLEtBQUssRXhLbkRWLE9BQU87TXdLb0RGLGVBQWUsRUFBRSxZQUFZO01BQzdCLFdBQVcsRUFBRSxNQUFNO01BQ25CLFdBQVcsRXRLd0xYLFNBQTJCO01BdENuQyxTQUFTLEVBc0NELFNBQTJCO01BckNuQyxXQUFXLEVzS2xKdUIsR0FBRSxHQUsvQjtNL0p6QkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1ErSmVuQixBQUFELDhCQUFTLENBQUM7VXRLc0pkLFNBQVMsRUFzQ0QsT0FBMkI7VUFyQ25DLFdBQVcsRXNLL0kyQixPQUFFLEdBRW5DO0VBR0osQUFBRCx5QkFBVyxDQUFDO0lBQ1IsS0FBSyxFeEt2Rk4sT0FBTztJd0t3Rk4sV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFdEs0S1IsT0FBMkI7SXNLM0svQixPQUFPLEVBQUUsSUFBSTtJdEtxSWpCLFNBQVMsRUFzQ0QsU0FBMkI7SUFyQ25DLFdBQVcsRXNLckltQixHQUFFLEdBVS9CO0kvSjNDRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TStKNEJ2QixBQUFELHlCQUFXLENBQUM7UXRLeUlaLFNBQVMsRUFzQ0QsUUFBMkI7UUFyQ25DLFdBQVcsRXNLbEl1QixHQUFFLEdBT25DO0kvSjNDRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TStKNEJ2QixBQUFELHlCQUFXLENBQUM7UXRLeUlaLFNBQVMsRUFzQ0QsT0FBMkI7UUFyQ25DLFdBQVcsRXNLOUh1QixPQUFFO1FBQzVCLE9BQU8sRUFBRSxZQUFZLEdBRTVCO0VBRUEsQUFBRCxxQkFBTyxDQUFDO0lBQ0osS0FBSyxFeEtsRk4sT0FBTztJd0ttRk4sWUFBWSxFdEs0SlIsT0FBMkI7SXNLM0ovQixhQUFhLEVBQUUsQ0FBQztJdEtxSHBCLFNBQVMsRUFzQ0QsU0FBMkI7SUFyQ25DLFdBQVcsRXNLckhtQixHQUFFLEdBYy9CO0kvSi9ERCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TStKNkN2QixBQUFELHFCQUFPLENBQUM7UXRLd0hSLFNBQVMsRUFzQ0QsT0FBMkI7UUFyQ25DLFdBQVcsRXNLbEh1QixPQUFFLEdBV25DO0kvSi9ERCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TStKNkN2QixBQUFELHFCQUFPLENBQUM7UUFXQSxPQUFPLEVBQUUsWUFBWTtRQUNyQixZQUFZLEV0S2tKWixRQUEyQixHc0s1SWxDO0kvSi9ERCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TStKNkN2QixBQUFELHFCQUFPLENBQUM7UUFnQkEsWUFBWSxFdEs4SVosT0FBMkIsR3NLNUlsQzs7QTNHbkhMLEFBQUEsU0FBUyxDNEdSQztFQUNOLEtBQUssRUFBRSxJQUFJO0VBQ1gsYUFBYSxFQUFFLENBQUM7RUFDaEIsZ0JBQWdCLEV6S1dULElBQUk7RXlLVlgsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN6S0ZkLE9BQU8sR3lLMkViO0VBdkVJLEFBQUQsZ0JBQVEsQ0FBQztJQUNMLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU0sR0F5QnRCO0lBNUJBLEFBS0csZ0JBTEksQUFLSCxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsY0FBYyxDQUFDLEtBQUs7TUFDN0IsS0FBSyxFektTVixPQUFPO015S1JGLFlBQVksRXZLeVBaLFNBQTJCO011S3hQM0IsV0FBVyxFQUFFLE1BQU07TXZLa04zQixTQUFTLEVBc0NELFNBQTJCO01BckNuQyxXQUFXLEV1S2xOdUIsR0FBRSxHQUsvQjtNaEt1Q0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FnS3REdkIsQUFLRyxnQkFMSSxBQUtILE9BQU8sQ0FBQztVdktzTmIsU0FBUyxFQXNDRCxPQUEyQjtVQXJDbkMsV0FBVyxFdUsvTTJCLE9BQUUsR0FFbkM7SUFmSixBQWlCRyxnQkFqQkksQUFpQkgsTUFBTSxDQUFDO01BQ0osT0FBTyxFQUFFLGNBQWMsQ0FBQyxLQUFLO01BQzdCLEtBQUssRXpLSFYsT0FBTztNeUtJRixXQUFXLEVBQUUsTUFBTTtNQUNuQixXQUFXLEV2SzRPWCxTQUEyQjtNQXRDbkMsU0FBUyxFQXNDRCxTQUEyQjtNQXJDbkMsV0FBVyxFdUt0TXVCLEdBQUUsR0FLL0I7TWhLMkJMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRZ0t0RHZCLEFBaUJHLGdCQWpCSSxBQWlCSCxNQUFNLENBQUM7VXZLME1aLFNBQVMsRUFzQ0QsT0FBMkI7VUFyQ25DLFdBQVcsRXVLbk0yQixPQUFFLEdBRW5DO0VBR0osQUFBRCxrQkFBVSxDQUFDO0lBQ1AsT0FBTyxFdktrT0gsUUFBMkI7SXVLak8vQixVQUFVLEV6S1pYLE9BQU87SXlLYU4sYUFBYSxFdktnT1QsUUFBMkIsR3VLM05sQztJdkszQkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNdUttQmxDLEFBQUQsa0JBQVUsQ0FBQztRQU1ILE9BQU8sRXZLNk5QLFFBQTJCLEd1SzNObEM7RUFFQSxBQUFELGdCQUFRLENBQUM7SUFDTCxLQUFLLEV6S3hCTixPQUFPO0lFME1WLFNBQVMsRUFzQ0QsSUFBMkI7SUFyQ25DLFdBQVcsRXVLbExtQixNQUFFO0lBQzVCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLGFBQWEsRXZLcU5ULE9BQTJCLEd1S3ZNbEM7SUFsQkEsQUFNRyxnQkFOSSxBQU1ILE9BQU8sQ0FBQztNQUNMLE9BQU8sRUFBRSxPQUFPO01BQ2hCLEtBQUssRXpLL0JWLE9BQU87TUVzTk4sV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO011S3JMNUQsWUFBWSxFdksrTVosU0FBMkI7TXVLOU0zQixPQUFPLEVBQUUsSUFBSTtNQUNiLFNBQVMsRXZLNk1ULE1BQTJCLEd1S3hNOUI7TXZLOUNMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UXVLNkJsQyxBQU1HLGdCQU5JLEFBTUgsT0FBTyxDQUFDO1VBU0QsT0FBTyxFQUFFLFlBQVksR0FFNUI7RWhLSEwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lnS012QixBQUFELGNBQU0sQ0FBQztNQUVDLE9BQU8sRUFBRSxJQUFJO01BQ2IsZUFBZSxFQUFFLGFBQWEsR0FFckM7RUF2RUwsQUF5RUksU0F6RUssQ0F5RUwsYUFBYSxDQUFDO0lBQ1YsVUFBVSxFekt4RVgsT0FBTztJeUt5RU4sTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN6SzdEZCxJQUFJLEd5SzhEVjs7QUN6RUEsQUFBRCxVQUFNLENBQUM7RUFDSCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixlQUFlLEVBQUUsYUFBYTtFQUM5QixhQUFhLEV4SytQVCxRQUEyQjtFd0s5UC9CLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDMUtnQnpCLE9BQU8sRzBLZ0NUO0VBdERBLEFBUUcsVUFSRSxHQVFBLEVBQUUsQ0FBQztJQUNELEtBQUssRUFBRSxjQUFjLEdBMEJ4QjtJQW5DSixBQVdPLFVBWEYsR0FRQSxFQUFFLENBR0EsQ0FBQyxDQUFDO01BQ0UsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEV4S3VQWCxRQUEyQixDQUEzQixTQUEyQjtNd0t0UHZCLE9BQU8sRUFBRSxZQUFZO01BQ3JCLE1BQU0sRUFBRSxJQUFJO014SytNeEIsU0FBUyxFQXNDRCxTQUEyQjtNQXJDbkMsV0FBVyxFd0svTTJCLEdBQUUsR0FrQi9CO01qS3VCVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UWlLekR2QixBQVdPLFVBWEYsR0FRQSxFQUFFLENBR0EsQ0FBQyxDQUFDO1V4S21OVixTQUFTLEVBc0NELE9BQTJCO1VBckNuQyxXQUFXLEV3SzVNK0IsT0FBRSxHQWVuQztNeEtwQlQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRd0tkbEMsQUFXTyxVQVhGLEdBUUEsRUFBRSxDQUdBLENBQUMsQ0FBQztVQVlNLE9BQU8sRXhLNk9mLFNBQTJCLEN3SzdPQyxDQUFDO1V4S3VNckMsU0FBUyxFQXNDRCxJQUEyQjtVQXJDbkMsV0FBVyxFd0t2TStCLE1BQUUsR0FVbkM7TXhLcEJULE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UXdLZGxDLEFBV08sVUFYRixHQVFBLEVBQUUsQ0FHQSxDQUFDLENBQUM7VXhLbU5WLFNBQVMsRUFzQ0QsSUFBMkI7VUFyQ25DLFdBQVcsRXdLbk0rQixNQUFFLEdBTW5DO01qS3VCVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UWlLekR2QixBQVdPLFVBWEYsR0FRQSxFQUFFLENBR0EsQ0FBQyxDQUFDO1VBcUJNLE9BQU8sRXhLb09mLFNBQTJCLEd3S2xPMUI7RUFHSixBQUFELGtCQUFTLENBQUM7SUFDTixlQUFlLEVBQUUsVUFBVSxHQWU5QjtJQWhCQSxBQUdHLGtCQUhLLEdBR0gsRUFBRSxDQUFDO01BQ0QsS0FBSyxFQUFFLGNBQWMsR0FXeEI7TWpLS1QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FpS3BCbkIsQUFHRyxrQkFISyxHQUdILEVBQUUsQ0FBQztVQUlHLEtBQUssRUFBRSxjQUFjLEdBUTVCO01BZkosQUFVTyxrQkFWQyxHQUdILEVBQUUsQ0FPQSxDQUFDLENBQUM7UUFDRSxPQUFPLEVBQUUsSUFBSTtRQUNiLFdBQVcsRUFBRSxNQUFNO1FBQ25CLGVBQWUsRUFBRSxNQUFNLEdBQzFCOztBQUtaLEFBQUQsWUFBUSxDQUFDO0VBQ0wsY0FBYyxFQUFFLFNBQVM7RUFDekIsS0FBSyxFMUtyQ04sT0FBTztFMEtzQ04sV0FBVyxFQUFFLElBQUk7RUFDakIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxS2pEckIsSUFBSTtFMEtrRFAsVUFBVSxFMUtpQlQsSUFBRyxDQUFDLFFBQVE7RUVnSmpCLFNBQVMsRUFzQ0QsU0FBMkI7RUFyQ25DLFdBQVcsRXdLakttQixHQUFFLEdBOEIvQjtFaktuQ0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lpS0R2QixBQUFELFlBQVEsQ0FBQztNeEtzS1QsU0FBUyxFQXNDRCxRQUEyQjtNQXJDbkMsV0FBVyxFd0s5SnVCLE9BQUUsR0EyQm5DO0V4SzlFRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3SzBDbEMsQUFBRCxZQUFRLENBQUM7TXhLc0tULFNBQVMsRUFzQ0QsSUFBMkI7TUFyQ25DLFdBQVcsRXdLMUp1QixNQUFFLEdBdUJuQztFQXBDQSxBQWdCRyxZQWhCSSxBQWdCSCxPQUFPLENBQUM7SUFDTCxLQUFLLEUxSzFFVixPQUFPO0kwSzJFRixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFLM0U3QixPQUFPLEcwSzRFTDtFQW5CSixBQXFCRyxZQXJCSSxBQXFCSCxRQUFRLENBQUM7SUFDTixjQUFjLEVBQUUsSUFBSSxHQUN2QjtFQXZCSixBQXlCRyxZQXpCSSxBQXlCSCxNQUFNLENBQUM7SUFDSixlQUFlLEVBQUUsSUFBSTtJQUNyQixLQUFLLEUxS3BGVixPQUFPLEcwS3FGTDtFQUVBLEFBQUQsZUFBSSxDQUFDO0lBQ0QsS0FBSyxFMUtwRVYsT0FBTztJRTJNVixTQUFTLEVBc0NELFFBQTJCO0lBckNuQyxXQUFXLEV3S3ZJdUIsT0FBRTtJQUM1QixhQUFhLEV4SzJLYixPQUEyQjtJd0sxSzNCLFdBQVcsRUFBRSxNQUFNLEdBQ3RCOztBQUdKLEFBQUQsY0FBVSxDQUFDO0VBQ1AsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEN4S3FLUCxRQUEyQixDd0tyS1IsQ0FBQztFQUN4QixPQUFPLEVBQUUsQ0FBQztFQUNWLGVBQWUsRUFBRSxJQUFJLEdBK1l4QjtFQTdZSSxBQUFELG9CQUFPLENBQUM7SUFDSixhQUFhLEVBQUUsQ0FBQyxHQU9uQjtJQVJBLEFBSU8sb0JBSkQsQUFHRixhQUFhLENBQ1Ysb0JBQW9CLENBQUM7TUFDakIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxS2xGckMsT0FBTyxHMEttRkc7RUFJUixBQUFELG9CQUFPLENBQUM7SUFDSixPQUFPLEV4S3NKUCxPQUEyQixDQUEzQixTQUEyQjtJd0tySjNCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUt6RnRCLE9BQU87STBLMEZGLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFVBQVUsRUFBRSxNQUFNLEdBYXJCO0l4S2hITCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO013SytGOUIsQUFBRCxvQkFBTyxDQUFDO1FBT0EsT0FBTyxFeEtnSlgsU0FBMkIsQ0FBM0IsUUFBMkI7UXdLL0l2QixPQUFPLEVBQUUsSUFBSTtRQUNiLHFCQUFxQixFQUFFLGVBQWU7UUFDdEMsV0FBVyxFQUFFLE1BQU07UUFDbkIsUUFBUSxFeEs0SVosU0FBMkIsR3dLdEk5QjtJQWpCQSxBQWNHLG9CQWRHLEFBY0YsTUFBTSxDQUFDO01BQ0osZUFBZSxFQUFFLElBQUksR0FDeEI7RUFHSixBQUFELHFCQUFRLENBQUM7SUFDTCxTQUFTLEV4S21JVCxTQUEyQjtJd0tsSTNCLEtBQUssRXhLa0lMLFNBQTJCO0l3S2pJM0IsTUFBTSxFeEtpSU4sU0FBMkI7SXdLaEkzQixLQUFLLEUxS3pITixJQUFJO0kwSzBISCxXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsR0FBRztJQUNsQixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLFlBQVksRXhLMEhaLFFBQTJCO0lBdENuQyxTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEV3S3BGdUIsR0FBRSxHQXVCL0I7SWpLekdMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNaUt1RW5CLEFBQUQscUJBQVEsQ0FBQztReEs4RmIsU0FBUyxFQXNDRCxPQUEyQjtRQXJDbkMsV0FBVyxFd0tqRjJCLElBQUUsR0FvQm5DO0l4S3BKTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO013S2tIOUIsQUFBRCxxQkFBUSxDQUFDO1FBa0JELFNBQVMsRXhLa0hiLE1BQTJCO1F3S2pIdkIsS0FBSyxFeEtpSFQsTUFBMkI7UXdLaEh2QixNQUFNLEV4S2dIVixNQUEyQjtRQXRDbkMsU0FBUyxFQXNDRCxRQUEyQjtRQXJDbkMsV0FBVyxFd0sxRTJCLENBQUU7UUFDNUIsWUFBWSxFeEs4R2hCLFFBQTJCLEd3S2xHOUI7SUFUSSxBQUFELHdCQUFJLENBQUM7TUFDRCxVQUFVLEUxS3ZIbkIsT0FBTyxHMEt3SEQ7SUFDQSxBQUFELHdCQUFJLENBQUM7TUFDRCxVQUFVLEUxS3pIbkIsT0FBTyxHMEswSEQ7SUFDQSxBQUFELHdCQUFJLENBQUM7TUFDRCxVQUFVLEUxSzNIbkIsT0FBTyxHMEs0SEQ7RUFHSixBQUFELHFCQUFRLENBQUM7SUFDTCxLQUFLLEUxS2xKVixPQUFPO0lFMk1WLFNBQVMsRUFzQ0QsU0FBMkI7SUFyQ25DLFdBQVcsRXdLekR1QixHQUFFO0lBQzVCLGFBQWEsRUFBRSxDQUFDLEdBTW5CO0l4Sy9KTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO013S3NKOUIsQUFBRCxxQkFBUSxDQUFDO1F4SzBEYixTQUFTLEVBc0NELFFBQTJCO1FBckNuQyxXQUFXLEV3S3JEMkIsT0FBRTtRQUM1QixhQUFhLEV4S3lGakIsU0FBMkIsR3dLdkY5QjtFQUVBLEFBQUQsb0JBQU8sQ0FBQztJQUNKLEtBQUssRTFLM0pWLE9BQU87STBLNEpGLFlBQVksRXhLbUZaLE9BQTJCO0l3S2xGM0IsYUFBYSxFQUFFLENBQUM7SUFDaEIsT0FBTyxFQUFFLFlBQVk7SXhLMkM3QixTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEV3SzNDdUIsR0FBRSxHQVUvQjtJaktySUwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01pS3NIbkIsQUFBRCxvQkFBTyxDQUFDO1F4SytDWixTQUFTLEVBc0NELE9BQTJCO1FBckNuQyxXQUFXLEV3S3hDMkIsT0FBRSxHQU9uQztJQWZBLEFBV0csb0JBWEcsQ0FXSCxJQUFJLENBQUM7TUFDRCxLQUFLLEUxS3ZLZCxPQUFPO00wS3dLRSxXQUFXLEVBQUUsSUFBSSxHQUNwQjtFQUdKLEFBQUQsNEJBQWUsQ0FBQztJQUNaLEtBQUssRTFLNUtWLE9BQU87STBLNktGLFlBQVksRXhLa0VaLE9BQTJCO0l3S2pFM0IsYUFBYSxFQUFFLENBQUM7SUFDaEIsT0FBTyxFQUFFLFlBQVk7SXhLMEI3QixTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEV3SzFCdUIsR0FBRSxHQVUvQjtJakt0SkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01pS3VJbkIsQUFBRCw0QkFBZSxDQUFDO1F4SzhCcEIsU0FBUyxFQXNDRCxPQUEyQjtRQXJDbkMsV0FBVyxFd0t2QjJCLE9BQUUsR0FPbkM7SUFmQSxBQVdHLDRCQVhXLENBV1gsSUFBSSxDQUFDO01BQ0QsS0FBSyxFMUtoTGQsT0FBTztNMEtpTEUsV0FBVyxFQUFFLElBQUksR0FDcEI7RUFHSixBQUFELG9CQUFPLENBQUM7SUFDSixLQUFLLEUxSzdMVixPQUFPO0kwSzhMRixhQUFhLEVBQUUsQ0FBQztJQUNoQixPQUFPLEVBQUUsWUFBWTtJeEtVN0IsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFd0tWdUIsR0FBRSxHQVUvQjtJakt0S0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01pS3dKbkIsQUFBRCxvQkFBTyxDQUFDO1F4S2FaLFNBQVMsRUFzQ0QsT0FBMkI7UUFyQ25DLFdBQVcsRXdLUDJCLE9BQUUsR0FPbkM7SUFkQSxBQVVHLG9CQVZHLENBVUgsSUFBSSxDQUFDO01BQ0QsS0FBSyxFMUt4TWQsT0FBTztNMEt5TUUsV0FBVyxFQUFFLElBQUksR0FDcEI7RUFHSixBQUFELHVCQUFVLENBQUM7SUFDUCxLQUFLLEUxSzdNVixPQUFPO0kwSzhNRixhQUFhLEV4S2lDYixTQUEyQjtJd0toQzNCLE9BQU8sRUFBRSxZQUFZO0l4S043QixTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEV3S011QixHQUFFLEdBVS9CO0lqS3RMTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TWlLd0tuQixBQUFELHVCQUFVLENBQUM7UXhLSGYsU0FBUyxFQXNDRCxPQUEyQjtRQXJDbkMsV0FBVyxFd0tTMkIsT0FBRSxHQU9uQztJQWRBLEFBVUcsdUJBVk0sQ0FVTixJQUFJLENBQUM7TUFDRCxLQUFLLEUxS3hOZCxPQUFPO00wS3lORSxXQUFXLEVBQUUsSUFBSSxHQUNwQjtFQUdKLEFBQUQsb0JBQU8sQ0FBQztJQUNKLEtBQUssRTFLN05WLE9BQU87STBLOE5GLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGFBQWEsRXhLZ0JiLFFBQTJCO0lBdENuQyxTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEV3S3NCdUIsR0FBRSxHQWlCL0I7SWpLN01MLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNaUt3TG5CLEFBQUQsb0JBQU8sQ0FBQztReEtuQlosU0FBUyxFQXNDRCxPQUEyQjtRQXJDbkMsV0FBVyxFd0t5QjJCLE9BQUUsR0FjbkM7SUFyQkEsQUFVRyxvQkFWRyxDQVVILElBQUksQ0FBQztNQUNELEtBQUssRTFLM1BkLE9BQU8sRzBLNFBEO0lBWkosQUFjRyxvQkFkRyxBQWNGLGFBQWEsQ0FBQztNQUNYLGFBQWEsRXhLSWpCLFNBQTJCLEd3S0MxQjtNeEt2UFQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRd0ttTzlCLEFBY0csb0JBZEcsQUFjRixhQUFhLENBQUM7VUFJUCxhQUFhLEVBQUUsQ0FBQyxHQUV2QjtFQUdKLEFBQUQsd0JBQVcsQ0FBQztJQUNSLEtBQUssRTFLclBWLE9BQU87SUUwTVYsU0FBUyxFQXNDRCxRQUEyQjtJQXJDbkMsV0FBVyxFd0syQ3VCLE9BQUU7SUFDNUIsV0FBVyxFQUFFLElBQUk7SUFDakIsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFeEtUTixRQUEyQjtJd0tVM0IsV0FBVyxFQUFFLE1BQU0sR0FLdEI7SXhLclFMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXdLMFA5QixBQUFELHdCQUFXLENBQUM7UUFTSixNQUFNLEVBQUUsQ0FBQyxHQUVoQjtFQUVBLEFBQUQscUJBQVEsQ0FBQztJQUNMLEtBQUssRTFLdlJWLE9BQU87SUUrTlYsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFd0t3RHVCLEdBQUU7SUFDNUIsV0FBVyxFQUFFLElBQUk7SUFDakIsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixXQUFXLEVBQUUsUUFBUTtJQUNyQixXQUFXLEVBQUUsTUFBTSxHQWV0QjtJeEs3UkwsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNd0t1UTlCLEFBQUQscUJBQVEsQ0FBQztReEt2RGIsU0FBUyxFQXNDRCxPQUEyQjtRQXJDbkMsV0FBVyxFd0tnRTJCLEdBQUUsR0FZbkM7SUFUSSxBQUFELDZCQUFTLENBQUM7TUFDTixLQUFLLEUxSzlRZCxPQUFPO01FeU1WLFNBQVMsRUFzQ0QsT0FBMkI7TUFyQ25DLFdBQVcsRXdLcUUyQixPQUFFO01BQzVCLFdBQVcsRUFBRSxNQUFNLEdBS3RCO014SzVSVCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1F3S29SMUIsQUFBRCw2QkFBUyxDQUFDO1V4S3BFbEIsU0FBUyxFQXNDRCxRQUEyQjtVQXJDbkMsV0FBVyxFd0t5RStCLE9BQUUsR0FFbkM7RUFHSixBQUFELG1CQUFNLENBQUM7SUFDSCxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ3hLMUNkLE9BQTJCLEN3SzBDRCxJQUFJO0lBQzlCLFNBQVMsRXhLM0NULE9BQTJCLEd3S2dEOUI7SXhLdFNMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXdLK1I5QixBQUFELG1CQUFNLENBQUM7UUFLQyxNQUFNLEVBQUUsQ0FBQyxDeEs5Q2IsT0FBMkIsQ3dLOENGLENBQUMsQ0FBQyxDQUFDLEdBRS9CO0VBRUEsQUFBRCxtQkFBTSxDQUFDO0lBQ0gsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixlQUFlLEVBQUUsTUFBTSxHQXFDMUI7SXhLaFZMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXdLd1M5QixBQUFELG1CQUFNLENBQUM7UUFNQyxlQUFlLEVBQUUsVUFBVTtRQUMzQixjQUFjLEVBQUUsR0FBRztRQUNuQixXQUFXLEVBQUUsTUFBTTtRQUNuQixLQUFLLEVBQUUsSUFBSTtRQUNYLFNBQVMsRXhLNURiLFFBQTJCLEd3SzBGOUI7SXhLaFZMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXdLd1M5QixBQUFELG1CQUFNLENBQUM7UUFjQyxTQUFTLEV4S2hFYixRQUEyQixHd0swRjlCO0l4S2hWTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO013S3dTL0IsQUFBRCxtQkFBTSxDQUFDO1FBa0JDLFNBQVMsRXhLcEViLE9BQTJCLEd3SzBGOUI7SXhLaFZMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TXdLd1MvQixBQUFELG1CQUFNLENBQUM7UUFzQkMsU0FBUyxFeEt4RWIsU0FBMkIsR3dLMEY5QjtJQXhDQSxBQXlCRyxtQkF6QkUsQUF5QkQsTUFBTSxDQUFDO01BQ0osZUFBZSxFQUFFLElBQUksR0FDeEI7SUFFQSxBQUFELDBCQUFRLENBQUM7TUFDTCxPQUFPLEVBQUUsSUFBSTtNQUNiLGNBQWMsRUFBRSxNQUFNO01BQ3RCLFdBQVcsRUFBRSxNQUFNO01BQ25CLFVBQVUsRUFBRSxNQUFNLEdBTXJCO014Sy9VVCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1F3S3FVMUIsQUFBRCwwQkFBUSxDQUFDO1VBT0QsV0FBVyxFQUFFLFVBQVU7VUFDdkIsVUFBVSxFQUFFLElBQUksR0FFdkI7RUFHSixBQUFELHNCQUFTLENBQUM7SUFDTixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDeEtoR2IsUUFBMkI7SXdLaUczQixVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEUxSzdRYixnQkFBZ0I7STBLOFFiLEtBQUssRXhLbkdMLFFBQTJCO0l3S29HM0IsTUFBTSxFeEtwR04sUUFBMkI7SXdLcUczQixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNLEdBYTFCO0lBeEJBLEFBYUcsc0JBYkssQUFhSixPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTztNeEtwSXhCLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNd0tzSXhELEtBQUssRTFLalVQLE9BQU87TTBLa1VMLFNBQVMsRXhLN0diLFFBQTJCO013SzhHdkIsS0FBSyxFeEs5R1QsUUFBMkI7TXdLK0d2QixNQUFNLEV4Sy9HVixRQUEyQjtNd0tnSHZCLE9BQU8sRUFBRSxJQUFJO01BQ2IsV0FBVyxFQUFFLE1BQU07TUFDbkIsZUFBZSxFQUFFLE1BQU0sR0FDMUI7RUFHSixBQUFELHVCQUFVLENBQUM7SUFDUCxRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFeEsxSE4sU0FBMkI7SXdLMkgzQixVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEUxS3ZTYixnQkFBZ0I7STBLd1NiLEtBQUssRXhLN0hMLE9BQTJCO0l3SzhIM0IsTUFBTSxFeEs5SE4sT0FBMkI7SXdLK0gzQixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNLEdBUTFCO0lBbkJBLEFBYUcsdUJBYk0sQUFhTCxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsT0FBTztNeEs5SnhCLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtNd0tnS3hELEtBQUssRTFLM1lkLE9BQU87TTBLNFlFLFNBQVMsRXhLdkliLE9BQTJCLEd3S3dJMUI7RUFHSixBQUNHLHNCQURLLENBQ0wsV0FBVyxDQUFDO0lBQ1IsYUFBYSxFQUFFLENBQUMsR0F3RW5CO0lBMUVKLEFBSU8sc0JBSkMsQ0FDTCxXQUFXLENBR1AsV0FBVyxDQUFDO01BQ1IsT0FBTyxFQUFFLElBQUksR0FDaEI7SUFOUixBQVltQixzQkFaWCxDQUNMLFdBQVcsQUFPTixPQUFPLEFBRUgsVUFBVSxDQUNQLGNBQWMsQUFDVCxPQUFPLEVBWjNCLHNCQUFRLENBQ0wsV0FBVyxBQU9OLE9BQU8sQUFFVSxRQUFRLENBQ2xCLGNBQWMsQUFDVCxPQUFPLENBQUM7TUFDTCxPQUFPLEVBQUUsSUFBSSxHQUNoQjtJQWRwQixBQWtCVyxzQkFsQkgsQ0FDTCxXQUFXLEFBT04sT0FBTyxDQVVKLGNBQWMsQ0FBQztNQUNYLE9BQU8sRUFBRSxJQUFJLEdBVWhCO01BN0JaLEFBcUJlLHNCQXJCUCxDQUNMLFdBQVcsQUFPTixPQUFPLENBVUosY0FBYyxDQUdWLGFBQWEsQ0FBQztRQUNWLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDMUsvWTFDLE9BQU87UTBLZ1pjLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDMUtoWjdDLE9BQU87UTBLaVpjLFdBQVcsRUFBRSxDQUFDO1FBQ2QsWUFBWSxFQUFFLENBQUM7UUFDZixLQUFLLEV4S3JLckIsUUFBMkI7UXdLc0tYLE1BQU0sRXhLdEt0QixRQUEyQixHd0t1S2Q7SUE1QmhCLEFBK0JXLHNCQS9CSCxDQUNMLFdBQVcsQUFPTixPQUFPLENBdUJKLElBQUksQ0FBQztNQUNELE9BQU8sRUFBRSxDQUFDO01BQ1YsUUFBUSxFQUFFLFFBQVE7TUFDbEIsS0FBSyxFeEs3S2pCLFFBQTJCO013SzhLZixNQUFNLEV4SzlLbEIsUUFBMkIsR3dLbU5sQjtNQXhFWixBQXFDZSxzQkFyQ1AsQ0FDTCxXQUFXLEFBT04sT0FBTyxDQXVCSixJQUFJLEFBTUMsT0FBTyxDQUFDO1FBQ0wsT0FBTyxFQUFFLEVBQUU7UXhLM00vQixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7UXdLNk01QyxLQUFLLEUxS3JiMUIsT0FBTztRMEtzYmMsU0FBUyxFeEtwTHpCLE9BQTJCO1F3S3FMWCxPQUFPLEV4S3JMdkIsU0FBMkI7UXdLc0xYLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsSUFBSTtRQUNiLFdBQVcsRUFBRSxNQUFNO1FBQ25CLGVBQWUsRUFBRSxNQUFNLEdBQzFCO01BakRoQixBQW9EbUIsc0JBcERYLENBQ0wsV0FBVyxBQU9OLE9BQU8sQ0EyQ0MsV0FBTyxBQUNILE9BQU8sQ0FBQztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDMUsvYTlDLE9BQU87UTBLZ2JrQixXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFLaGIvQyxPQUFPO1EwS2lia0IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxS2piakQsT0FBTztRMEtrYmtCLEdBQUcsRUFBRSxDQUFDO1FBQ04sSUFBSSxFQUFFLENBQUMsR0FDVjtNQTNEcEIsQUErRG1CLHNCQS9EWCxDQUNMLFdBQVcsQUFPTixPQUFPLENBc0RDLFVBQU0sQUFDRixPQUFPLENBQUM7UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFLMWI5QyxPQUFPO1EwSzJia0IsWUFBWSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxSzNiaEQsT0FBTztRMEs0YmtCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDMUs1YmpELE9BQU87UTBLNmJrQixHQUFHLEVBQUUsQ0FBQztRQUNOLEtBQUssRUFBRSxDQUFDLEdBQ1g7RUF0RXBCLEFBNEVHLHNCQTVFSyxDQTRFTCxhQUFhLENBQUM7SUFDVixhQUFhLEVBQUUsQ0FBQztJQUNoQixLQUFLLEV4S3pOVCxRQUEyQjtJd0swTnZCLE1BQU0sRXhLMU5WLE1BQTJCO0lBdENuQyxTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEV3S2dRMkIsTUFBRTtJQUM1QixLQUFLLEUxSzNjZCxPQUFPO0kwSzRjRSxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFLM2MxQixPQUFPLEcwS2dkRDtJQXZGSixBQW9GTyxzQkFwRkMsQ0E0RUwsYUFBYSxBQVFSLGFBQWEsQ0FBQztNQUNYLEtBQUssRTFLL2NsQixPQUFPLEcwS2dkRztFeEt2ZGIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0syZDlCLEFBQ0cscUJBREksQ0FDSixvQkFBb0IsQ0FBQztNQUViLHFCQUFxQixFQUFFLGVBQWUsR0FFN0M7O0FBS0osQUFDRyxtQkFETSxDQUNOLGtCQUFrQixDQUFDO0VBQ2YsTUFBTSxFQUFFLElBQUk7RUFDWixhQUFhLEVBQUUsQ0FBQztFQUNoQixPQUFPLEV4S25QWCxRQUEyQixHd0tvUDFCOztBQUxKLEFBUU8sbUJBUkUsQ0FPTixnQkFBZ0IsQUFDWCxPQUFPLENBQUM7RUFDTCxPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFLWixBQUFELFlBQVEsQ0FBQztFQUNMLE9BQU8sRXhLL1BILFFBQTJCO0V3S2dRL0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxSzllbEIsT0FBTztFMEsrZU4sYUFBYSxFeEtqUVQsUUFBMkI7RXdLa1EvQixLQUFLLEUxS25mTixPQUFPLEcwS3VpQlQ7RUFsREksQUFBRCxxQkFBVSxDQUFDO0lBQ1AsYUFBYSxFeEtyUWIsU0FBMkI7SXdLc1EzQixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxhQUFhO0l4SzlTdEMsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFd0s4U3VCLEdBQUUsR0FTL0I7SWpLN2RMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNaUsrY25CLEFBQUQscUJBQVUsQ0FBQztReEsxU2YsU0FBUyxFQXNDRCxRQUEyQjtRQXJDbkMsV0FBVyxFd0tpVDJCLE9BQUUsR0FNbkM7SUFkQSxBQVdHLHFCQVhNLENBV04sSUFBSSxDQUFDO01BQ0QsS0FBSyxFMUsvZmQsT0FBTyxHMEtnZ0JEO0VBR0osQUFBRCxpQkFBTSxDQUFDO0lBQ0gsYUFBYSxFeEtyUmIsUUFBMkI7SXdLc1IzQixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxhQUFhO0l4SzlUdEMsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFd0s4VHVCLEdBQUUsR0FTL0I7SWpLN2VMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNaUsrZG5CLEFBQUQsaUJBQU0sQ0FBQztReEsxVFgsU0FBUyxFQXNDRCxRQUEyQjtRQXJDbkMsV0FBVyxFd0tpVTJCLE9BQUUsR0FNbkM7SUFkQSxBQVdHLGlCQVhFLENBV0YsSUFBSSxDQUFDO01BQ0QsS0FBSyxFMUsvZ0JkLE9BQU8sRzBLZ2hCRDtFQUdKLEFBQUQsbUJBQVEsQ0FBQztJeEsxVWIsU0FBUyxFQXNDRCxRQUEyQjtJQXJDbkMsV0FBVyxFd0swVXVCLE9BQUU7SUFDNUIsV0FBVyxFQUFFLElBQUk7SUFDakIsYUFBYSxFQUFFLENBQUM7SUFDaEIsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixlQUFlLEVBQUUsYUFBYSxHQVdqQztJQWpCQSxBQVFHLG1CQVJJLENBUUosSUFBSSxDQUFDO01BQ0QsS0FBSyxFMUtyaEJkLE9BQU87TUVrTVYsU0FBUyxFQXNDRCxRQUEyQjtNQXJDbkMsV0FBVyxFd0ttVjJCLE9BQUU7TUFDNUIsV0FBVyxFQUFFLE1BQU0sR0FLdEI7TXhLMWlCVCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1F3SzBoQjlCLEFBUUcsbUJBUkksQ0FRSixJQUFJLENBQUM7VXhLbFZiLFNBQVMsRUFzQ0QsSUFBMkI7VUFyQ25DLFdBQVcsRXdLdVYrQixNQUFFLEdBRW5DOztBQUlSLEFBQUQsV0FBTyxDQUFDO0V4SzFZUixLQUFLLEVGN0pGLE9BQU87RUU4SlYsVUFBVSxFRjFGTCxnQkFBZ0I7RUVxSXJCLFNBQVMsRUFzQ0QsSUFBMkI7RUFyQ25DLFdBQVcsRXdLK1ZtQixNQUFFO0VBQzVCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGVBQWUsRUFBRSxTQUFTO0VBQzFCLFlBQVksRXhLN1RSLFNBQTJCO0V3SzhUL0IsVUFBVSxFMUtwZlQsSUFBRyxDQUFDLFFBQVEsRzBLaWlCaEI7RUFuREEsQXhLcllELFd3S3FZTyxBeEtyWU4sT0FBTyxFd0txWVAsV0FBTSxBeEtyWUksTUFBTSxDQUFDO0lBQ2QsS0FBSyxFRmxLTixPQUFPO0lFbUtOLFVBQVUsRUZoR1QsZ0JBQWdCLEdFc0dwQjtJd0s2WEEsQXhLallHLFd3S2lZRyxBeEtyWU4sT0FBTyxBQUlILE1BQU0sRXdLaVlWLFdBQU0sQXhLcllJLE1BQU0sQUFJWixNQUFNLENBQUM7TUFDSixLQUFLLEVGdEtWLE9BQU87TUV1S0YsVUFBVSxFRnBHYixnQkFBZ0IsR0VxR2hCO0V3SzhYSixBeEszWEQsV3dLMlhPLEF4SzNYTixPQUFPLENBQUM7SUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO0l3S3FYQSxBeEt4WEcsV3dLd1hHLEF4SzNYTixPQUFPLEFBR0gsTUFBTSxDQUFDO01BQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7RXdLc1hKLEF4S25YRCxXd0ttWE8sQXhLblhOLE1BQU0sQ0FBQztJQUNKLEtBQUssRUZwTE4sT0FBTztJRXFMTixVQUFVLEVGbEhULGdCQUFnQjtJRW1IakIsZUFBZSxFQUFFLElBQUksR0FNeEI7SXdLMFdBLEF4SzlXRyxXd0s4V0csQXhLblhOLE1BQU0sQUFLRixNQUFNLENBQUM7TUFDSixVQUFVLEVGdEhiLGdCQUFnQjtNRXVIYixlQUFlLEVBQUUsSUFBSSxHQUN4QjtFd0syV0osQUFRRyxXQVJHLEFBUUYsT0FBTyxDQUFDO0lBQ0wsT0FBTyxFQUFFLE9BQU87SXhLM1ZwQixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7SXdLNlY1RCxLQUFLLEUxS3JrQlYsT0FBTztJMEtza0JGLFNBQVMsRXhLcFVULFFBQTJCO0l3S3FVM0IsS0FBSyxFeEtyVUwsSUFBMkI7SXdLc1UzQixNQUFNLEV4S3RVTixJQUEyQjtJd0t1VTNCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsU0FBUyxFQUFFLGdCQUFnQjtJQUMzQixJQUFJLEVBQUUsQ0FBQztJQUNQLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE1BQU0sR0FDMUI7RUFFQSxBQUFELG9CQUFVLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxhQUFhO0lBQzlCLGNBQWMsRUFBRSxNQUFNLEdBc0J6QjtJeEtobUJMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXdLc2tCOUIsQUFBRCxvQkFBVSxDQUFDO1FBT0gsY0FBYyxFQUFFLEdBQUcsR0FtQjFCO0lBMUJBLEFBVUcsb0JBVk0sQ0FVTixJQUFJLENBQUM7TUFDRCxLQUFLLEVBQUUsSUFBSTtNQUNYLFNBQVMsRUFBRSxJQUFJO01BQ2YsS0FBSyxFQUFFLEVBQUU7TUFDVCxhQUFhLEV4SzlWakIsT0FBMkIsR3dLeVcxQjtNeEsvbEJULE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UXdLc2tCOUIsQUFVRyxvQkFWTSxDQVVOLElBQUksQ0FBQztVQU9HLFNBQVMsRXhLaldqQixTQUEyQjtVd0trV25CLEtBQUssRUFBRSxDQUFDO1VBQ1IsYUFBYSxFQUFFLENBQUMsR0FNdkI7TXhLL2xCVCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1F3S3NrQjlCLEFBVUcsb0JBVk0sQ0FVTixJQUFJLENBQUM7VUFhRyxTQUFTLEV4S3ZXakIsT0FBMkIsR3dLeVcxQjs7QUFJUixBQUFELGVBQVcsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsYUFBYSxFeEtoWFQsUUFBMkI7RXdLaVgvQixLQUFLLEVBQUUsSUFBSSxHQThJZDtFeEtydkJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdLbW1CbEMsQUFBRCxlQUFXLENBQUM7TUFPSixhQUFhLEVBQUUsQ0FBQyxHQTJJdkI7RUF4SUksQUFBRCxzQkFBUSxDQUFDO0lBQ0wsS0FBSyxFMUs3a0JILE9BQU87SUUrS2pCLFNBQVMsRUFzQ0QsT0FBMkI7SUFyQ25DLFdBQVcsRXdLOFp1QixHQUFFO0lBQzVCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsU0FBUyxFQUFFLGdCQUFnQjtJQUMzQixLQUFLLEV4Sy9YTCxTQUEyQixHd0tvWTlCO0l4SzFuQkwsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNd0s2bUI5QixBQUFELHNCQUFRLENBQUM7UUFXRCxLQUFLLEV4S2xZVCxRQUEyQixHd0tvWTlCO0VBRUEsQUFBRCxvQkFBTSxDQUFDO0lBQ0gsT0FBTyxFQUFFLElBQUk7SUFFYixlQUFlLEVBQUUsYUFBYTtJQUM5QixjQUFjLEVBQUUsTUFBTTtJQUN0QixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFLMW5CdEIsT0FBTztJMEsybkJGLGFBQWEsRUFBRSxDQUFDLEdBcUJuQjtJQTVCQSxBQVNHLG9CQVRFLENBU0YsS0FBSyxFQVRSLG9CQUFLLENoRXZuQmQsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0FLRixXQUFXLEVBL0R2QixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDZ0U2akJMLG9CQUFLLENoRXhqQkYsV0FBVyxDZ0Vpa0JOO01BQ0QsTUFBTSxFQUFFLE9BQU87TUFDZixhQUFhLEVBQUUsQ0FBQztNQUNoQixPQUFPLEV4S2xaWCxPQUEyQixDQUEzQixTQUEyQixDQUEzQixPQUEyQixDQUEzQixTQUEyQjtNd0ttWnZCLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLENBQUMsR0FLYjtNeEsvb0JULE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UXdLNG5COUIsQUFTRyxvQkFURSxDQVNGLEtBQUssRUFUUixvQkFBSyxDaEV2bkJkLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBS0YsV0FBVyxFQS9EdkIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2dFNmpCTCxvQkFBSyxDaEV4akJGLFdBQVcsQ2dFaWtCTjtVQVFHLE9BQU8sRXhLdlpmLE9BQTJCLENBQTNCLFFBQTJCLENBQTNCLE9BQTJCLENBQTNCLFFBQTJCLEd3S3laMUI7SUFuQkosQUFxQkcsb0JBckJFLEFBcUJELGFBQWEsQ0FBQztNQUNYLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDMUsxb0JqQyxPQUFPLEcwSzJvQkQ7SUF2QkosQUF5Qkcsb0JBekJFLEFBeUJELFFBQVEsQ0FBQztNQUNOLFVBQVUsRTFLN29CbkIsT0FBTyxHMEs4b0JEO0VBR0osQUFBRCxzQkFBUSxDQUFDO0lBQ0wsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxhQUFhO0lBQzlCLFFBQVEsRUFBRSxRQUFRLEdBUXJCO0lBYkEsQUFPRyxzQkFQSSxDQU9KLEtBQUssQ0FBQztNQUNGLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxHQUFHO01BQ1IsU0FBUyxFQUFFLGdCQUFnQjtNQUMzQixJQUFJLEV4Sy9hUixRQUEyQixHd0tnYjFCO0VBR0osQUFBRCx1QkFBUyxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUMsQ3hLcGJWLFNBQTJCLENBQTNCLE9BQTJCLENBQTNCLFNBQTJCLEd3SzZiOUI7SXhLbnJCTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO013S3lxQjlCLEFBQUQsdUJBQVMsQ0FBQztRQUlGLE9BQU8sRUFBRSxDQUFDLEN4S3ZiZCxRQUEyQixDQUEzQixPQUEyQixDQUEzQixRQUEyQixHd0s2YjlCO0lBVkEsQUFPRyx1QkFQSyxDQU9MLElBQUksQ0FBQztNQUNELFdBQVcsRUFBRSxNQUFNLEdBQ3RCO0VBR0osQUFBRCxxQkFBTyxDQUFDO0lBQ0osS0FBSyxFMUsvcUJWLE9BQU87STBLZ3JCRixhQUFhLEV4S2pjYixRQUEyQjtJQXRDbkMsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFd0t1ZXVCLEdBQUUsR0FLL0I7SWpLbHBCTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TWlLMG9CbkIsQUFBRCxxQkFBTyxDQUFDO1F4S3JlWixTQUFTLEVBc0NELE9BQTJCO1FBckNuQyxXQUFXLEV3SzBlMkIsT0FBRSxHQUVuQztFQUVBLEFBQUQscUJBQU8sQ0FBQztJQUNKLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFeEszY1QsT0FBMkI7SXdLNGMzQixZQUFZLEV4SzVjWixTQUEyQixHd0s2YzlCO0VBaEdKLEFBa0dHLGVBbEdPLEFBa0dOLFdBQVcsQ0FBQztJQUNULE9BQU8sRUFBRSxZQUFZLEdBOEN4QjtJQWpKSixBQXFHTyxlQXJHRyxBQWtHTixXQUFXLENBR1IsS0FBSyxFQXJHWixlQUFVLEFBa0dOLFdBQVcsQ2hFaHNCcEIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0FLRixXQUFXLEVBL0R2QixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDZ0VvaUJULGVBQVUsQUFrR04sV0FBVyxDaEVqb0JSLFdBQVcsQ2dFb29CTDtNQUNGLE1BQU0sRUFBRSxPQUFPO01BQ2YsT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTTtNQUNuQixNQUFNLEVBQUUsQ0FBQztNQUNULEtBQUssRTFLdnNCZCxPQUFPLEcwS3dzQkQ7SUEzR1IsQUE2R08sZUE3R0csQUFrR04sV0FBVyxDQVdSLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUFBZ0IsS0FBSyxDQUFDLElBQUksRUE3R3ZDLGVBQVUsQUFrR04sV0FBVyxDaEVoc0JwQixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDZ0VpcEJGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSWhFNW9CTixXQUFXLENnRTRvQmlCLElBQUksRWhFM3NCNUMsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2dFb2lCVCxlQUFVLEFBa0dOLFdBQVcsQ0FXUixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEloRTVvQk4sV0FBVyxDZ0U0b0JpQixJQUFJLENBQUM7TUFDN0IsT0FBTyxFQUFFLFlBQVk7TUFDckIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLE1BQU0sRUFBRSxDQUFDLEN4SzlkYixTQUEyQixDd0s4ZEYsQ0FBQyxDQUFDLENBQUM7TUFDeEIsY0FBYyxFQUFFLE1BQU07TUFDdEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxSzlzQjFCLE9BQU87TTBLK3NCRSxVQUFVLEUxSzF0QmYsSUFBSTtNMEsydEJDLE1BQU0sRUFBRSxPQUFPO01BQ2YsUUFBUSxFQUFFLFFBQVE7TUFDbEIsYUFBYSxFQUFFLEdBQUcsR0FDckI7SUF4SFIsQUEwSE8sZUExSEcsQUFrR04sV0FBVyxDQXdCUixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBQWM7TUFDaEIsT0FBTyxFQUFFLElBQUksR0FVaEI7TUFySVIsQUE2SFcsZUE3SEQsQUFrR04sV0FBVyxDQXdCUixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBR0QsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBN0hqQyxlQUFVLEFBa0dOLFdBQVcsQ2hFaHNCcEIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2dFOHBCRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBR0QsUUFBUSxHaEU1cEJiLFdBQVcsQ2dFNHBCVyxJQUFJLEVoRTN0QnRDLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENnRW9pQlQsZUFBVSxBQWtHTixXQUFXLENBd0JSLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FHRCxRQUFRLEdoRTVwQmIsV0FBVyxDZ0U0cEJXLElBQUksQ0FBQztRQUNuQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFLaHZCOUIsT0FBTztRMEtpdkJNLFVBQVUsRTFLanZCdkIsT0FBTyxDMEtpdkI0Qyx3Q0FBMkMsQ0FBQyxTQUFTLENBQUMsV0FBYSxDQUFDLElBQUksR0FDakg7TUFoSVosQUFrSVcsZUFsSUQsQUFrR04sV0FBVyxDQXdCUixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBUUQsUUFBUSxHQUFHLEtBQUssRUFsSTVCLGVBQVUsQUFrR04sV0FBVyxDaEVoc0JwQixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDZ0U4cEJGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FRRCxRQUFRLEdoRWpxQmIsV0FBVyxFQS9EdkIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2dFb2lCVCxlQUFVLEFBa0dOLFdBQVcsQ0F3QlIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQVFELFFBQVEsR2hFanFCYixXQUFXLENnRWlxQlc7UUFDZCxLQUFLLEUxS3J2QmxCLE9BQU8sRzBLc3ZCRztJQXBJWixBQXdJVyxlQXhJRCxBQWtHTixXQUFXLEFBcUNQLFVBQVUsQ0FDUCxLQUFLLEVBeEloQixlQUFVLEFBa0dOLFdBQVcsQUFxQ1AsVUFBVSxDaEVydUJ2QixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQUtGLFdBQVcsRUEvRHZCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENnRW9pQlQsZUFBVSxBQWtHTixXQUFXLEFBcUNQLFVBQVUsQ2hFdHFCWCxXQUFXLENnRXVxQkQ7TUFDRixLQUFLLEUxSzdzQmQsT0FBTyxHMEs4c0JEO0lBMUlaLEFBNElXLGVBNUlELEFBa0dOLFdBQVcsQUFxQ1AsVUFBVSxDQUtQLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUFBZ0IsS0FBSyxDQUFDLElBQUksRUE1STNDLGVBQVUsQUFrR04sV0FBVyxBQXFDUCxVQUFVLENoRXJ1QnZCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENnRWdyQkUsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJaEUzcUJWLFdBQVcsQ2dFMnFCcUIsSUFBSSxFaEUxdUJoRCxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDZ0VvaUJULGVBQVUsQUFrR04sV0FBVyxBQXFDUCxVQUFVLENBS1AsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJaEUzcUJWLFdBQVcsQ2dFMnFCcUIsSUFBSSxDQUFDO01BQzdCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUtqdEIxQixPQUFPLEcwS2t0QkQ7O0FBTVosQUFBRCxZQUFRLENBQUM7RUFDTCxPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFNBQVMsRUFBRSxJQUFJLEdBNkJsQjtFaks3dUJELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJaUs0c0J2QixBQUFELFlBQVEsQ0FBQztNQU9ELGVBQWUsRUFBRSxhQUFhLEdBMEJyQztFQWpDQSxBQVVHLFlBVkksQ0FVSixVQUFVLENBQUM7SUFDUCxNQUFNLEVBQUUsQ0FBQyxDeEs1Z0JULFNBQTJCLENBQTNCLFFBQTJCLENBQTNCLFNBQTJCLEd3S2lpQjlCO0lqSzV1QkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01pSzRzQnZCLEFBVUcsWUFWSSxDQVVKLFVBQVUsQ0FBQztRQUlILE1BQU0sRUFBRSxDQUFDLEN4Sy9nQmIsU0FBMkIsQ0FBM0IsUUFBMkIsQ0FBM0IsU0FBMkIsR3dLaWlCOUI7SUFoQ0osQUFpQk8sWUFqQkEsQ0FVSixVQUFVLEFBT0wsY0FBYyxDQUFDO01BQ1osV0FBVyxFeEtuaEJmLFNBQTJCLEd3S3doQjFCO01qS251QlQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FpSzRzQnZCLEFBaUJPLFlBakJBLENBVUosVUFBVSxBQU9MLGNBQWMsQ0FBQztVQUlSLFdBQVcsRUFBRSxDQUFDLEdBRXJCO0lBdkJSLEFBeUJPLFlBekJBLENBVUosVUFBVSxBQWVMLGFBQWEsQ0FBQztNQUNYLFlBQVksRXhLM2hCaEIsU0FBMkIsR3dLZ2lCMUI7TWpLM3VCVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UWlLNHNCdkIsQUF5Qk8sWUF6QkEsQ0FVSixVQUFVLEFBZUwsYUFBYSxDQUFDO1VBSVAsWUFBWSxFQUFFLENBQUMsR0FFdEI7O0FBS0osQUFBRCxnQkFBTyxDQUFDO0VBQ0osUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTSxHQWN0QjtFQWpCQSxBQUtHLGdCQUxHLEFBS0YsT0FBTyxDQUFDO0lBQ0wsT0FBTyxFQUFFLE9BQU87SXhLbGtCeEIsV0FBVyxFRnpLSSxvQkFBb0IsRUV5S0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0l3S29rQnhELEtBQUssRXhLN2lCVCxTQUEyQjtJd0s4aUJ2QixNQUFNLEV4SzlpQlYsU0FBMkI7SXdLK2lCdkIsU0FBUyxFeEsvaUJiLFNBQTJCO0l3S2dqQnZCLFlBQVksRXhLaGpCaEIsU0FBMkI7SXdLaWpCdkIsS0FBSyxFMUsveEJkLE9BQU87STBLZ3lCRSxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNLEdBQzFCOztBQWNKLEFBQ0csYUFEQSxDQUNBLFlBQVksQ0FBQztFQUNULE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUVKLEFBRU8sYUFGSixDQUNBLFdBQVcsQUFDTixjQUFjLENBQUM7RUFDWixZQUFZLEV4SzNrQnBCLFFBQTJCO0V3SzRrQm5CLGFBQWEsRXhLNWtCckIsUUFBMkIsR3dLeWxCdEI7RWpLcHlCYixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWlLbXhCbkIsQUFFTyxhQUZKLENBQ0EsV0FBVyxBQUNOLGNBQWMsQ0FBQztNQUtSLGFBQWEsRXhLL2tCekIsUUFBMkIsR3dLeWxCdEI7RUFqQlIsQUFVVyxhQVZSLENBQ0EsV0FBVyxBQUNOLGNBQWMsQ0FRWCxLQUFLLENBQUM7SXhLeG5CdEIsU0FBUyxFQXNDRCxTQUEyQjtJQXJDbkMsV0FBVyxFd0t3bkJtQyxHQUFFLEdBSy9CO0lqS255QmpCLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNaUtteEJuQixBQVVXLGFBVlIsQ0FDQSxXQUFXLEFBQ04sY0FBYyxDQVFYLEtBQUssQ0FBQztReEt4bkJ0QixTQUFTLEVBc0NELFFBQTJCO1FBckNuQyxXQUFXLEV3SzJuQnVDLE9BQUUsR0FFbkM7O0FBaEJaLEFBb0JXLGFBcEJSLENBQ0EsV0FBVyxBQWtCTixhQUFhLEFBQ1QsY0FBYyxDQUFDO0VBQ1osWUFBWSxFQUFFLENBQUMsR0FDbEI7O0FBdEJaLEFBMEJHLGFBMUJBLENBMEJBLGNBQWMsQ0FBQztFQUNYLE9BQU8sRUFBRSxZQUFZLEdBK0N4QjtFQTFFSixBQTZCTyxhQTdCSixDQTBCQSxjQUFjLENBR1YsS0FBSyxFQTdCWixhQUFHLENBMEJBLGNBQWMsQ2hFbjFCMUIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0FLRixXQUFXLEVBL0R2QixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDZ0UrdkJMLGFBQUcsQ0EwQkEsY0FBYyxDaEVweEJkLFdBQVcsQ2dFdXhCRDtJQUNGLE1BQU0sRUFBRSxPQUFPO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRTFLMTFCbEIsT0FBTztJMEsyMUJNLFdBQVcsRUFBRSxNQUFNO0l4S2pwQm5DLFNBQVMsRUFzQ0QsU0FBMkI7SUFyQ25DLFdBQVcsRXdLaXBCK0IsR0FBRSxHQUsvQjtJaks1ekJiLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNaUtteEJuQixBQTZCTyxhQTdCSixDQTBCQSxjQUFjLENBR1YsS0FBSyxFQTdCWixhQUFHLENBMEJBLGNBQWMsQ2hFbjFCMUIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0FLRixXQUFXLEVBL0R2QixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDZ0UrdkJMLGFBQUcsQ0EwQkEsY0FBYyxDaEVweEJkLFdBQVcsQ2dFdXhCRDtReEszb0JsQixTQUFTLEVBc0NELFFBQTJCO1FBckNuQyxXQUFXLEV3S29wQm1DLE9BQUUsR0FFbkM7RUF6Q1IsQUEyQ08sYUEzQ0osQ0EwQkEsY0FBYyxDQWlCVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBQW1CLEtBQUssQ0FBQyxJQUFJLEVBM0MxQyxhQUFHLENBMEJBLGNBQWMsQ2hFbjFCMUIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2dFMHlCRSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEloRXJ5QlYsV0FBVyxDZ0VxeUJ3QixJQUFJLEVoRXAyQm5ELEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENnRSt2QkwsYUFBRyxDQTBCQSxjQUFjLENBaUJWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSWhFcnlCVixXQUFXLENnRXF5QndCLElBQUksQ0FBQztJQUNoQyxPQUFPLEVBQUUsWUFBWTtJQUNyQixLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxJQUFJO0lBQ2YsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsQ0FBQyxDeEt4bkJqQixTQUEyQixDd0t3bkJDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUt4MkI5QixPQUFPO0kwS3kyQk0sVUFBVSxFMUtwM0JuQixJQUFJO0kwS3EzQkssTUFBTSxFQUFFLE9BQU87SUFDZixRQUFRLEVBQUUsUUFBUSxHQUNyQjtFQXREUixBQXdETyxhQXhESixDQTBCQSxjQUFjLENBOEJWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsRUFBaUI7SUFDbkIsT0FBTyxFQUFFLElBQUksR0FNaEI7SUEvRFIsQUEyRFcsYUEzRFIsQ0EwQkEsY0FBYyxDQThCVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBR0QsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBM0RqQyxhQUFHLENBMEJBLGNBQWMsQ2hFbjFCMUIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2dFdXpCRSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBR0QsUUFBUSxHaEVyekJqQixXQUFXLENnRXF6QmUsSUFBSSxFaEVwM0IxQyxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDZ0UrdkJMLGFBQUcsQ0EwQkEsY0FBYyxDQThCVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBR0QsUUFBUSxHaEVyekJqQixXQUFXLENnRXF6QmUsSUFBSSxDQUFDO01BQ25CLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUt6NEJsQyxPQUFPO00wSzA0QlUsVUFBVSxFMUsxNEIzQixPQUFPLEMwSzA0QmdELHNDQUF5QyxDQUFDLFNBQVMsQ0FBQyxjQUFnQixHQUM3RztFQTlEWixBQWtFVyxhQWxFUixDQTBCQSxjQUFjLEFBdUNULFVBQVUsQ0FDUCxLQUFLLEVBbEVoQixhQUFHLENBMEJBLGNBQWMsQUF1Q1QsVUFBVSxDaEUxM0IzQixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQUtGLFdBQVcsRUEvRHZCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENnRSt2QkwsYUFBRyxDQTBCQSxjQUFjLEFBdUNULFVBQVUsQ2hFM3pCZixXQUFXLENnRTR6Qkc7SUFDRixLQUFLLEUxS2wyQmxCLE9BQU8sRzBLbTJCRztFQXBFWixBQXNFVyxhQXRFUixDQTBCQSxjQUFjLEFBdUNULFVBQVUsQ0FLUCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBQW1CLEtBQUssQ0FBQyxJQUFJLEVBdEU5QyxhQUFHLENBMEJBLGNBQWMsQUF1Q1QsVUFBVSxDaEUxM0IzQixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDZ0VxMEJNLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSWhFaDBCZCxXQUFXLENnRWcwQjRCLElBQUksRWhFLzNCdkQsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2dFK3ZCTCxhQUFHLENBMEJBLGNBQWMsQUF1Q1QsVUFBVSxDQUtQLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSWhFaDBCZCxXQUFXLENnRWcwQjRCLElBQUksQ0FBQztJQUNoQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFLdDJCOUIsT0FBTyxHMEt1MkJHOztBQ3Q1QmhCLEFBQUQsZUFBUSxDQUFDO0VBQ0wsT0FBTyxFektxUUgsUUFBMkIsQ3lLclFYLENBQUM7RUFDckIsVUFBVSxFM0t1QlgsT0FBTyxHMkt0QlQ7O0FBRUEsQUFBRCxZQUFLLENBQUE7RUFDRCxXQUFXLEV6S2dRUCxTQUEyQixHeUsvUGxDOztBQ1JMLEFBQUEsT0FBTyxDQUFDO0VBQ0osT0FBTyxFMUtzUUMsUUFBMkIsQ0FBM0IsUUFBMkIsQ0FBM0IsUUFBMkIsQ0FBM0IsUUFBMkI7RTBLclFuQyxPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFVBQVUsRTVLcUJQLE9BQU87RTRLcEJWLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDNUttQnJCLE9BQU8sRzRLc1JiO0VBdlNJLEFBQUQsZ0JBQVUsQ0FBQztJQUNQLGFBQWEsRTFLOFBULFFBQTJCLEcwSzdQbEM7RUFFQSxBQUFELFlBQU0sQ0FBQztJQUNILE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixlQUFlLEVBQUUsYUFBYTtJQUM5QixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVLU3pCLE9BQU8sRzRLK0VUO0kxS3ZGRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wS0xsQyxBQUFELFlBQU0sQ0FBQztRQU9DLFNBQVMsRUFBRSxNQUFNLEdBcUZ4QjtJQTVGQSxBQVdPLFlBWEYsQ0FXRyxZQUFRLENBQUM7TTFLOEpsQixLQUFLLEVGdktFLElBQUk7TUV3S1gsVUFBVSxFRm5MUCxPQUFPO000S3NCRSxRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEUxSzZPWCxRQUEyQixDQUEzQixRQUEyQjtNMEs1T3ZCLFlBQVksRTFLNE9oQixPQUEyQjtNMEszT3ZCLFdBQVcsRUFBRSxNQUFNO01BQ25CLFdBQVcsRUFBRSxNQUFNLEdBcUN0QjtNQXREUixBMUs4S0QsWTBLOUtNLENBV0csWUFBUSxBMUttS2hCLE9BQU8sRTBLOUtQLFlBQUssQ0FXRyxZQUFRLEExS21LTixNQUFNLENBQUM7UUFDZCxLQUFLLEVGN0tGLElBQUk7UUU4S1AsVUFBVSxFRjFMWCxPQUFPLEdFZ01UO1EwS3RMQSxBMUtrTEcsWTBLbExFLENBV0csWUFBUSxBMUttS2hCLE9BQU8sQUFJSCxNQUFNLEUwS2xMVixZQUFLLENBV0csWUFBUSxBMUttS04sTUFBTSxBQUlaLE1BQU0sQ0FBQztVQUNKLEtBQUssRUZqTE4sSUFBSTtVRWtMSCxVQUFVLEVGOUxmLE9BQU8sR0UrTEw7TTBLckxKLEExS3dMRCxZMEt4TE0sQ0FXRyxZQUFRLEExSzZLaEIsT0FBTyxDQUFDO1FBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtRMEs5TEEsQTFLMkxHLFkwSzNMRSxDQVdHLFlBQVEsQTFLNktoQixPQUFPLEFBR0gsTUFBTSxDQUFDO1VBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7TTBLN0xKLEExS2dNRCxZMEtoTU0sQ0FXRyxZQUFRLEExS3FMaEIsTUFBTSxDQUFDO1FBQ0osS0FBSyxFRi9MRixJQUFJO1FFZ01QLFVBQVUsRUY1TVgsT0FBTztRRTZNTixlQUFlLEVBQUUsSUFBSSxHQU14QjtRMEt6TUEsQTFLcU1HLFkwS3JNRSxDQVdHLFlBQVEsQTFLcUxoQixNQUFNLEFBS0YsTUFBTSxDQUFDO1VBQ0osVUFBVSxFRmhOZixPQUFPO1VFaU5GLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO00wS3hNSixBQW1CVyxZQW5CTixDQVdHLFlBQVEsQUFRSixPQUFPLENBQUM7UUFDTCxPQUFPLEVBQUUsT0FBTztRMUs2TTVCLFdBQVcsRUZyS0ksb0JBQW9CLEVFcUtDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtRMEszTXBELFlBQVksRTFLcU9wQixNQUEyQixHMEtwT3RCO01BdkJaLEFBeUJXLFlBekJOLENBeUJPLGVBQUcsQ0FBQztRQUNELFdBQVcsRUFBRSxNQUFNO1ExSytJbkMsS0FBSyxFRi9KRixPQUFPO1FFZ0tWLFVBQVUsRUY1SlAsT0FBTztRNEtjTSxXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVLZm5DLE9BQU87UTRLZ0JNLFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSyxDNUtoQnBDLE9BQU87UTRLaUJNLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDNUtqQnJDLE9BQU87UTRLa0JNLEtBQUssRUFBRSxJQUFJO1FBQ1gsVUFBVSxFQUFFLElBQUksR0FxQm5CO1FBckRaLEExSzhLRCxZMEs5S00sQ0F5Qk8sZUFBRyxBMUtxSmYsT0FBTyxFMEs5S1AsWUFBSyxDQXlCTyxlQUFHLEExS3FKTCxNQUFNLENBQUM7VUFDZCxLQUFLLEVGekxOLE9BQU87VUUwTE4sVUFBVSxFRm5LWCxPQUFPLEdFeUtUO1UwS3RMQSxBMUtrTEcsWTBLbExFLENBeUJPLGVBQUcsQTFLcUpmLE9BQU8sQUFJSCxNQUFNLEUwS2xMVixZQUFLLENBeUJPLGVBQUcsQTFLcUpMLE1BQU0sQUFJWixNQUFNLENBQUM7WUFDSixLQUFLLEVGN0xWLE9BQU87WUU4TEYsVUFBVSxFRnZLZixPQUFPLEdFd0tMO1EwS3JMSixBMUt3TEQsWTBLeExNLENBeUJPLGVBQUcsQTFLK0pmLE9BQU8sQ0FBQztVQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7VTBLOUxBLEExSzJMRyxZMEszTEUsQ0F5Qk8sZUFBRyxBMUsrSmYsT0FBTyxBQUdILE1BQU0sQ0FBQztZQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO1EwSzdMSixBMUtnTUQsWTBLaE1NLENBeUJPLGVBQUcsQTFLdUtmLE1BQU0sQ0FBQztVQUNKLEtBQUssRUYzTU4sT0FBTztVRTRNTixVQUFVLEVGckxYLE9BQU87VUVzTE4sZUFBZSxFQUFFLElBQUksR0FNeEI7VTBLek1BLEExS3FNRyxZMEtyTUUsQ0F5Qk8sZUFBRyxBMUt1S2YsTUFBTSxBQUtGLE1BQU0sQ0FBQztZQUNKLFVBQVUsRUZ6TGYsT0FBTztZRTBMRixlQUFlLEVBQUUsSUFBSSxHQUN4QjtRQW5NTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1UwS0xsQyxBQXlCVyxZQXpCTixDQXlCTyxlQUFHLENBQUM7WUFVRyxPQUFPLEUxS3dObkIsUUFBMkIsQ0FBM0IsUUFBMkIsRzBLdE10QjtRbktMYixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7VW1LaER2QixBQXlCVyxZQXpCTixDQXlCTyxlQUFHLENBQUM7WUFjRyxLQUFLLEVBQUUsSUFBSTtZQUNYLFlBQVksRUFBRSxDQUFDO1lBQ2YsYUFBYSxFQUFFLENBQUM7WUFDaEIsVUFBVSxFQUFFLE1BQU0sR0FXekI7UUFyRFosQUE2Q2UsWUE3Q1YsQ0F5Qk8sZUFBRyxBQW9CQyxhQUFhLENBQUM7VUFDWCxhQUFhLEVBQUUsQ0FBQyxHQUNuQjtRQS9DaEIsQUFpRGUsWUFqRFYsQ0F5Qk8sZUFBRyxBQXdCQyxPQUFPLENBQUM7VUFDTCxLQUFLLEU1SzVEdEIsT0FBTztVNEs2RFUsVUFBVSxFNUt0QzNCLE9BQU8sRzRLdUNPO0lBcERoQixBQXdETyxZQXhERixDQXdERyxVQUFNLENBQUM7TTFLaUhoQixLQUFLLEVGbkxGLE9BQU87TUVvTFYsVUFBVSxFRjVKUCxPQUFPO000SzRDRSxPQUFPLEUxS2lNWCxRQUEyQixDQUEzQixRQUEyQjtNMEtoTXZCLFdBQVcsRUFBRSxNQUFNO01BQ25CLFdBQVcsRUFBRSxNQUFNO01BQ25CLFFBQVEsRUFBRSxRQUFRLEdBZXJCO01BNUVSLEExSzhLRCxZMEs5S00sQ0F3REcsVUFBTSxBMUtzSGQsT0FBTyxFMEs5S1AsWUFBSyxDQXdERyxVQUFNLEExS3NISixNQUFNLENBQUM7UUFDZCxLQUFLLEVGekxOLE9BQU87UUUwTE4sVUFBVSxFRm5LWCxPQUFPLEdFeUtUO1EwS3RMQSxBMUtrTEcsWTBLbExFLENBd0RHLFVBQU0sQTFLc0hkLE9BQU8sQUFJSCxNQUFNLEUwS2xMVixZQUFLLENBd0RHLFVBQU0sQTFLc0hKLE1BQU0sQUFJWixNQUFNLENBQUM7VUFDSixLQUFLLEVGN0xWLE9BQU87VUU4TEYsVUFBVSxFRnZLZixPQUFPLEdFd0tMO00wS3JMSixBMUt3TEQsWTBLeExNLENBd0RHLFVBQU0sQTFLZ0lkLE9BQU8sQ0FBQztRQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7UTBLOUxBLEExSzJMRyxZMEszTEUsQ0F3REcsVUFBTSxBMUtnSWQsT0FBTyxBQUdILE1BQU0sQ0FBQztVQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO00wSzdMSixBMUtnTUQsWTBLaE1NLENBd0RHLFVBQU0sQTFLd0lkLE1BQU0sQ0FBQztRQUNKLEtBQUssRUYzTU4sT0FBTztRRTRNTixVQUFVLEVGckxYLE9BQU87UUVzTE4sZUFBZSxFQUFFLElBQUksR0FNeEI7UTBLek1BLEExS3FNRyxZMEtyTUUsQ0F3REcsVUFBTSxBMUt3SWQsTUFBTSxBQUtGLE1BQU0sQ0FBQztVQUNKLFVBQVUsRUZ6TGYsT0FBTztVRTBMRixlQUFlLEVBQUUsSUFBSSxHQUN4QjtNMEt4TUosQUErRFcsWUEvRE4sQ0F3REcsVUFBTSxBQU9GLE9BQU8sQ0FBQztRQUNMLE9BQU8sRUFBRSxpQkFBaUIsR0FDN0I7TUFqRVosQUFvRWUsWUFwRVYsQ0F3REcsVUFBTSxDQVdGLEFBQUEsYUFBQyxDQUFjLE1BQU0sQUFBcEIsQ0FDRyxPQUFPLENBQUM7UUFDTCxPQUFPLEVBQUUsY0FBYyxHQUMxQjtNbkt0QmpCLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRbUtoRHZCLEFBd0RPLFlBeERGLENBd0RHLFVBQU0sQ0FBQztVQWtCQSxPQUFPLEVBQUUsSUFBSSxHQUVwQjtJQUdKLEFBQUQsbUJBQVEsQ0FBQztNQUNMLEtBQUssRUFBRSxJQUFJO01BQ1gsVUFBVSxFNUtuRWYsT0FBTztNNEtvRUYsT0FBTyxFQUFFLElBQUk7TUFDYixlQUFlLEVBQUUsUUFBUTtNQUN6QixTQUFTLEVBQUUsSUFBSSxHQU9sQjtNbkszQ0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FtSytCbkIsQUFPRyxtQkFQSSxBQU9ILFNBQVMsQ0FBQztVQUVILE9BQU8sRUFBRSxJQUFJLEdBRXBCO0VBSVIsQUFBRCxjQUFRLENBQUM7SUFDTCxLQUFLLEU1S3JGTixPQUFPO0lFMk1WLFNBQVMsRUFzQ0QsSUFBMkI7SUFyQ25DLFdBQVcsRTBLdEhtQixNQUFFO0lBQzVCLGFBQWEsRTFLMEpULFFBQTJCO0kwS3pKL0IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLFlBQVk7SUFDckIsV0FBVyxFQUFFLElBQUksR0FtQ3BCO0lBekNBLEFBUUcsY0FSSSxDQVFILEFBQUEsV0FBQyxDQUFZLFVBQVUsQUFBdEIsRUFBd0I7TUFDdEIsTUFBTSxFQUFFLE9BQU8sR0FRbEI7TUFqQkosQUFXTyxjQVhBLENBUUgsQUFBQSxXQUFDLENBQVksVUFBVSxBQUF0QixDQUdHLE9BQU8sQ0FBQztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEtBQUssRTFLK0lULFFBQTJCO1FBMUIvQixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRzBLbkgzRDtJQWhCUixBQW9CTyxjQXBCQSxDQW1CSCxBQUFBLGFBQUMsQ0FBYyxNQUFNLEFBQXBCLENBQ0csT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU87TUFDaEIsVUFBVSxFNUsvQ2pCLElBQUcsQ0FBQyxRQUFRLEc0S2dEUjtJQXZCUixBQTJCTyxjQTNCQSxDQTBCSCxBQUFBLGFBQUMsQ0FBYyxPQUFPLEFBQXJCLENBQ0csT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU87TUFDaEIsVUFBVSxFNUt0RGpCLElBQUcsQ0FBQyxRQUFRLEc0S3VEUjtJQTlCUixBQWtDTyxjQWxDQSxBQWlDSCxPQUFPLEFBQ0gsTUFBTSxDQUFDO01BQ0osT0FBTyxFQUFFLFdBQVc7TUFDcEIsS0FBSyxFNUs3RlQsT0FBTztNRWdMZixTQUFTLEVBc0NELElBQTJCO01BckNuQyxXQUFXLEUwS25GMkIsTUFBRTtNQUM1QixXQUFXLEVBQUUsTUFBTSxHQUN0QjtFQUlSLEFBQUQsWUFBTSxDQUFDO0lBQ0gsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxJQUFJLEdBS2xCO0luS2pHRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TW1LeUZ2QixBQUFELFlBQU0sQ0FBQztRQU1DLE1BQU0sRUFBRSxDQUFDLENBQUUsS0FBSSxDMUs0R2YsT0FBMkIsQzBLNUdDLEtBQUksR0FFdkM7RUFFQSxBQUFELFlBQU0sQ0FBQztJQUNILEtBQUssRUFBRSxJQUFJLEdBa0JkO0luS3RIRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TW1LbUd2QixBQUFELFlBQU0sQ0FBQztRQUlDLEtBQUssRUFBRSxxQkFBcUI7UUFDNUIsTUFBTSxFQUFFLE1BQU0sR0FjckI7SUFYSSxBQUFELGtCQUFPLENBQUM7TUFDSixLQUFLLEVBQUUsSUFBSSxHQUNkO0lBRUEsQUFBRCxzQkFBVyxDQUFDO01BQ1IsYUFBYSxFMUsyRmIsTUFBMkIsRzBLdEY5QjtNbktySEwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FtSytHbkIsQUFBRCxzQkFBVyxDQUFDO1VBSUosYUFBYSxFMUt3RmpCLE9BQTJCLEcwS3RGOUI7RUFHSixBQUFELFlBQU0sQ0FBQztJQUNILE9BQU8sRTFLa0ZILE9BQTJCLENBQTNCLFNBQTJCO0lBdENuQyxTQUFTLEVBc0NELFFBQTJCO0lBckNuQyxXQUFXLEUwSzVDbUIsT0FBRTtJMUtEaEMsS0FBSyxFRnZLRSxJQUFJO0lFd0tYLFVBQVUsRUZuTFAsT0FBTztJNEtxTE4sTUFBTSxFQUFFLENBQUM7SUFDVCxVQUFVLEU1S3hHVCxJQUFHLENBQUMsUUFBUTtJNEt5R2IsTUFBTSxFQUFFLENBQUMsQzFLNkVMLFNBQTJCLEcwS2hFbEM7SUFuQkEsQTFLTUQsWTBLTk0sQTFLTUwsT0FBTyxFMEtOUCxZQUFLLEExS01LLE1BQU0sQ0FBQztNQUNkLEtBQUssRUY3S0YsSUFBSTtNRThLUCxVQUFVLEVGMUxYLE9BQU8sR0VnTVQ7TTBLZEEsQTFLVUcsWTBLVkUsQTFLTUwsT0FBTyxBQUlILE1BQU0sRTBLVlYsWUFBSyxBMUtNSyxNQUFNLEFBSVosTUFBTSxDQUFDO1FBQ0osS0FBSyxFRmpMTixJQUFJO1FFa0xILFVBQVUsRUY5TGYsT0FBTyxHRStMTDtJMEtiSixBMUtnQkQsWTBLaEJNLEExS2dCTCxPQUFPLENBQUM7TUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO00wS3RCQSxBMUttQkcsWTBLbkJFLEExS2dCTCxPQUFPLEFBR0gsTUFBTSxDQUFDO1FBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7STBLckJKLEExS3dCRCxZMEt4Qk0sQTFLd0JMLE1BQU0sQ0FBQztNQUNKLEtBQUssRUYvTEYsSUFBSTtNRWdNUCxVQUFVLEVGNU1YLE9BQU87TUU2TU4sZUFBZSxFQUFFLElBQUksR0FNeEI7TTBLakNBLEExSzZCRyxZMEs3QkUsQTFLd0JMLE1BQU0sQUFLRixNQUFNLENBQUM7UUFDSixVQUFVLEVGaE5mLE9BQU87UUVpTkYsZUFBZSxFQUFFLElBQUksR0FDeEI7STBLeEJBLEFBQUQsbUJBQVEsQ0FBQztNMUtQYixLQUFLLEVGN0pGLE9BQU87TUU4SlYsVUFBVSxFRjFGTCxnQkFBZ0I7TTRLa0diLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRTFLd0VQLE9BQTJCLEMwS3hFUCxDQUFDLEdBT3hCO01BVkEsQTFLRkwsbUIwS0VZLEExS0ZYLE9BQU8sRTBLRUgsbUJBQU8sQTFLRkQsTUFBTSxDQUFDO1FBQ2QsS0FBSyxFRnpMTixPQUFPO1FFMExOLFVBQVUsRUZoR1QsZ0JBQWdCLEdFc0dwQjtRMEtOSSxBMUtFRCxtQjBLRlEsQTFLRlgsT0FBTyxBQUlILE1BQU0sRTBLRk4sbUJBQU8sQTFLRkQsTUFBTSxBQUlaLE1BQU0sQ0FBQztVQUNKLEtBQUssRUY3TFYsT0FBTztVRThMRixVQUFVLEVGcEdiLGdCQUFnQixHRXFHaEI7TTBLTEEsQTFLUUwsbUIwS1JZLEExS1FYLE9BQU8sQ0FBQztRQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FLaEQ7UTBLZEksQTFLV0QsbUIwS1hRLEExS1FYLE9BQU8sQUFHSCxNQUFNLENBQUM7VUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtNMEtiQSxBMUtnQkwsbUIwS2hCWSxBMUtnQlgsTUFBTSxDQUFDO1FBQ0osS0FBSyxFRjNNTixPQUFPO1FFNE1OLFVBQVUsRUZsSFQsZ0JBQWdCO1FFbUhqQixlQUFlLEVBQUUsSUFBSSxHQU14QjtRMEt6QkksQTFLcUJELG1CMEtyQlEsQTFLZ0JYLE1BQU0sQUFLRixNQUFNLENBQUM7VUFDSixVQUFVLEVGdEhiLGdCQUFnQjtVRXVIYixlQUFlLEVBQUUsSUFBSSxHQUN4QjtNMEt4QkEsQUFLRyxtQkFMSSxBQUtILE1BQU0sQ0FBQztRQUNKLE9BQU8sRUFBRSxPQUFPO1ExSzJDeEIsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO1EwS3pDeEQsV0FBVyxFMUttRWYsTUFBMkIsRzBLbEUxQjtFQUlSLEFBQUQsZUFBUyxDQUFDO0lBQ04sT0FBTyxFMUs2REgsUUFBMkI7STBLNUQvQixVQUFVLEU1S2pMWCxPQUFPO0k0S21MTixPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxNQUFNLEdBQzFCO0VBL01MLEFBa05RLE9BbE5ELENBaU5ILFdBQVcsQUFDTixjQUFjLENBQUM7SUFDWixZQUFZLEUxS29EWixRQUEyQjtJMEtuRDNCLGFBQWEsRTFLbURiLFNBQTJCLEcwSzlDOUI7SW5LN0pMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNbUs1RDVCLEFBa05RLE9BbE5ELENBaU5ILFdBQVcsQUFDTixjQUFjLENBQUM7UUFLUixhQUFhLEUxS2dEakIsUUFBMkIsRzBLOUM5QjtFQXpOVCxBQTROWSxPQTVOTCxDQWlOSCxXQUFXLEFBVU4sYUFBYSxBQUNULGNBQWMsQ0FBQztJQUNaLFlBQVksRUFBRSxDQUFDLEdBQ2xCO0VBOU5iLEFBa09JLE9BbE9HLENBa09ILGNBQWMsRUFsT2xCLE9BQU8sQ0FrT2EsV0FBVyxDQUFDO0lBQ3hCLE9BQU8sRUFBRSxZQUFZLEdBMkV4QjtJQTlTTCxBQXFPUSxPQXJPRCxDQWtPSCxjQUFjLENBR1YsS0FBSyxFQXJPYixPQUFPLENBa09ILGNBQWMsQ2xFNU1sQixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQUtGLFdBQVcsRUEvRHZCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENrRWhGZCxPQUFPLENBa09ILGNBQWMsQ2xFN0lOLFdBQVcsRWtFckZ2QixPQUFPLENBa09hLFdBQVcsQ0FHdkIsS0FBSyxFQXJPYixPQUFPLENBa09hLFdBQVcsQ2xFNU0vQixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQUtGLFdBQVcsRUEvRHZCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENrRWhGZCxPQUFPLENBa09hLFdBQVcsQ2xFN0luQixXQUFXLENrRWdKVDtNQUNGLE1BQU0sRUFBRSxPQUFPO01BQ2YsT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTTtNQUNuQixNQUFNLEVBQUUsQ0FBQztNQUNULEtBQUssRTVLbk5WLE9BQU87TUUwTVYsU0FBUyxFQXNDRCxTQUEyQjtNQXJDbkMsV0FBVyxFMEtTdUIsR0FBRSxHQUsvQjtNbktwTEwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FtSzVENUIsQUFxT1EsT0FyT0QsQ0FrT0gsY0FBYyxDQUdWLEtBQUssRUFyT2IsT0FBTyxDQWtPSCxjQUFjLENsRTVNbEIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0FLRixXQUFXLEVBL0R2QixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDa0VoRmQsT0FBTyxDQWtPSCxjQUFjLENsRTdJTixXQUFXLEVrRXJGdkIsT0FBTyxDQWtPYSxXQUFXLENBR3ZCLEtBQUssRUFyT2IsT0FBTyxDQWtPYSxXQUFXLENsRTVNL0IsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ0FLRixXQUFXLEVBL0R2QixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDa0VoRmQsT0FBTyxDQWtPYSxXQUFXLENsRTdJbkIsV0FBVyxDa0VnSlQ7VTFLSlYsU0FBUyxFQXNDRCxRQUEyQjtVQXJDbkMsV0FBVyxFMEtZMkIsT0FBRSxHQUVuQztJQWhQVCxBQWtQUSxPQWxQRCxDQWtPSCxjQUFjLENBZ0JWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSUFBbUIsS0FBSyxDQUFDLElBQUksRUFsUDNDLE9BQU8sQ0FrT0gsY0FBYyxDbEU1TWxCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENrRWtLTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElsRTdKRixXQUFXLENrRTZKZ0IsSUFBSSxFbEU1TjNDLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENrRWhGZCxPQUFPLENBa09ILGNBQWMsQ0FnQlYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJbEU3SkYsV0FBVyxDa0U2SmdCLElBQUksRUFsUDNDLE9BQU8sQ0FrT2EsV0FBVyxDQWdCdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQUFtQixLQUFLLENBQUMsSUFBSSxFQWxQM0MsT0FBTyxDQWtPYSxXQUFXLENsRTVNL0IsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2tFa0tOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSWxFN0pGLFdBQVcsQ2tFNkpnQixJQUFJLEVsRTVOM0MsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2tFaEZkLE9BQU8sQ0FrT2EsV0FBVyxDQWdCdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJbEU3SkYsV0FBVyxDa0U2SmdCLElBQUksQ0FBQztNQUNoQyxPQUFPLEVBQUUsWUFBWTtNQUNyQixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osTUFBTSxFQUFFLENBQUMsQzFLaUJULFNBQTJCLEMwS2pCUCxDQUFDLENBQUMsQ0FBQztNQUN2QixjQUFjLEVBQUUsTUFBTTtNQUN0QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVLL050QixPQUFPO000S2dPRixVQUFVLEU1SzNPWCxJQUFJO000SzRPSCxNQUFNLEVBQUUsT0FBTztNQUNmLFFBQVEsRUFBRSxRQUFRLEdBQ3JCO0lBNVBULEFBOFBRLE9BOVBELENBa09ILGNBQWMsQ0E0QlYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJQUFnQixLQUFLLENBQUMsSUFBSSxFQTlQeEMsT0FBTyxDQWtPSCxjQUFjLENsRTVNbEIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2tFOEtOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSWxFektGLFdBQVcsQ2tFeUthLElBQUksRWxFeE94QyxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDa0VoRmQsT0FBTyxDQWtPSCxjQUFjLENBNEJWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSWxFektGLFdBQVcsQ2tFeUthLElBQUksRUE5UHhDLE9BQU8sQ0FrT2EsV0FBVyxDQTRCdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJQUFnQixLQUFLLENBQUMsSUFBSSxFQTlQeEMsT0FBTyxDQWtPYSxXQUFXLENsRTVNL0IsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2tFOEtOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSWxFektGLFdBQVcsQ2tFeUthLElBQUksRWxFeE94QyxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDa0VoRmQsT0FBTyxDQWtPYSxXQUFXLENBNEJ2QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLElsRXpLRixXQUFXLENrRXlLYSxJQUFJLENBQUM7TUFDN0IsT0FBTyxFQUFFLFlBQVk7TUFDckIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLE1BQU0sRUFBRSxDQUFDLEMxS0tULFFBQTJCLEMwS0xOLENBQUMsQ0FBQyxDQUFDO01BQ3hCLGNBQWMsRUFBRSxNQUFNO01BQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDNUszT3RCLE9BQU87TTRLNE9GLFVBQVUsRTVLdlBYLElBQUk7TTRLd1BILE1BQU0sRUFBRSxPQUFPO01BQ2YsUUFBUSxFQUFFLFFBQVE7TUFDbEIsYUFBYSxFQUFFLEdBQUcsR0FDckI7SUF6UVQsQUEyUVEsT0EzUUQsQ0FrT0gsY0FBYyxDQXlDVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEdBM1FkLE9BQU8sQ0FrT2EsV0FBVyxDQXlDdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQUFjO01BQ2hCLE9BQU8sRUFBRSxJQUFJLEdBTWhCO01BbFJULEFBOFFZLE9BOVFMLENBa09ILGNBQWMsQ0F5Q1YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUdELFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxFQTlRbEMsT0FBTyxDQWtPSCxjQUFjLENsRTVNbEIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2tFMkxOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FHRCxRQUFRLEdsRXpMVCxXQUFXLENrRXlMTyxJQUFJLEVsRXhQbEMsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2tFaEZkLE9BQU8sQ0FrT0gsY0FBYyxDQXlDVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBR0QsUUFBUSxHbEV6TFQsV0FBVyxDa0V5TE8sSUFBSSxFQTlRbEMsT0FBTyxDQWtPYSxXQUFXLENBeUN2QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBR0QsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBOVFsQyxPQUFPLENBa09hLFdBQVcsQ2xFNU0vQixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDa0UyTE4sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUdELFFBQVEsR2xFekxULFdBQVcsQ2tFeUxPLElBQUksRWxFeFBsQyxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDa0VoRmQsT0FBTyxDQWtPYSxXQUFXLENBeUN2QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBR0QsUUFBUSxHbEV6TFQsV0FBVyxDa0V5TE8sSUFBSSxDQUFDO1FBQ25CLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDNUs5TnJCLE9BQU87UTRLK05ILFVBQVUsRTVLL05kLE9BQU8sQzRLK04wQyx1Q0FBMEMsQ0FBQyxTQUFTLENBQUMsV0FBYSxDQUFDLElBQUksR0FDdkg7SUFqUmIsQUFvUlEsT0FwUkQsQ0FrT0gsY0FBYyxDQWtEVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEdBcFJkLE9BQU8sQ0FrT2EsV0FBVyxDQWtEdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixFQUFpQjtNQUNuQixPQUFPLEVBQUUsSUFBSSxHQVVoQjtNQS9SVCxBQXVSWSxPQXZSTCxDQWtPSCxjQUFjLENBa0RWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FHRCxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksRUF2UmxDLE9BQU8sQ0FrT0gsY0FBYyxDbEU1TWxCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENrRW9NTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBR0QsUUFBUSxHbEVsTVQsV0FBVyxDa0VrTU8sSUFBSSxFbEVqUWxDLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENrRWhGZCxPQUFPLENBa09ILGNBQWMsQ0FrRFYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQUdELFFBQVEsR2xFbE1ULFdBQVcsQ2tFa01PLElBQUksRUF2UmxDLE9BQU8sQ0FrT2EsV0FBVyxDQWtEdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQUdELFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxFQXZSbEMsT0FBTyxDQWtPYSxXQUFXLENsRTVNL0IsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2tFb01OLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FHRCxRQUFRLEdsRWxNVCxXQUFXLENrRWtNTyxJQUFJLEVsRWpRbEMsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2tFaEZkLE9BQU8sQ0FrT2EsV0FBVyxDQWtEdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQUdELFFBQVEsR2xFbE1ULFdBQVcsQ2tFa01PLElBQUksQ0FBQztRQUNuQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVLdFIxQixPQUFPO1E0S3VSRSxVQUFVLEU1S3ZSbkIsT0FBTyxDNEt1UndDLHNDQUF5QyxDQUFDLFNBQVMsQ0FBQyxjQUFnQixHQUM3RztNQTFSYixBQTRSWSxPQTVSTCxDQWtPSCxjQUFjLENBa0RWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FRRCxRQUFRLEdBQUcsS0FBSyxFQTVSN0IsT0FBTyxDQWtPSCxjQUFjLENsRTVNbEIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2tFb01OLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FRRCxRQUFRLEdsRXZNVCxXQUFXLEVBL0R2QixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDa0VoRmQsT0FBTyxDQWtPSCxjQUFjLENBa0RWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FRRCxRQUFRLEdsRXZNVCxXQUFXLEVrRXJGdkIsT0FBTyxDQWtPYSxXQUFXLENBa0R2QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBUUQsUUFBUSxHQUFHLEtBQUssRUE1UjdCLE9BQU8sQ0FrT2EsV0FBVyxDbEU1TS9CLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENrRW9NTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBUUQsUUFBUSxHbEV2TVQsV0FBVyxFQS9EdkIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2tFaEZkLE9BQU8sQ0FrT2EsV0FBVyxDQWtEdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQVFELFFBQVEsR2xFdk1ULFdBQVcsQ2tFdU1PO1FBQ2QsS0FBSyxFNUszUmQsT0FBTyxHNEs0UkQ7SUE5UmIsQUFrU1ksT0FsU0wsQ0FrT0gsY0FBYyxBQStEVCxVQUFVLENBQ1AsS0FBSyxFQWxTakIsT0FBTyxDQWtPSCxjQUFjLEFBK0RULFVBQVUsQ2xFM1FuQixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDQUtGLFdBQVcsRUEvRHZCLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENrRWhGZCxPQUFPLENBa09ILGNBQWMsQUErRFQsVUFBVSxDbEU1TVAsV0FBVyxFa0VyRnZCLE9BQU8sQ0FrT2EsV0FBVyxBQStEdEIsVUFBVSxDQUNQLEtBQUssRUFsU2pCLE9BQU8sQ0FrT2EsV0FBVyxBQStEdEIsVUFBVSxDbEUzUW5CLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENBS0YsV0FBVyxFQS9EdkIsS0FBSyxDQXdCRCxXQUFXLEFBa0NOLEtBQUssQ2tFaEZkLE9BQU8sQ0FrT2EsV0FBVyxBQStEdEIsVUFBVSxDbEU1TVAsV0FBVyxDa0U2TUw7TUFDRixLQUFLLEU1S25QVixPQUFPLEc0S29QTDtJQXBTYixBQXNTWSxPQXRTTCxDQWtPSCxjQUFjLEFBK0RULFVBQVUsQ0FLUCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBQW1CLEtBQUssQ0FBQyxJQUFJLEVBdFMvQyxPQUFPLENBa09ILGNBQWMsQUErRFQsVUFBVSxDbEUzUW5CLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENrRXNORixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElsRWpOTixXQUFXLENrRWlOb0IsSUFBSSxFbEVoUi9DLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENrRWhGZCxPQUFPLENBa09ILGNBQWMsQUErRFQsVUFBVSxDQUtQLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSWxFak5OLFdBQVcsQ2tFaU5vQixJQUFJLEVBdFMvQyxPQUFPLENBa09hLFdBQVcsQUErRHRCLFVBQVUsQ0FLUCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBQW1CLEtBQUssQ0FBQyxJQUFJLEVBdFMvQyxPQUFPLENBa09hLFdBQVcsQUErRHRCLFVBQVUsQ2xFM1FuQixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDa0VzTkYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJbEVqTk4sV0FBVyxDa0VpTm9CLElBQUksRWxFaFIvQyxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDa0VoRmQsT0FBTyxDQWtPYSxXQUFXLEFBK0R0QixVQUFVLENBS1AsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJbEVqTk4sV0FBVyxDa0VpTm9CLElBQUksQ0FBQztNQUNoQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVLdlB0QixPQUFPLEc0S3dQTDtJQXhTYixBQTBTWSxPQTFTTCxDQWtPSCxjQUFjLEFBK0RULFVBQVUsQ0FTUCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLElBQWdCLEtBQUssQ0FBQyxJQUFJLEVBMVM1QyxPQUFPLENBa09ILGNBQWMsQUErRFQsVUFBVSxDbEUzUW5CLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENrRTBORixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLElsRXJOTixXQUFXLENrRXFOaUIsSUFBSSxFbEVwUjVDLEtBQUssQ0F3QkQsV0FBVyxBQWtDTixLQUFLLENrRWhGZCxPQUFPLENBa09ILGNBQWMsQUErRFQsVUFBVSxDQVNQLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSWxFck5OLFdBQVcsQ2tFcU5pQixJQUFJLEVBMVM1QyxPQUFPLENBa09hLFdBQVcsQUErRHRCLFVBQVUsQ0FTUCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLElBQWdCLEtBQUssQ0FBQyxJQUFJLEVBMVM1QyxPQUFPLENBa09hLFdBQVcsQUErRHRCLFVBQVUsQ2xFM1FuQixLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDa0UwTkYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJbEVyTk4sV0FBVyxDa0VxTmlCLElBQUksRWxFcFI1QyxLQUFLLENBd0JELFdBQVcsQUFrQ04sS0FBSyxDa0VoRmQsT0FBTyxDQWtPYSxXQUFXLEFBK0R0QixVQUFVLENBU1AsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJbEVyTk4sV0FBVyxDa0VxTmlCLElBQUksQ0FBQztNQUM3QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVLM1B0QixPQUFPLEc0SzRQTDs7QTdFNVNiLEFBQUEsT0FBTyxDOEVBQztFQUNKLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFdBQVcsRTNLcVFILFFBQTJCO0UyS3BRbkMsWUFBWSxFM0tvUUosUUFBMkIsRzJLL050QztFQXhDRCxBQU1RLE9BTkQsQ0FLSCxRQUFRLEFBQ0gsR0FBRyxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUMsR0FDYjtFQVJULEFBVVEsT0FWRCxDQUtILFFBQVEsQ0FLSixjQUFjLENBQUM7SUFDWCxVQUFVLEU3S2lGYixnQkFBZ0I7STZLaEZiLEtBQUssRTdLVVYsT0FBTztJRTJNVixTQUFTLEVBc0NELFNBQTJCO0lBckNuQyxXQUFXLEUyS3JOdUIsR0FBRSxHQVMvQjtJcEtzQ0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01vSzVENUIsQUFVUSxPQVZELENBS0gsUUFBUSxDQUtKLGNBQWMsQ0FBQztRM0t1Tm5CLFNBQVMsRUFzQ0QsUUFBMkI7UUFyQ25DLFdBQVcsRTJLbE4yQixHQUFFLEdBTW5DO0lBdEJULEFBbUJZLE9BbkJMLENBS0gsUUFBUSxDQUtKLGNBQWMsQUFTVCxNQUFNLENBQUM7TUFDSixPQUFPLEVBQUUsS0FBSyxHQUNqQjtFQXJCYixBQXlCWSxPQXpCTCxDQXdCRSxZQUFJLENBQ0QsY0FBYyxDQUFDO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFM0s0T1IsVUFBMkI7STJLM092QixHQUFHLEUzSzJPUCxTQUEyQixHMksxTzFCO0VBN0JiLEFBaUNZLE9BakNMLENBZ0NFLFlBQUksQ0FDRCxjQUFjLENBQUM7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEUzS29PVCxVQUEyQjtJMktuT3ZCLEdBQUcsRTNLbU9QLFNBQTJCLEcyS2xPMUI7O0E5RW1JYixBQUFBLGlCQUFpQixDOEU5SEM7RUFDZCxVQUFVLEU3S3pDUCxPQUFPLEc2SzBDYjs7QTlFNUNELEFBT0ksT0FQRyxBQUlKLGtCQUFrQixDQUdqQixhQUFhLEM4RXVDdUI7RUFDcEMsTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLENBQUM7RUFDUCxhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHNCQUFtQjtFQUMzQyxnQkFBZ0IsRUFBRSxPQUFPLEdBQzVCOztBOUV2REQsQUFJRSxPQUpLLEFBSUosa0JBQWtCLEM4RXFESztFQUN0QixNQUFNLEUzSzZNRSxTQUEyQjtFMks1TW5DLEtBQUssRUFBRSxpQkFBaUI7RUFDeEIsYUFBYSxFQUFFLENBQUMsR0FLbkI7RXBLTEcsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lzRjVENUIsQUFJRSxPQUpLLEFBSUosa0JBQWtCLEM4RXFESztNQU1sQixTQUFTLEUzS3dNTCxRQUEyQixHMkt0TXRDOztBOUUySEQsQUFhRSxjQWJZLEFBYVgsTUFBTSxDOEVySUc7RUFDSixVQUFVLEU3S3ZEUCxJQUFJO0U2S3dEUCxhQUFhLEVBQUUsR0FBRztFQUNsQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzdLOUNsQixPQUFPO0U2SytDTixLQUFLLEUzSytMRCxRQUEyQjtFMks5TC9CLE1BQU0sRTNLOExGLFNBQTJCLEcySzdMbEM7O0FDMUVMLEFBQUEsUUFBUSxDQUFDO0VBQ0wsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsTUFBTTtFQUNsQixPQUFPLEU1S29RQyxRQUEyQjtFNEtuUW5DLFVBQVUsRTlLc0JQLE9BQU8sRzhLb0NiO0VBeERJLEFBQUQsZUFBUSxDQUFDO0lBQ0wsS0FBSyxFOUtnQk4sT0FBTztJRTBNVixTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEU0SzFObUIsTUFBRTtJQUM1QixRQUFRLEVBQUUsUUFBUTtJQUNsQixhQUFhLEU1SzZQVCxPQUEyQixHNEs1UGxDO0VBRUEsQUFBRCxjQUFPLENBQUM7SUFDSixLQUFLLEU5S1VOLE9BQU87SThLVE4sYUFBYSxFNUt3UFQsUUFBMkI7SUF0Q25DLFNBQVMsRUFzQ0QsU0FBMkI7SUFyQ25DLFdBQVcsRTRLbE5tQixHQUFFLEdBVS9CO0lyS2tDRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TXFLL0N2QixBQUFELGNBQU8sQ0FBQztRNUtvTlIsU0FBUyxFQXNDRCxPQUEyQjtRQXJDbkMsV0FBVyxFNEsvTXVCLE9BQUUsR0FPbkM7SUFiQSxBQVNHLGNBVEcsQ0FTSCxJQUFJLENBQUM7TUFDRCxLQUFLLEVBQUUsT0FBTztNQUNkLFdBQVcsRUFBRSxJQUFJLEdBQ3BCO0VBR0osQUFBRCxhQUFNLENBQUM7SUFDSCxPQUFPLEVBQUUsSUFBSTtJNUt3SmpCLEtBQUssRTRLdkpxQixPQUFPO0k1S3dKakMsVUFBVSxFRjFGTCxnQkFBZ0I7SThLN0RqQixNQUFNLEVBQUUsQ0FBQztJQUNULFFBQVEsRUFBRSxRQUFRLEdBU3JCO0lBYkEsQTVLOEpELGE0SzlKTSxBNUs4SkwsT0FBTyxFNEs5SlAsYUFBSyxBNUs4SkssTUFBTSxDQUFDO01BQ2QsS0FBSyxFRnRMTixPQUFPO01FdUxOLFVBQVUsRUZoR1QsZ0JBQWdCLEdFc0dwQjtNNEt0S0EsQTVLa0tHLGE0S2xLRSxBNUs4SkwsT0FBTyxBQUlILE1BQU0sRTRLbEtWLGFBQUssQTVLOEpLLE1BQU0sQUFJWixNQUFNLENBQUM7UUFDSixLQUFLLEVGMUxWLE9BQU87UUUyTEYsVUFBVSxFRnBHYixnQkFBZ0IsR0VxR2hCO0k0S3JLSixBNUt3S0QsYTRLeEtNLEE1S3dLTCxPQUFPLENBQUM7TUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO000SzlLQSxBNUsyS0csYTRLM0tFLEE1S3dLTCxPQUFPLEFBR0gsTUFBTSxDQUFDO1FBQ0osVUFBVSxFQUFFLElBQUksR0FDbkI7STRLN0tKLEE1S2dMRCxhNEtoTE0sQTVLZ0xMLE1BQU0sQ0FBQztNQUNKLEtBQUssRUZ4TU4sT0FBTztNRXlNTixVQUFVLEVGbEhULGdCQUFnQjtNRW1IakIsZUFBZSxFQUFFLElBQUksR0FNeEI7TTRLekxBLEE1S3FMRyxhNEtyTEUsQTVLZ0xMLE1BQU0sQUFLRixNQUFNLENBQUM7UUFDSixVQUFVLEVGdEhiLGdCQUFnQjtRRXVIYixlQUFlLEVBQUUsSUFBSSxHQUN4QjtJNEt4TEosQUFNRyxhQU5FLEFBTUQsT0FBTyxDQUFDO01BQ0wsT0FBTyxFQUFFLE9BQU87TUFDaEIsTUFBTSxFNUttT04sUUFBMkI7TTRLbE8zQixLQUFLLEU1S2tPTCxRQUEyQjtNQTFCL0IsV0FBVyxFRnJLSSxvQkFBb0IsRUVxS0MsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO000S3RNNUQsVUFBVSxFOUswQ2IsSUFBRyxDQUFDLFFBQVEsRzhLekNaO0VBeENULEFBMkNJLFFBM0NJLENBMkNKLGNBQWMsQ0FBQztJQUNYLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFNUswTkwsU0FBMkI7STRLek4vQixPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDNUt3TlYsUUFBMkIsQzRLeE5MLElBQUksR0FjakM7SUE3REwsQUFpRFEsUUFqREEsQ0EyQ0osY0FBYyxDQU1WLGFBQWEsQ0FBQztNQUNWLE1BQU0sRTVLcU5OLFNBQTJCO000S3BOM0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5SzFCdEIsT0FBTztNRXdNVixTQUFTLEVBc0NELElBQTJCO01BckNuQyxXQUFXLEU0SzlLdUIsTUFBRTtNQUM1QixhQUFhLEVBQUUsQ0FBQztNQUNoQixPQUFPLEU1S2lOUCxTQUEyQixHNEszTTlCO01BNURULEFBd0RZLFFBeERKLENBMkNKLGNBQWMsQ0FNVixhQUFhLEFBT1IsYUFBYSxDQUFDO1FBQ1gsS0FBSyxFOUtoQ2QsT0FBTztRRXdNVixTQUFTLEVBc0NELElBQTJCO1FBckNuQyxXQUFXLEU0S3hLMkIsTUFBRSxHQUMvQjs7QUMzRGIsQUFBQSxVQUFVLENBQUM7RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsSUFBSTtFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLGFBQWEsRUFBRSxDQUFDLEdBMkluQjtFQWpKRCxBQVFJLFVBUk0sQUFRTCxNQUFNLENBQUM7SUFDSixPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRTdLNFBDLFNBQTJCO0k2SzNQL0IsSUFBSSxFQUFFLEtBQUs7SUFDWCxLQUFLLEVBQUUsTUFBTTtJQUNiLE1BQU0sRUFBRSxNQUFNO0lBQ2QsVUFBVSxFQUFFLHFCQUFxQjtJQUNqQyxPQUFPLEVBQUUsQ0FBQyxHQUNiO0VBRUEsQUFBRCxpQkFBUSxDQUFDO0lBQ0wsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEUvS1JQLElBQUksRytLU1Y7RUFFQSxBQUFELGtCQUFTLENBQUM7SUFDTixPQUFPLEU3SzZPSCxRQUEyQixDQUEzQixTQUEyQjtJNks1Ty9CLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBRUEsQUFBRCxpQkFBUSxDQUFDO0k3S21NVCxTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEU2S25NbUIsTUFBRTtJQUM1QixLQUFLLEUvS1JOLE9BQU87SStLU04sY0FBYyxFQUFFLFNBQVM7SUFDekIsV0FBVyxFQUFFLElBQUk7SUFDakIsT0FBTyxFN0tvT0gsU0FBMkI7STZLbk8vQixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDL0toQ3pCLE9BQU87SStLaUNOLGFBQWEsRUFBRSxDQUFDLEdBQ25CO0VBRUEsQUFBRCxnQkFBTyxDQUFDO0lBQ0osT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQztJQUNULGVBQWUsRUFBRSxJQUFJLEdBaUZ4QjtJQS9FSSxBQUFELHNCQUFPLENBQUM7TUFDSixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQy9LMUM3QixPQUFPLEcrSzJDTDtJQUVBLEFBQUQsc0JBQU8sQ0FBQztNQUNKLE9BQU8sRTdLb05QLE9BQTJCLENBQTNCLFFBQTJCO002S25OM0IsT0FBTyxFQUFFLElBQUk7TUFDYixRQUFRLEVBQUUsUUFBUTtNN0tnSTFCLEtBQUssRUZuTEYsT0FBTztNK0txREYsV0FBVyxFQUFFLElBQUk7TUFDakIsVUFBVSxFL0t5QmIsSUFBRyxDQUFDLFFBQVE7TStLeEJULGVBQWUsRUFBRSxJQUFJO003S3dLN0IsU0FBUyxFQXNDRCxTQUEyQjtNQXJDbkMsV0FBVyxFNkt4S3VCLEdBQUUsR0FpQi9CO01BekJBLEE3S3dJTCxzQjZLeElXLEE3S3dJVixPQUFPLEU2S3hJSCxzQkFBTSxBN0t3SUEsTUFBTSxDQUFDO1FBQ2QsS0FBSyxFRnpMTixPQUFPO1FFMExOLFVBQVUsRUZsS1gsT0FBTyxHRXdLVDtRNktoSkksQTdLNElELHNCNks1SU8sQTdLd0lWLE9BQU8sQUFJSCxNQUFNLEU2SzVJTixzQkFBTSxBN0t3SUEsTUFBTSxBQUlaLE1BQU0sQ0FBQztVQUNKLEtBQUssRUY3TFYsT0FBTztVRThMRixVQUFVLEVGdEtmLE9BQU8sR0V1S0w7TTZLL0lBLEE3S2tKTCxzQjZLbEpXLEE3S2tKVixPQUFPLENBQUM7UUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBS2hEO1E2S3hKSSxBN0txSkQsc0I2S3JKTyxBN0trSlYsT0FBTyxBQUdILE1BQU0sQ0FBQztVQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO002S3ZKQSxBN0swSkwsc0I2SzFKVyxBN0swSlYsTUFBTSxDQUFDO1FBQ0osS0FBSyxFRjNNTixPQUFPO1FFNE1OLFVBQVUsRUZwTFgsT0FBTztRRXFMTixlQUFlLEVBQUUsSUFBSSxHQU14QjtRNktuS0ksQTdLK0pELHNCNksvSk8sQTdLMEpWLE1BQU0sQUFLRixNQUFNLENBQUM7VUFDSixVQUFVLEVGeExmLE9BQU87VUV5TEYsZUFBZSxFQUFFLElBQUksR0FDeEI7TU94SkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FzS1ZuQixBQUFELHNCQUFPLENBQUM7VTdLK0taLFNBQVMsRUFzQ0QsUUFBMkI7VUFyQ25DLFdBQVcsRTZLcksyQixPQUFFLEdBY25DO01BekJBLEFBY0csc0JBZEcsQUFjRixPQUFPLENBQUM7UUFDTCxPQUFPLEVBQUUsU0FBUztRN0t3TDFCLFdBQVcsRUYvS00sc0JBQXNCLEVFK0tELFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtRNkt0TDFELEtBQUssRS9LM0NkLE9BQU87UStLNENFLFNBQVMsRTdLbU1iLElBQTJCO1E2S2xNdkIsWUFBWSxFN0trTWhCLFFBQTJCLEc2S2pNMUI7TUFwQkosQUFzQkcsc0JBdEJHLEFBc0JGLE1BQU0sQ0FBQztRQUNKLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0lBR0osQUFBRCx1QkFBUSxDQUFDO003S29KYixTQUFTLEVBc0NELFNBQTJCO01BckNuQyxXQUFXLEU2S3BKdUIsR0FBRTtNQUM1QixLQUFLLEUvS3pEVixPQUFPO00rSzBERixhQUFhLEVBQUUsQ0FBQyxHQUNuQjtJQUVBLEFBQUQsdUJBQVEsQ0FBQztNQUNMLFdBQVcsRUFBRSxJQUFJO01BQ2pCLEtBQUssRS9LbkZWLE9BQU87TStLb0ZGLE1BQU0sRUFBRSxDQUFDO003SzJJakIsU0FBUyxFQXNDRCxTQUEyQjtNQXJDbkMsV0FBVyxFNkszSXVCLEdBQUUsR0FpQi9CO010SzVDTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UXNLdUJuQixBQUFELHVCQUFRLENBQUM7VTdLOEliLFNBQVMsRUFzQ0QsUUFBMkI7VUFyQ25DLFdBQVcsRTZLeEkyQixPQUFFLEdBY25DO01BWEksQUFBRCwrQkFBUyxDQUFDO1FBQ04sS0FBSyxFL0tyRWQsT0FBTztRK0tzRUUsZUFBZSxFQUFFLFlBQVk7UUFDN0IsV0FBVyxFQUFFLE1BQU07UUFDbkIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDN0tzS2pCLFFBQTJCO1FBdENuQyxTQUFTLEVBc0NELFNBQTJCO1FBckNuQyxXQUFXLEU2S2hJMkIsR0FBRSxHQUsvQjtRdEszQ1QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1VzS2lDZixBQUFELCtCQUFTLENBQUM7WTdLb0lsQixTQUFTLEVBc0NELE9BQTJCO1lBckNuQyxXQUFXLEU2SzdIK0IsT0FBRSxHQUVuQztJQUdKLEFBQUQseUJBQVUsQ0FBQztNQUNQLE9BQU8sRUFBRSxJQUFJO01BQ2IscUJBQXFCLEU3SzJKckIsT0FBMkIsQzZLM0pPLEdBQUc7TUFDckMsUUFBUSxFN0swSlIsU0FBMkI7TTZLekozQixPQUFPLEU3S3lKUCxTQUEyQjtNNkt4SjNCLFVBQVUsRS9LOUJiLElBQUcsQ0FBQyxRQUFRLEcrSzJDWjtNQWxCQSxBQU9HLHlCQVBNLEFBT0wsTUFBTSxDQUFDO1FBQ0osZUFBZSxFQUFFLElBQUk7UUFDckIsVUFBVSxFL0t6Rm5CLE9BQU8sRytLMEZEO01BRUEsQUFBRCxnQ0FBUSxDQUFDO1FBQ0wsT0FBTyxFQUFFLElBQUk7UUFDYixjQUFjLEVBQUUsTUFBTTtRQUN0QixlQUFlLEVBQUUsYUFBYTtRQUM5QixNQUFNLEVBQUUsSUFBSSxHQUNmO0VBSVIsQUFBRCxpQkFBUSxDQUFDO0k3S2tHVCxTQUFTLEVBc0NELElBQTJCO0lBckNuQyxXQUFXLEU2S2xHbUIsTUFBRTtJN0txRGhDLEtBQUssRUZuTEYsT0FBTztJRW9MVixVQUFVLEVGMUZMLGdCQUFnQjtJK0tzQ2pCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxNQUFNLEVBQUUsQ0FBQztJQUNULFVBQVUsRS9LcERULElBQUcsQ0FBQyxRQUFRLEcrS3lEaEI7SUFYQSxBN0syREQsaUI2SzNEUSxBN0syRFAsT0FBTyxFNkszRFAsaUJBQU8sQTdLMkRHLE1BQU0sQ0FBQztNQUNkLEtBQUssRUZ0TE4sT0FBTztNRXVMTixVQUFVLEVGaEdULGdCQUFnQixHRXNHcEI7TTZLbkVBLEE3SytERyxpQjZLL0RJLEE3SzJEUCxPQUFPLEFBSUgsTUFBTSxFNksvRFYsaUJBQU8sQTdLMkRHLE1BQU0sQUFJWixNQUFNLENBQUM7UUFDSixLQUFLLEVGMUxWLE9BQU87UUUyTEYsVUFBVSxFRnBHYixnQkFBZ0IsR0VxR2hCO0k2S2xFSixBN0txRUQsaUI2S3JFUSxBN0txRVAsT0FBTyxDQUFDO01BQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZSxHQUtoRDtNNkszRUEsQTdLd0VHLGlCNkt4RUksQTdLcUVQLE9BQU8sQUFHSCxNQUFNLENBQUM7UUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtJNksxRUosQTdLNkVELGlCNks3RVEsQTdLNkVQLE1BQU0sQ0FBQztNQUNKLEtBQUssRUZ4TU4sT0FBTztNRXlNTixVQUFVLEVGbEhULGdCQUFnQjtNRW1IakIsZUFBZSxFQUFFLElBQUksR0FNeEI7TTZLdEZBLEE3S2tGRyxpQjZLbEZJLEE3SzZFUCxNQUFNLEFBS0YsTUFBTSxDQUFDO1FBQ0osVUFBVSxFRnRIYixnQkFBZ0I7UUV1SGIsZUFBZSxFQUFFLElBQUksR0FDeEI7STZLckZKLEE3SzZFRCxpQjZLN0VRLEE3SzZFUCxNQUFNLEM2S3JFSztNQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBeklULEFBNklRLFVBN0lFLENBNElOLElBQUksQUFDQyxhQUFhLENBQUM7SUFDWCxNQUFNLEVBQUUsQ0FBQyxDN0t5SFQsUUFBMkIsQzZLekhOLENBQUMsQ0FBQyxDQUFDLEdBQzNCOztBQzFJSixBQUVPLGNBRkMsQ0FDTCxLQUFLLENBQ0QsRUFBRSxDQUFDO0VBQ0MsVUFBVSxFQUFFLENBQUM7RUFDYixZQUFZLEVBQUUsQ0FBQztFQUNmLFdBQVcsRUFBRSxDQUFDO0VBQ2QsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoTGNqQyxPQUFPO0VnTGJFLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLEtBQUssRWhMV2QsT0FBTztFZ0xWRSxjQUFjLEVBQUUsU0FBUztFQUN6QixVQUFVLEVoTFduQixPQUFPO0VnTFZFLE9BQU8sRTlLdVBYLFNBQTJCO0VBdENuQyxTQUFTLEVBc0NELFNBQTJCO0VBckNuQyxXQUFXLEU4S2pOMkIsR0FBRSxHQWMvQjtFdks2QlQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0l1S3ZEdkIsQUFFTyxjQUZDLENBQ0wsS0FBSyxDQUNELEVBQUUsQ0FBQztNOUswTlgsU0FBUyxFQXNDRCxRQUEyQjtNQXJDbkMsV0FBVyxFOEs5TStCLEdBQUUsR0FXbkM7RXZLNkJULE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJdUt2RHZCLEFBRU8sY0FGQyxDQUNMLEtBQUssQ0FDRCxFQUFFLENBQUM7TUFpQkssT0FBTyxFOUsrT2YsT0FBMkI7TUF0Q25DLFNBQVMsRUFzQ0QsSUFBMkI7TUFyQ25DLFdBQVcsRThLek0rQixNQUFFLEdBTW5DO0VBMUJSLEFBdUJXLGNBdkJILENBQ0wsS0FBSyxDQUNELEVBQUUsQUFxQkcsYUFBYSxDQUFDO0lBQ1gsS0FBSyxFOUswT2IsT0FBMkIsRzhLek90Qjs7QUF6QlosQUE4Qk8sY0E5QkMsQ0E2QkwsS0FBSyxDQUNELEVBQUUsQ0FBQztFQUNDLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFaExiZCxPQUFPO0VnTGNFLFVBQVUsRWhMWm5CLE9BQU87RWdMYUUsT0FBTyxFOUtnT1gsU0FBMkI7RUF0Q25DLFNBQVMsRUFzQ0QsU0FBMkI7RUFyQ25DLFdBQVcsRThLMUwyQixHQUFFLEdBaUUvQjtFdks3Q1QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0l1S3ZEdkIsQUE4Qk8sY0E5QkMsQ0E2QkwsS0FBSyxDQUNELEVBQUUsQ0FBQztNOUs4TFgsU0FBUyxFQXNDRCxRQUEyQjtNQXJDbkMsV0FBVyxFOEt2TCtCLEdBQUUsR0E4RG5DO0V2SzdDVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SXVLdkR2QixBQThCTyxjQTlCQyxDQTZCTCxLQUFLLENBQ0QsRUFBRSxDQUFDO01BWUssT0FBTyxFOUt3TmYsT0FBMkI7TUF0Q25DLFNBQVMsRUFzQ0QsUUFBMkI7TUFyQ25DLFdBQVcsRThLbEwrQixPQUFFLEdBeURuQztFQXBHUixBQThDVyxjQTlDSCxDQTZCTCxLQUFLLENBQ0QsRUFBRSxBQWdCRyxPQUFPLENBQUM7SUFDTCxLQUFLLEU5S21OYixPQUEyQjtJOEtsTm5CLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBNkJiO0lBOUVaLEFBbURlLGNBbkRQLENBNkJMLEtBQUssQ0FDRCxFQUFFLEFBZ0JHLE9BQU8sQ0FLSixLQUFLLENBQUM7TUFDRixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVBQUUsWUFBWTtNQUNyQixPQUFPLEU5SzRNbkIsU0FBMkIsRzhLckxsQjtNdkt0QmpCLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRdUt2RHZCLEFBbURlLGNBbkRQLENBNkJMLEtBQUssQ0FDRCxFQUFFLEFBZ0JHLE9BQU8sQ0FLSixLQUFLLENBQUM7VUFNRSxPQUFPLEU5S3lNdkIsT0FBMkIsRzhLckxsQjtNQTdFaEIsQUE0RG1CLGNBNURYLENBNkJMLEtBQUssQ0FDRCxFQUFFLEFBZ0JHLE9BQU8sQ0FLSixLQUFLLEFBU0EsT0FBTyxDQUFDO1FBQ0wsT0FBTyxFQUFFLE9BQU87UTlLMktwQyxXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7UThLeks1QyxLQUFLLEU5S21NckIsVUFBMkI7UThLbE1YLE1BQU0sRTlLa010QixVQUEyQjtROEtqTVgsU0FBUyxFOUtpTXpCLFVBQTJCO1E4S2hNWCxLQUFLLEVoTG5FMUIsT0FBTztRZ0xvRWMsT0FBTyxFQUFFLElBQUk7UUFDYixXQUFXLEVBQUUsTUFBTTtRQUNuQixlQUFlLEVBQUUsTUFBTSxHQU8xQjtRdktyQnJCLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztVdUt2RHZCLEFBNERtQixjQTVEWCxDQTZCTCxLQUFLLENBQ0QsRUFBRSxBQWdCRyxPQUFPLENBS0osS0FBSyxBQVNBLE9BQU8sQ0FBQztZQVlELEtBQUssRTlLMEx6QixTQUEyQjtZOEt6TFAsTUFBTSxFOUt5TDFCLFNBQTJCO1k4S3hMUCxTQUFTLEU5S3dMN0IsU0FBMkIsRzhLdExkO0VBNUVwQixBQWdGVyxjQWhGSCxDQTZCTCxLQUFLLENBQ0QsRUFBRSxBQWtERyxZQUFhLENBQUEsQ0FBQyxFQUFFO0lBQ2IsS0FBSyxFaExwQ1gsT0FBTztJZ0xxQ0QsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUFuRlosQUFxRlcsY0FyRkgsQ0E2QkwsS0FBSyxDQUNELEVBQUUsQUF1REcsWUFBYSxDQUFBLENBQUMsRUFBRTtJQUNiLEtBQUssRWhMNURsQixPQUFPLEdnTDZERztFQXZGWixBQXlGVyxjQXpGSCxDQTZCTCxLQUFLLENBQ0QsRUFBRSxBQTJERyxNQUFNLENBQUM7SUFDSixLQUFLLEVoTHpEbEIsT0FBTyxHZ0wwREc7RUEzRlosQUE2RlcsY0E3RkgsQ0E2QkwsS0FBSyxDQUNELEVBQUUsQUErREcsS0FBSyxDQUFDO0lBQ0gsS0FBSyxFaExsRGIsT0FBTyxHZ0xtREY7RUEvRlosQUFpR1csY0FqR0gsQ0E2QkwsS0FBSyxDQUNELEVBQUUsQUFtRUcsVUFBVSxDQUFDO0lBQ1IsS0FBSyxFaExyRFgsT0FBTyxHZ0xzREo7O0FBbkdaLEFBd0dlLGNBeEdQLENBNkJMLEtBQUssQ0F5RUQsRUFBRSxBQUNHLFlBQWEsQ25JbENQLEdBQUcsRW1JbUNOLEVBQUUsQ0FBQztFQUNDLFVBQVUsRWhMbkYzQixPQUFPLEdnTG9GTzs7QUM3R2hCLEFBQUQsYUFBTSxDQUFDO0VBQ0gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsV0FBVyxFL0ttUVAsUUFBMkI7RStLbFEvQixNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxDQUFDLEdBV2I7RUFoQkEsQUFPRyxhQVBFLEFBT0QsT0FBTyxDQUFDO0lBQ0wsT0FBTyxFQUFFLE9BQU87SS9LbU9wQixXQUFXLEVGcktJLG9CQUFvQixFRXFLQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7SStLak81RCxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLFNBQVMsRS9Ld1BULE9BQTJCO0krS3ZQM0IsS0FBSyxFakxRVixPQUFPLEdpTFBMOztBOUcwRlQsQUFBQSxjQUFjLEM4R3ZGRjtFQUVKLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFNBQVMsRUFBRSxLQUFLLEdBQ25COztBbEZ4QkwsQUF5SUUsT0F6SUssQ0F5SUwsY0FBYyxDa0Y5R087RUFDbkIsU0FBUyxFQUFFLElBQUk7RUFDZixTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUM5QkQsQUFBQSxZQUFZLENBQUM7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDaExxUUgsUUFBMkIsQ2dMclFaLENBQUM7RUFDeEIsT0FBTyxFQUFFLENBQUM7RUFDVixlQUFlLEVBQUUsSUFBSSxHQW1FeEI7RUFqRUksQUFBRCxrQkFBTyxDQUFDO0lBQ0osYUFBYSxFQUFFLENBQUMsR0FDbkI7RUFFQSxBQUFELGtCQUFPLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxhQUFhO0lBQzlCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLE9BQU8sRWhMeVBILE1BQTJCLENBQTNCLFNBQTJCO0lnTHhQL0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENsTFVsQixPQUFPO0lrTFROLFVBQVUsRWxMRlAsSUFBSTtJa0xHUCxNQUFNLEVBQUUsWUFBWSxHQVN2QjtJQWhCQSxBQVNHLGtCQVRHLEFBU0YsTUFBTSxDQUFDO01BQ0osZUFBZSxFQUFFLElBQUksR0FDeEI7SUFYSixBQWFHLGtCQWJHLEFBYUYsUUFBUSxDQUFDO01BQ04sTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENsTHRCdEIsT0FBTyxHa0x1Qkw7RUFHSixBQUFELGlCQUFNLENBQUM7SUFDSCxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUFFQSxBQUFELG1CQUFRLENBQUM7SUFDTCxZQUFZLEVoTG9PUixRQUEyQjtJZ0xuTy9CLFNBQVMsRWhMbU9MLFFBQTJCO0lnTGxPL0IsVUFBVSxFaExrT04sUUFBMkIsR2dMM05sQztJektnQkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO015SzFCdkIsQUFBRCxtQkFBUSxDQUFDO1FBTUQsWUFBWSxFaEwrTlosU0FBMkI7UWdMOU4zQixTQUFTLEVoTDhOVCxPQUEyQjtRZ0w3TjNCLFVBQVUsRUFBRSxJQUFJLEdBRXZCO0VBRUEsQUFBRCxtQkFBUSxDQUFDO0lBQ0wsS0FBSyxFbEx6Qk4sT0FBTztJRTJNVixTQUFTLEVBc0NELFFBQTJCO0lBckNuQyxXQUFXLEVnTGxMbUIsT0FBRTtJQUM1QixhQUFhLEVoTHNOVCxTQUEyQjtJZ0xyTi9CLFdBQVcsRUFBRSxJQUFJLEdBQ3BCO0VBRUEsQUFBRCxtQkFBUSxDQUFDO0lBQ0wsS0FBSyxFbExwRE4sT0FBTztJa0xxRE4sWUFBWSxFaExnTlIsT0FBMkIsR2dML01sQztFQUNBLEFBQ0csbUJBREksQ0FDSixTQUFTLENBQUM7SUFDTixLQUFLLEVsTGJKLE9BQU8sR2tMY1g7RUFFSixBQUFELGtCQUFPLENBQUM7SUFDSixLQUFLLEVsTHZDTixPQUFPO0lFeU1WLFNBQVMsRUFzQ0QsT0FBMkI7SUFyQ25DLFdBQVcsRWdMbEttQixPQUFFO0lBQzVCLFlBQVksRWhMc01SLE9BQTJCO0lnTHJNL0IsYUFBYSxFQUFFLENBQUM7SUFDaEIsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixXQUFXLEVBQUUsUUFBUSxHQUN4Qjs7QUNyRUwsQUFBQSxVQUFVLElBQUcsQUFBQSxLQUFDLEVBQU8sTUFBTSxBQUFiLEVBQWU7RUFDekIsYUFBYSxFQUFFLENBQUM7RUFDaEIsWUFBWSxFQUFFLENBQUMsR0FDbEI7O0FBR0QsQUFBQSxXQUFXLENBQUM7RUFDUixPQUFPLEVBQUUsWUFBWTtFQUNyQixNQUFNLEVBQUUsWUFBWSxHQUN2Qjs7QUFHRCxBQUFBLGNBQWMsQ0FBQztFQUNYLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBVSxJQUFJLEdBQ3hCOztBQUdELEFBQUEsYUFBYSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLEdBQUc7RUFDVCxHQUFHLEVBQUUsR0FBRztFQUNSLFNBQVMsRUFBRSxxQkFBb0IsR0FDbEM7O0FBZ0JELEFBQUEsS0FBSyxDQUFDO0VBQ0YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsUUFBUSxFQUFFLE1BQU0sR0FrSG5CO0VBcEhELEFBSVEsS0FKSCxBQUdBLGdCQUFnQixDQUNiLFVBQVUsQ0FBQztJQUNQLGNBQWMsRUFBRSxFQUFFLEdBQ3JCO0VBTlQsQUFTUSxLQVRILEFBUUEsd0JBQXdCLEFBQ3BCLE1BQU0sQ0FBQztJQUNKLE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxJQUFJLEVBQUUsQ0FBQztJQUNQLE9BQU8sRUFBRSxHQUFHO0lBQ1osY0FBYyxFQUFFLEVBQUU7SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxnQkFBZ0IsRUFBRSxHQUFHO0lBQ3JCLFNBQVMsRUFBRSxhQUFhLENBQUMsWUFBWSxHQUN4QztFQW5CVCxBQXFCWSxLQXJCUCxBQVFBLHdCQUF3QixBQVlwQixnQkFBZ0IsQUFDWixNQUFNLENBQUM7SUFDSixVQUFVLEVuTGxEZixJQUFJLEdtTG1ERjtFQXZCYixBQTBCWSxLQTFCUCxBQVFBLHdCQUF3QixBQWlCcEIsWUFBWSxDQUNULFVBQVUsQ0FBQztJQUNQLGNBQWMsRUFBRSxHQUFHLEdBQ3RCO0VBNUJiLEFBNkJZLEtBN0JQLEFBUUEsd0JBQXdCLEFBaUJwQixZQUFZLEFBSVIsTUFBTSxDQUFDO0lBQ0osYUFBYSxFQUFFLElBQUksR0FDdEI7RUEvQmIsQUFrQ1ksS0FsQ1AsQUFRQSx3QkFBd0IsQUF5QnBCLGlCQUFpQixDQUNkLFVBQVUsQ0FBQztJQUNQLGNBQWMsRUFBRSxHQUFHLEdBQ3RCO0VBcENiLEFBcUNZLEtBckNQLEFBUUEsd0JBQXdCLEFBeUJwQixpQkFBaUIsQUFJYixNQUFNLENBQUM7SUFDSixhQUFhLEVBQUUsR0FBRztJQUNsQixVQUFVLEVuTHREbkIsT0FBTyxHbUx1REQ7RUF4Q2IsQUE0Q1EsS0E1Q0gsQUEyQ0Esd0JBQXdCLEFBQ3BCLE1BQU0sQ0FBQztJQUNKLE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxJQUFJLEVBQUUsQ0FBQztJQUNQLE9BQU8sRUFBRSxHQUFHO0lBQ1osVUFBVSxFQUFFLEVBQUU7SUFDZCxjQUFjLEVBQUUsRUFBRTtJQUNsQixLQUFLLEVBQUUsSUFBSTtJQUNYLGdCQUFnQixFQUFFLEdBQUc7SUFDckIsU0FBUyxFQUFFLFlBQVksQ0FBQyxhQUFhLEdBQ3hDO0VBdkRULEFBeURZLEtBekRQLEFBMkNBLHdCQUF3QixBQWFwQixpQkFBaUIsQUFDYixNQUFNLENBQUM7SUFDSixVQUFVLEVuTHpFbkIsT0FBTyxHbUwwRUQ7RUEzRGIsQUErRFEsS0EvREgsQUE4REEsdUJBQXVCLENBQ3BCLFVBQVUsQ0FBQztJQUNQLFdBQVcsRUFBRSxFQUFFO0lBQ2YsY0FBYyxFQUFFLEVBQUUsR0FDckI7RUFsRVQsQUFtRVEsS0FuRUgsQUE4REEsdUJBQXVCLEFBS25CLE9BQU8sQ0FBQztJQUNMLE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxJQUFJLEVBQUUsQ0FBQztJQUNQLE9BQU8sRUFBRSxHQUFHO0lBQ1osVUFBVSxFQUFFLEdBQUc7SUFDZixjQUFjLEVBQUUsRUFBRTtJQUNsQixLQUFLLEVBQUUsSUFBSTtJQUNYLGdCQUFnQixFQUFFLEdBQUc7SUFDckIsU0FBUyxFQUFFLGFBQWEsQ0FBQyxZQUFZLEdBQ3hDO0VBOUVULEFBZ0ZZLEtBaEZQLEFBOERBLHVCQUF1QixBQWlCbkIsZ0JBQWdCLEFBQ1osT0FBTyxDQUFDO0lBQ0wsVUFBVSxFbkxoR25CLE9BQU8sR21MaUdEO0VBbEZiLEFBc0ZRLEtBdEZILEFBcUZBLHVCQUF1QixDQUNwQixVQUFVLENBQUM7SUFDUCxXQUFXLEVBQUUsRUFBRSxHQUNsQjtFQXhGVCxBQXlGUSxLQXpGSCxBQXFGQSx1QkFBdUIsQUFJbkIsT0FBTyxDQUFDO0lBQ0wsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsS0FBSztJQUNkLElBQUksRUFBRSxDQUFDO0lBQ1AsT0FBTyxFQUFFLEdBQUc7SUFDWixVQUFVLEVBQUUsR0FBRztJQUNmLGNBQWMsRUFBRSxFQUFFO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsZ0JBQWdCLEVBQUUsR0FBRztJQUNyQixTQUFTLEVBQUUsWUFBWSxDQUFDLFlBQVksR0FDdkM7RUFwR1QsQUFzR1ksS0F0R1AsQUFxRkEsdUJBQXVCLEFBZ0JuQixlQUFlLEFBQ1gsT0FBTyxDQUFDO0lBQ0wsVUFBVSxFbkxuSWYsSUFBSSxHbUxvSUY7RUF4R2IsQUEyR1ksS0EzR1AsQUFxRkEsdUJBQXVCLEFBcUJuQixnQkFBZ0IsQ0FDYixVQUFVLENBQUM7SUFDUCxXQUFXLEVBQUUsR0FBRyxHQUNuQjtFQTdHYixBQThHWSxLQTlHUCxBQXFGQSx1QkFBdUIsQUFxQm5CLGdCQUFnQixBQUlaLE9BQU8sQ0FBQztJQUNMLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRW5ML0huQixPQUFPLEdtTGdJRDs7QUFNYixBQUFBLFFBQVEsQ0FBQztFQUNMLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFNBQVMsRUFBRSxDQUFDLEdBQ2Y7O0EzRjlJRyxBQUFBLFdBQVcsQzJGb0pIO0VBQ0osVUFBVSxFQUFFLEtBQUssR0F5QnBCO0VqTC9JRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWlMd0huQixBQUFELGNBQUksQ0FBQztNQUVHLFVBQVUsRUFBRSxLQUFLLEdBRXhCO0VqTHJHTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWlMdUduQixBQUFELGNBQUksQ0FBQztNQUVHLFVBQVUsRUFBRSxLQUFLLEdBRXhCO0VqTDVGTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssT0FBTyxTQUFTLEVBQUUsTUFBTTtJaUw4RjNDLEFBQUQsY0FBSSxDQUFDO01BRUcsVUFBVSxFQUFFLEtBQUssR0FFeEI7RWpMckVMLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJaUx1RXBCLEFBQUQsY0FBSSxDQUFDO01BRUcsVUFBVSxFQUFFLEtBQUssR0FFeEI7O0EzRjlLTCxBQUFBLFVBQVUsQzJGaUxIO0VBQ0gsVUFBVSxFQUFFLElBQUksR0F5Qm5CO0VqTDNLRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWlMb0puQixBQUFELGFBQUksQ0FBQztNQUVHLFVBQVUsRUFBRSxJQUFJLEdBRXZCO0VqTGpJTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWlMbUluQixBQUFELGFBQUksQ0FBQztNQUVHLFVBQVUsRUFBRSxJQUFJLEdBRXZCO0VqTHhITCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssT0FBTyxTQUFTLEVBQUUsTUFBTTtJaUwwSDNDLEFBQUQsYUFBSSxDQUFDO01BRUcsVUFBVSxFQUFFLElBQUksR0FFdkI7RWpMakdMLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJaUxtR3BCLEFBQUQsYUFBSSxDQUFDO01BRUcsVUFBVSxFQUFFLElBQUksR0FFdkI7O0EzRnhNTCxBQUFBLFlBQVksQzJGMk1IO0VBQ0wsVUFBVSxFQUFFLE1BQU0sR0F5QnJCO0VqTHZNRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWlMZ0xuQixBQUFELGVBQUksQ0FBQztNQUVHLFVBQVUsRUFBRSxNQUFNLEdBRXpCO0VqTDdKTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWlMK0puQixBQUFELGVBQUksQ0FBQztNQUVHLFVBQVUsRUFBRSxNQUFNLEdBRXpCO0VqTHBKTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssT0FBTyxTQUFTLEVBQUUsTUFBTTtJaUxzSjNDLEFBQUQsZUFBSSxDQUFDO01BRUcsVUFBVSxFQUFFLE1BQU0sR0FFekI7RWpMN0hMLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJaUwrSHBCLEFBQUQsZUFBSSxDQUFDO01BRUcsVUFBVSxFQUFFLE1BQU0sR0FFekI7O0FBTVQsQUFBQSxTQUFTLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsV0FBVyxFQUFFLHFCQUFxQjtFQUNsQyxZQUFZLEVBQUUscUJBQXFCO0VBRW5DLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDbkx6UGpCLElBQUksR21MMFBkOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1IsS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUNULFdBQVcsRUFBRSxzQkFBc0I7RUFDbkMsWUFBWSxFQUFFLHNCQUFzQjtFQUVwQyxVQUFVLEVBQUUsZUFBZSxHQUM5Qjs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNULEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsc0JBQXNCO0VBQ2xDLGFBQWEsRUFBRSxzQkFBc0I7RUFFckMsV0FBVyxFQUFFLGdCQUFnQixHQUNoQzs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNSLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsc0JBQXNCO0VBQ2xDLGFBQWEsRUFBRSxzQkFBc0I7RUFFckMsWUFBWSxFQUFDLGVBQWUsR0FDL0I7O0FBR0QsQUFBQSxPQUFPLENBQUM7RUFDSixPQUFPLEVBQUUsSUFBSSxHQStCaEI7RTFLN1BHLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtJMEtnTzFCLEFBQUQsV0FBSyxDQUFDO01BRUUsT0FBTyxFQUFFLElBQUksR0FFcEI7RTFLL0xELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxRQUFRO0kwS2lNakQsQUFBRCxXQUFLLENBQUM7TUFFRSxPQUFPLEVBQUUsSUFBSSxHQUVwQjtFMUtyTUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLE9BQU8sU0FBUyxFQUFFLFFBQVE7STBLdU1qRCxBQUFELFdBQUssQ0FBQztNQUVFLE9BQU8sRUFBRSxJQUFJLEdBRXBCO0UxSzNNRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssT0FBTyxTQUFTLEVBQUUsU0FBUztJMEs2TWxELEFBQUQsV0FBSyxDQUFDO01BRUUsT0FBTyxFQUFFLElBQUksR0FFcEI7RTFLblFELE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJMEtxUXhCLEFBQUQsV0FBSyxDQUFDO01BRUUsT0FBTyxFQUFFLElBQUksR0FFcEI7O0FBS0wsQUFBQSxRQUFRLENBQUM7RUFDTCxPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxNQUFNLEdBQzFCOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1YsU0FBUyxFQUFFLEdBQUcsR0FDakI7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLFVBQVUsRUFBRSxVQUFVLEdBQ3pCOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDbEIsVUFBVSxFQUFFLFFBQVEsR0FDdkI7O0FBR0QsQUFBQSxXQUFXLENBQUM7RUFDUixLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxLQUFLO0VBQ2IsVUFBVSxFQUFFLE9BQU8sR0FDdEI7O0FBRUQsQUFBQSxLQUFLLENBQUM7RUFDRixXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUFHRCxBQUFBLFVBQVUsRUFBRSxVQUFVLENBQUM7RUFDbkIsU0FBUyxFakxsR0QsUUFBMkIsR2lMbUd0Qzs7QUFDRCxBQUFBLFVBQVUsQUFBQSxZQUFZLENBQUM7RUFDbkIsT0FBTyxFakxyR0MsT0FBMkI7RWlMc0duQyxTQUFTLEVqTHRHRCxPQUEyQixHaUwyR3RDO0VBUEQsQUFJSSxVQUpNLEFBQUEsWUFBWSxDQUlsQixRQUFRLENBQUM7SUFDTCxTQUFTLEVqTHpHTCxRQUEyQixHaUwwR2xDOztBQUVMLEFBQUEsY0FBYyxDQUFDO0VBQ1gsS0FBSyxFakw3R0csT0FBMkIsR2lMOEd0Qzs7QUFJSSxBQUFELGFBQUssQ0FBQztFQUNGLGFBQWEsRWpMbkhULFFBQTJCLEdpTG9IbEM7O0FBSUEsQUFBRCxVQUFPLENBQUM7RUFDSixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLEtBQUssR0FDcEI7O0FBR0wsQUFBQSxLQUFLLENBQUM7RUFDRixPQUFPLEVBQUUsSUFBSSxDQUFBLFVBQVUsR0FDMUI7O0FBR0ksQUFBRCxhQUFLLENBQUM7RUFDRixhQUFhLEVqTHJJVCxRQUEyQixDaUxxSU4sVUFBVSxHQUN0Qzs7QUFDQSxBQUFELGFBQUssQ0FBQztFQUNGLGFBQWEsRWpMeElULFNBQTJCLENpTHdJTixVQUFVLEdBQ3RDOztBQUNBLEFBQUQsYUFBSyxDQUFDO0VBQ0YsYUFBYSxFakwzSVQsT0FBMkIsQ2lMMklOLFVBQVUsR0FDdEM7O0FBMUJBLEFBQUQsYUFBSyxDQTJCQztFQUNGLGFBQWEsRWpMOUlULFFBQTJCLENpTDhJTixVQUFVLEdBQ3RDOztBQUNBLEFBQUQsYUFBSyxDQUFDO0VBQ0YsYUFBYSxFakxqSlQsTUFBMkIsQ2lMaUpOLFVBQVUsR0FDdEM7O0FBR0wsQUFBQSxLQUFLLENBQUM7RUFDRixVQUFVLEVuTHhaUCxPQUFPO0VtTHlaVixNQUFNLEVBQUUsR0FBRztFQUNYLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQztFQUNULEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLEVBQUUsR0FPZDtFQUxJLEFBQUQsUUFBSSxDQUFDO0lBQ0QsVUFBVSxFbkw5WVgsT0FBTztJbUwrWU4sT0FBTyxFQUFFLENBQUM7SUFDVixhQUFhLEVqTGxLVCxTQUEyQixHaUxtS2xDOztBakxyYUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxLQUFLO0VpTDBhckQsQUFBRCxTQUFHLENBQUM7SUFFSSxJQUFJLEVBQUUsT0FBTztJQUNiLFNBQVMsRUFBRSxHQUFHLEdBRXJCOztBQU1BLEFBQUQsZ0JBQUksQ0FBQztFQUNELEtBQUssRW5MemJWLE9BQU8sQ21MeWI4QixVQUFVLEdBQzdDOztBQUNBLEFBQUQsZ0JBQUksQ0FBQztFQUNELEtBQUssRW5MM2JWLE9BQU8sR21MNGJMOztBQUNBLEFBQUQsZ0JBQUksQ0FBQztFQUNELEtBQUssRW5MN2JWLE9BQU8sR21MOGJMOztBQUlBLEFBQUQsZUFBSSxDQUFDO0VBQ0QsS0FBSyxFbkxqYlYsT0FBTyxHbUxrYkw7O0FBQ0EsQUFBRCxlQUFJLENBQUM7RUFDRCxLQUFLLEVuTG5iVixPQUFPLEdtTG9iTDs7QUFDQSxBQUFELGVBQUksQ0FBQztFQUNELEtBQUssRW5McmJWLE9BQU8sR21Mc2JMOztBQUtKLEFBQUQsYUFBTyxDQUFDO0VBQ0osT0FBTyxFQUFFLElBQUksR0FLaEI7RTFLN1pELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJMEt1WnZCLEFBQUQsYUFBTyxDQUFDO01BSUEsT0FBTyxFQUFFLE9BQU8sR0FFdkI7O0FBSUEsQUFBRCxxQkFBTyxDQUFDO0VBQ0osY0FBYyxFQUFFLElBQUksR0FDdkI7O0FDOWRBLEFBQUQsaUJBQU0sQ0FBQztFQUNILFFBQVEsRUFBRSxRQUFRLEdBWXJCO0VBYkEsQUFHRyxpQkFIRSxBQUdELE1BQU0sQ0FBQztJQUNKLE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixVQUFVLEVwTGlEZixPQUFPLENvTGpEMEMsMENBQTZDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxjQUFnQjtJQUMzSCxPQUFPLEVBQUUsR0FBRyxHQUNmOztBQUdKLEFBQUQsaUJBQU0sQ0FBQztFQUNILFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRXBMSFAsSUFBSTtFb0xJUCxNQUFNLEVsTG9QRixRQUEyQixHa0x2T2xDO0VBaEJBLEFBS0csaUJBTEUsQUFLRCxNQUFNLENBQUM7SUFDSixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsWUFBWTtJQUNyQixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLElBQUksRUFBRSxHQUFHO0lBQ1QsU0FBUyxFQUFFLHFCQUFxQjtJbExzTXhDLFNBQVMsRUFzQ0QsT0FBMkI7SUFyQ25DLFdBQVcsRWtMdE11QixDQUFFO0lBQzVCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLEtBQUssRXBMaEJOLElBQUksR29MaUJOOztBQUdKLEFBQUQscUJBQVUsQ0FBQztFQUNQLFVBQVUsRXBMcEJQLElBQUk7RW9McUJQLFFBQVEsRUFBRSxRQUFRLEdBYXJCO0VBZkEsQUFJRyxxQkFKTSxBQUlMLE1BQU0sQ0FBQztJQUNKLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLEdBQUc7SUFDUixJQUFJLEVBQUUsR0FBRztJQUNULFNBQVMsRUFBRSxxQkFBcUI7SWxMcUx4QyxTQUFTLEVBc0NELE9BQTJCO0lBckNuQyxXQUFXLEVrTHJMdUIsQ0FBRTtJQUM1QixXQUFXLEVBQUUsSUFBSTtJQUNqQixLQUFLLEVwTGpDTixJQUFJLEdvTGtDTiJ9 */
