@import url("//fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800italic,800");
html {
  box-sizing: border-box; }

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

@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon.eot?24naxo");
  src: url("fonts/icomoon.eot?24naxo#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?24naxo") format("truetype"), url("fonts/icomoon.woff?24naxo") format("woff"), url("fonts/icomoon.svg?24naxo#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^='icon-']:before,
[class*=' icon-']:before {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-work:before {
  content: '\e902'; }

.icon-activity:before {
  content: '\e903'; }

.icon-calculator:before {
  content: '\e905'; }

.icon-education:before {
  content: '\e906'; }

.icon-legal:before {
  content: '\e907'; }

.icon-locator:before {
  content: '\e908'; }

.icon-login:before {
  content: '\e90a'; }

.icon-media:before {
  content: '\e913'; }

.icon-publications:before {
  content: '\e914'; }

.icon-food:before {
  content: '\e916'; }

.icon-compost:before {
  content: '\e915'; }

.icon-information:before, .storelocator-comments__icon:before, .storelocator-comments__tooltip:before {
  content: '\e916'; }

.icon-calendar:before, .block-views-blockcalendar-front h2:before, .block-views-blockcalendar-front .path-checkout .form-wrapper legend .fieldset-legend:before, .path-checkout .form-wrapper legend .block-views-blockcalendar-front .fieldset-legend:before {
  content: '\e912'; }

.icon-mail:before {
  content: '\e90f'; }

.icon-linkedin:before {
  content: '\e910'; }

.icon-whatsapp:before {
  content: '\e911'; }

.icon-arrow-round-down:before, .node-location h2.toggle-title.open:after, .node-location .path-checkout .form-wrapper legend .toggle-title.open.fieldset-legend:after, .path-checkout .form-wrapper legend .node-location .toggle-title.open.fieldset-legend:after, .view-download.view-display-id-page h2.toggle-title.open:after, .view-download.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.open.fieldset-legend:after, .path-checkout .form-wrapper legend .view-download.view-display-id-page .toggle-title.open.fieldset-legend:after, .view-faq.view-display-id-page h2.toggle-title.open:after, .view-faq.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.open.fieldset-legend:after, .path-checkout .form-wrapper legend .view-faq.view-display-id-page .toggle-title.open.fieldset-legend:after, .view-person.view-display-id-page h2.toggle-title.open:after, .view-person.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.open.fieldset-legend:after, .path-checkout .form-wrapper legend .view-person.view-display-id-page .toggle-title.open.fieldset-legend:after, .view .pager li a:after {
  content: '\e90e'; }

a.icon-menu:before {
  content: '\e90d';
  color: #ffffff; }

.icon-account:before, .content aside .menu--account h2:after, .content aside .menu--account .path-checkout .form-wrapper legend .fieldset-legend:after, .path-checkout .form-wrapper legend .content aside .menu--account .fieldset-legend:after,
.sb-slidebar .menu--account h2:after, .sb-slidebar .menu--account .path-checkout .form-wrapper legend .fieldset-legend:after, .path-checkout .form-wrapper legend .sb-slidebar .menu--account .fieldset-legend:after, .node-calendar.view-mode-teaser.access-member .component-date:last-child:after, .node-calendar.node--view-mode-teaser.access-member .component-date:last-child:after, .node-calendar.view-mode-front.access-member h3:after, .node-calendar.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .group-right .field__label:after, .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front.access-member .field__label:after, .node-calendar.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label:after, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front.access-member label:after, .node-calendar.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label:after, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front.access-member label:after, .node-calendar.view-mode-front.access-member .view-webshop .views-exposed-form label:after, .view-webshop .views-exposed-form .node-calendar.view-mode-front.access-member label:after, .node-calendar.view-mode-front.access-member .path-checkout #edit-review-billing-information legend:after, .path-checkout #edit-review-billing-information .node-calendar.view-mode-front.access-member legend:after, .node-news.view-mode-teaser.access-member .component-date:after, .node-news.node--view-mode-teaser.access-member .component-date:after, .node-news.view-mode-front.access-member h3:after, .node-news.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .group-right .field__label:after, .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front.access-member .field__label:after, .node-news.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label:after, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front.access-member label:after, .node-news.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label:after, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front.access-member label:after, .node-news.view-mode-front.access-member .view-webshop .views-exposed-form label:after, .view-webshop .views-exposed-form .node-news.view-mode-front.access-member label:after, .node-news.view-mode-front.access-member .path-checkout #edit-review-billing-information legend:after, .path-checkout #edit-review-billing-information .node-news.view-mode-front.access-member legend:after {
  content: '\e90c'; }

.icon-arrow-round:before, footer .block-vlaco-related-content + .block-block-content .block-footer__link a:after, #block-backcompostingguidebtn a:before, .node-location h2.toggle-title:after, .node-location .path-checkout .form-wrapper legend .toggle-title.fieldset-legend:after, .path-checkout .form-wrapper legend .node-location .toggle-title.fieldset-legend:after, .view-download.view-display-id-page h2.toggle-title:after, .view-download.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend:after, .path-checkout .form-wrapper legend .view-download.view-display-id-page .toggle-title.fieldset-legend:after, .view-faq.view-display-id-page h2.toggle-title:after, .view-faq.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend:after, .path-checkout .form-wrapper legend .view-faq.view-display-id-page .toggle-title.fieldset-legend:after, .view-person.view-display-id-page h2.toggle-title:after, .view-person.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend:after, .path-checkout .form-wrapper legend .view-person.view-display-id-page .toggle-title.fieldset-legend:after, .view-jaartal .buttonyear:after, .block-front__link a:after, .block-front__link span.block-front__span:after {
  content: '\e900'; }

.icon-arrow:before, .content aside .menu--main ul.menu a:after,
.content aside .menu--top ul.menu a:after,
.content aside .menu--extra ul.menu a:after,
.content aside .menu--language ul.menu a:after,
.content aside.sb-slidebar .menu--account ul.menu a:after,
.sb-slidebar .menu--main ul.menu a:after,
.sb-slidebar .menu--top ul.menu a:after,
.sb-slidebar .menu--extra ul.menu a:after,
.sb-slidebar .menu--language ul.menu a:after,
.sb-slidebar.sb-slidebar .menu--account ul.menu a:after, .compost-top__head__title:after, #block-backtohomecomposting a:before, .node-calendar.view-mode-front h3:before, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right .field__label:before, .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front .field__label:before, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label:before, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front label:before, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label:before, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front label:before, .node-calendar.view-mode-front .view-webshop .views-exposed-form label:before, .view-webshop .views-exposed-form .node-calendar.view-mode-front label:before, .node-calendar.view-mode-front .path-checkout #edit-review-billing-information legend:before, .path-checkout #edit-review-billing-information .node-calendar.view-mode-front legend:before, .node-news.view-mode-front a h3:before, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right .field__label:before, .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a .field__label:before, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label:before, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a label:before, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label:before, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a label:before, .node-news.view-mode-front a .view-webshop .views-exposed-form label:before, .view-webshop .views-exposed-form .node-news.view-mode-front a label:before, .node-news.view-mode-front a .path-checkout #edit-review-billing-information legend:before, .path-checkout #edit-review-billing-information .node-news.view-mode-front a legend:before, .view-calendar.view-display-id-front > .more-link a:before, .view-news.view-display-id-front > .more-link a:before, .content aside.layout-sidebar-first .view-jaartal .view-content a::after {
  content: '\e901'; }

.icon-facebook:before {
  content: '\e904'; }

.icon-news:before, .block-views-blocknews-front .view-header h2 a:before, .block-views-blocknews-front .view-header .path-checkout .form-wrapper legend .fieldset-legend a:before, .path-checkout .form-wrapper legend .block-views-blocknews-front .view-header .fieldset-legend a:before {
  content: '\e909'; }

.icon-twitter:before {
  content: '\e90b'; }

.icon-instagram:before {
  content: '\ea92'; }

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

audio,
canvas,
video {
  display: inline-block; }

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

[hidden],
template {
  display: none; }

html {
  background: #fff;
  color: #4b4736;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

html,
button,
input,
select,
textarea {
  font-family: sans-serif; }

body {
  margin: 0; }

a {
  background: transparent; }
  a:focus {
    outline: thin dotted; }
  a:hover, a:active {
    outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

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

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

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

q {
  quotes: '\201C' '\201D' '\2018' '\2019'; }

q:before,
q:after {
  content: '';
  content: none; }

small {
  font-size: 80%; }

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

sup {
  top: -.5em; }

sub {
  bottom: -.25em; }

img {
  border: 0; }

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

figure {
  margin: 0; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: .35em .625em .75em; }

legend {
  border: 0;
  padding: 0;
  white-space: normal; }

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
  vertical-align: baseline; }

button,
input {
  line-height: normal; }

button,
select {
  text-transform: none; }

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

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

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

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

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

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

textarea {
  overflow: auto;
  vertical-align: top; }

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

a:focus {
  outline: 2px solid #000000 !important;
  outline-offset: 2px !important; }

a:focus:not(:focus-visible) {
  outline: none; }

a:focus-visible {
  outline: 2px solid #000000 !important;
  outline-offset: 2px !important; }

.clearfix {
  zoom: 1; }
  .clearfix:after {
    clear: both;
    content: ' ';
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden; }

.container {
  zoom: 1;
  box-sizing: content-box;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 0 15px; }
  .container:after {
    clear: both;
    content: ' ';
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden; }

header,
footer,
.main {
  zoom: 1; }
  header:after,
  footer:after,
  .main:after {
    clear: both;
    content: ' ';
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden; }

.lt-ie9 .column {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 31.62393%; }
  .lt-ie9 .column:last-child {
    margin-right: 0; }

@media all and (min-width: 420px) {
  .column {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 31.62393%; }
    .column:last-child {
      margin-right: 0; } }

.lt-ie9 .layout-one-sidebar.layout-sidebar-first .layout-content {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 65.81197%;
  margin-right: 0; }
  .lt-ie9 .layout-one-sidebar.layout-sidebar-first .layout-content:last-child {
    margin-right: 0; }

.lt-ie9 .layout-one-sidebar.layout-sidebar-second .layout-content {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 65.81197%; }
  .lt-ie9 .layout-one-sidebar.layout-sidebar-second .layout-content:last-child {
    margin-right: 0; }

.lt-ie9 .layout-one-sidebar aside.layout-sidebar-first {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 31.62393%; }
  .lt-ie9 .layout-one-sidebar aside.layout-sidebar-first:last-child {
    margin-right: 0; }

.lt-ie9 .layout-one-sidebar aside.layout-sidebar-second {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 31.62393%;
  margin-right: 0; }
  .lt-ie9 .layout-one-sidebar aside.layout-sidebar-second:last-child {
    margin-right: 0; }

@media all and (min-width: 920px) {
  .layout-one-sidebar.layout-sidebar-first .layout-content {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 65.81197%;
    margin-right: 0; }
    .layout-one-sidebar.layout-sidebar-first .layout-content:last-child {
      margin-right: 0; }
  .layout-one-sidebar.layout-sidebar-second .layout-content {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 65.81197%; }
    .layout-one-sidebar.layout-sidebar-second .layout-content:last-child {
      margin-right: 0; }
  .layout-one-sidebar aside.layout-sidebar-first {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 31.62393%; }
    .layout-one-sidebar aside.layout-sidebar-first:last-child {
      margin-right: 0; }
  .layout-one-sidebar aside.layout-sidebar-second {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 31.62393%;
    margin-right: 0; }
    .layout-one-sidebar aside.layout-sidebar-second:last-child {
      margin-right: 0; } }

.lt-ie9 .layout-two-sidebars .layout-content {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 48.71795%; }
  .lt-ie9 .layout-two-sidebars .layout-content:last-child {
    margin-right: 0; }

.lt-ie9 .layout-two-sidebars .layout-sidebar-first {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 23.07692%; }
  .lt-ie9 .layout-two-sidebars .layout-sidebar-first:last-child {
    margin-right: 0; }

.lt-ie9 .layout-two-sidebars .layout-sidebar-second {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 23.07692%;
  margin-right: 0; }
  .lt-ie9 .layout-two-sidebars .layout-sidebar-second:last-child {
    margin-right: 0; }

@media all and (min-width: 420px) {
  .layout-two-sidebars .layout-content {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 48.71795%; }
    .layout-two-sidebars .layout-content:last-child {
      margin-right: 0; }
  .layout-two-sidebars .layout-sidebar-first {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 23.07692%; }
    .layout-two-sidebars .layout-sidebar-first:last-child {
      margin-right: 0; }
  .layout-two-sidebars .layout-sidebar-second {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 23.07692%;
    margin-right: 0; }
    .layout-two-sidebars .layout-sidebar-second:last-child {
      margin-right: 0; } }

.lt-ie9 .layout-no-sidebars .main {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 100%;
  margin-right: 0; }
  .lt-ie9 .layout-no-sidebars .main:last-child {
    margin-right: 0; }

@media all and (min-width: 420px) {
  .layout-no-sidebars .main {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 100%;
    margin-right: 0; }
    .layout-no-sidebars .main:last-child {
      margin-right: 0; } }

.block-system-main-block {
  clear: both; }

.lt-ie9 body.path-jaarverslag .layout-content {
  width: 100% !important; }

@media all and (min-width: 920px) {
  body.path-jaarverslag .layout-content {
    width: 100% !important; } }

.node--type-person.ds-2col-stacked-fluid > .group-left {
  width: 40% !important;
  padding-right: 1rem;
  box-sizing: border-box; }

.node--type-person.ds-2col-stacked-fluid > .group-right {
  width: 60% !important;
  box-sizing: border-box; }

.node--type-person.ds-2col-stacked-fluid .image-style-thumbnail-person {
  width: 100% !important;
  height: auto !important; }

html {
  font-size: 93.75%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word; }

html,
button,
input,
select,
textarea {
  font-family: "Open Sans", Helvetica, Arial, sans-serif; }

body {
  font-size: 15px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 300; }

h1, .path-checkout .form-wrapper:first-child legend .fieldset-legend, .path-checkout fieldset legend, .path-checkout #block-commerce-checkout-order-summary h2, .path-checkout #block-commerce-checkout-order-summary .form-wrapper legend .fieldset-legend, .path-checkout .form-wrapper legend #block-commerce-checkout-order-summary .fieldset-legend, .path-search h2, .path-search .path-checkout .form-wrapper legend .fieldset-legend, .path-checkout .form-wrapper legend .path-search .fieldset-legend {
  color: #4b4736;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: 700;
  line-height: 1.1;
  font-size: 26px;
  font-size: 1.73333rem;
  margin: 0 0 10px 0;
  padding: 0; }

h2, .path-checkout .form-wrapper legend .fieldset-legend {
  color: #4b4736;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: 700;
  line-height: 1.1;
  font-size: 22px;
  font-size: 1.46667rem;
  margin: 0 0 10px 0;
  padding: 0; }
  p + h2, .path-checkout .form-wrapper legend p + .fieldset-legend,
  ul + h2,
  .path-checkout .form-wrapper legend ul + .fieldset-legend,
  ol + h2,
  .path-checkout .form-wrapper legend ol + .fieldset-legend,
  img + h2,
  .path-checkout .form-wrapper legend img + .fieldset-legend,
  .view-mode-full div + h2,
  .view-mode-full .path-checkout .form-wrapper legend div + .fieldset-legend,
  .path-checkout .form-wrapper legend .view-mode-full div + .fieldset-legend {
    margin-top: 50px; }

h3, .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .view-webshop .views-exposed-form label, .path-checkout #edit-review-billing-information legend {
  color: #4b4736;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: 700;
  line-height: 1.1;
  font-size: 20px;
  font-size: 1.33333rem;
  margin: 0 0 10px 0;
  padding: 0; }
  p + h3, .commerce-product.commerce-product--view-mode-full .group-right p + .field__label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity p + label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio p + label, .view-webshop .views-exposed-form p + label, .path-checkout #edit-review-billing-information p + legend,
  ul + h3,
  .commerce-product.commerce-product--view-mode-full .group-right ul + .field__label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity ul + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio ul + label,
  .view-webshop .views-exposed-form ul + label,
  .path-checkout #edit-review-billing-information ul + legend,
  ol + h3,
  .commerce-product.commerce-product--view-mode-full .group-right ol + .field__label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity ol + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio ol + label,
  .view-webshop .views-exposed-form ol + label,
  .path-checkout #edit-review-billing-information ol + legend,
  img + h3,
  .commerce-product.commerce-product--view-mode-full .group-right img + .field__label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity img + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio img + label,
  .view-webshop .views-exposed-form img + label,
  .path-checkout #edit-review-billing-information img + legend,
  .view-mode-full div + h3,
  .view-mode-full .commerce-product.commerce-product--view-mode-full .group-right div + .field__label,
  .commerce-product.commerce-product--view-mode-full .group-right .view-mode-full div + .field__label,
  .view-mode-full .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity div + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .view-mode-full div + label,
  .view-mode-full .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio div + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .view-mode-full div + label,
  .view-mode-full .view-webshop .views-exposed-form div + label,
  .view-webshop .views-exposed-form .view-mode-full div + label,
  .view-mode-full .path-checkout #edit-review-billing-information div + legend,
  .path-checkout #edit-review-billing-information .view-mode-full div + legend {
    margin-top: 40px; }

h4, form label, .node-calendar.view-mode-front h3, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front .field__label, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front label, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front label, .node-calendar.view-mode-front .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form .node-calendar.view-mode-front label, .node-calendar.view-mode-front .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .node-calendar.view-mode-front legend, .node-news.view-mode-front a h3, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a .field__label, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a label, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a label, .node-news.view-mode-front a .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form .node-news.view-mode-front a label, .node-news.view-mode-front a .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .node-news.view-mode-front a legend {
  color: #4b4736;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: 700;
  line-height: 1.1;
  font-size: 18px;
  font-size: 1.2rem;
  margin: 0;
  padding: 0; }
  p + h4, form p + label, .node-calendar.view-mode-front p + h3, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right p + .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front p + .field__label, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity p + label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front p + label, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio p + label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front p + label, .node-calendar.view-mode-front .view-webshop .views-exposed-form p + label, .view-webshop .views-exposed-form .node-calendar.view-mode-front p + label, .node-calendar.view-mode-front .path-checkout #edit-review-billing-information p + legend, .path-checkout #edit-review-billing-information .node-calendar.view-mode-front p + legend, .node-news.view-mode-front a p + h3, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right p + .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a p + .field__label, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity p + label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a p + label, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio p + label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a p + label, .node-news.view-mode-front a .view-webshop .views-exposed-form p + label, .view-webshop .views-exposed-form .node-news.view-mode-front a p + label, .node-news.view-mode-front a .path-checkout #edit-review-billing-information p + legend, .path-checkout #edit-review-billing-information .node-news.view-mode-front a p + legend,
  ul + h4,
  form ul + label,
  .node-calendar.view-mode-front ul + h3,
  .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right ul + .field__label,
  .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front ul + .field__label,
  .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity ul + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front ul + label,
  .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio ul + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front ul + label,
  .node-calendar.view-mode-front .view-webshop .views-exposed-form ul + label,
  .view-webshop .views-exposed-form .node-calendar.view-mode-front ul + label,
  .node-calendar.view-mode-front .path-checkout #edit-review-billing-information ul + legend,
  .path-checkout #edit-review-billing-information .node-calendar.view-mode-front ul + legend,
  .node-news.view-mode-front a ul + h3,
  .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right ul + .field__label,
  .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a ul + .field__label,
  .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity ul + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a ul + label,
  .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio ul + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a ul + label,
  .node-news.view-mode-front a .view-webshop .views-exposed-form ul + label,
  .view-webshop .views-exposed-form .node-news.view-mode-front a ul + label,
  .node-news.view-mode-front a .path-checkout #edit-review-billing-information ul + legend,
  .path-checkout #edit-review-billing-information .node-news.view-mode-front a ul + legend,
  ol + h4,
  form ol + label,
  .node-calendar.view-mode-front ol + h3,
  .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right ol + .field__label,
  .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front ol + .field__label,
  .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity ol + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front ol + label,
  .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio ol + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front ol + label,
  .node-calendar.view-mode-front .view-webshop .views-exposed-form ol + label,
  .view-webshop .views-exposed-form .node-calendar.view-mode-front ol + label,
  .node-calendar.view-mode-front .path-checkout #edit-review-billing-information ol + legend,
  .path-checkout #edit-review-billing-information .node-calendar.view-mode-front ol + legend,
  .node-news.view-mode-front a ol + h3,
  .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right ol + .field__label,
  .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a ol + .field__label,
  .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity ol + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a ol + label,
  .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio ol + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a ol + label,
  .node-news.view-mode-front a .view-webshop .views-exposed-form ol + label,
  .view-webshop .views-exposed-form .node-news.view-mode-front a ol + label,
  .node-news.view-mode-front a .path-checkout #edit-review-billing-information ol + legend,
  .path-checkout #edit-review-billing-information .node-news.view-mode-front a ol + legend,
  img + h4,
  form img + label,
  .node-calendar.view-mode-front img + h3,
  .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right img + .field__label,
  .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front img + .field__label,
  .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity img + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front img + label,
  .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio img + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front img + label,
  .node-calendar.view-mode-front .view-webshop .views-exposed-form img + label,
  .view-webshop .views-exposed-form .node-calendar.view-mode-front img + label,
  .node-calendar.view-mode-front .path-checkout #edit-review-billing-information img + legend,
  .path-checkout #edit-review-billing-information .node-calendar.view-mode-front img + legend,
  .node-news.view-mode-front a img + h3,
  .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right img + .field__label,
  .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a img + .field__label,
  .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity img + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a img + label,
  .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio img + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a img + label,
  .node-news.view-mode-front a .view-webshop .views-exposed-form img + label,
  .view-webshop .views-exposed-form .node-news.view-mode-front a img + label,
  .node-news.view-mode-front a .path-checkout #edit-review-billing-information img + legend,
  .path-checkout #edit-review-billing-information .node-news.view-mode-front a img + legend,
  .view-mode-full div + h4,
  .view-mode-full form div + label,
  form .view-mode-full div + label,
  .view-mode-full .node-calendar.view-mode-front div + h3,
  .node-calendar.view-mode-front .view-mode-full div + h3,
  .view-mode-full .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right div + .field__label,
  .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right .view-mode-full div + .field__label,
  .view-mode-full .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front div + .field__label,
  .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front .view-mode-full div + .field__label,
  .view-mode-full .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity div + label,
  .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .view-mode-full div + label,
  .view-mode-full .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front div + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front .view-mode-full div + label,
  .view-mode-full .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio div + label,
  .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .view-mode-full div + label,
  .view-mode-full .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front div + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front .view-mode-full div + label,
  .view-mode-full .node-calendar.view-mode-front .view-webshop .views-exposed-form div + label,
  .node-calendar.view-mode-front .view-webshop .views-exposed-form .view-mode-full div + label,
  .view-mode-full .view-webshop .views-exposed-form .node-calendar.view-mode-front div + label,
  .view-webshop .views-exposed-form .node-calendar.view-mode-front .view-mode-full div + label,
  .view-mode-full .node-calendar.view-mode-front .path-checkout #edit-review-billing-information div + legend,
  .node-calendar.view-mode-front .path-checkout #edit-review-billing-information .view-mode-full div + legend,
  .view-mode-full .path-checkout #edit-review-billing-information .node-calendar.view-mode-front div + legend,
  .path-checkout #edit-review-billing-information .node-calendar.view-mode-front .view-mode-full div + legend,
  .view-mode-full .node-news.view-mode-front a div + h3,
  .node-news.view-mode-front a .view-mode-full div + h3,
  .view-mode-full .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right div + .field__label,
  .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right .view-mode-full div + .field__label,
  .view-mode-full .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a div + .field__label,
  .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a .view-mode-full div + .field__label,
  .view-mode-full .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity div + label,
  .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .view-mode-full div + label,
  .view-mode-full .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a div + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a .view-mode-full div + label,
  .view-mode-full .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio div + label,
  .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .view-mode-full div + label,
  .view-mode-full .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a div + label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a .view-mode-full div + label,
  .view-mode-full .node-news.view-mode-front a .view-webshop .views-exposed-form div + label,
  .node-news.view-mode-front a .view-webshop .views-exposed-form .view-mode-full div + label,
  .view-mode-full .view-webshop .views-exposed-form .node-news.view-mode-front a div + label,
  .view-webshop .views-exposed-form .node-news.view-mode-front a .view-mode-full div + label,
  .view-mode-full .node-news.view-mode-front a .path-checkout #edit-review-billing-information div + legend,
  .node-news.view-mode-front a .path-checkout #edit-review-billing-information .view-mode-full div + legend,
  .view-mode-full .path-checkout #edit-review-billing-information .node-news.view-mode-front a div + legend,
  .path-checkout #edit-review-billing-information .node-news.view-mode-front a .view-mode-full div + legend {
    margin-top: 30px; }

h5, .node-location__name, .path-search .item-list h3, .path-search .item-list .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .path-search .item-list .field__label, .path-search .item-list .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .path-search .item-list label, .path-search .item-list .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .path-search .item-list label, .path-search .item-list .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form .path-search .item-list label, .path-search .item-list .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .path-search .item-list legend {
  color: #4b4736;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: 700;
  line-height: 1.1;
  font-size: 16px;
  font-size: 1.06667rem;
  margin: 0;
  padding: 0; }

h6, .view-calendar.view-display-id-front > .more-link a, .view-news.view-display-id-front > .more-link a {
  color: #4b4736;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: 700;
  line-height: 1.1;
  font-size: 12px;
  font-size: 0.8rem;
  margin: 0;
  padding: 0; }

blockquote {
  border-left: 2px solid #115328;
  color: #115328;
  font-style: italic;
  font-size: 110%;
  font-weight: 400;
  margin: 1em 0;
  padding: 5px 15px; }
  blockquote p {
    margin: 0; }

header {
  margin-bottom: 40px; }
  header > .header {
    background: #4b4736;
    color: #fff;
    height: 52px; }
    .lt-ie9 header > .header > .container {
      display: flex;
      align-items: center;
      height: 100%; }
    @media all and (min-width: 920px) {
      header > .header > .container {
        display: flex;
        align-items: center;
        height: 100%; } }
    header > .header .block {
      display: inline-block; }
      header > .header .block.menu--top {
        display: none; }
        .lt-ie9 header > .header .block.menu--top {
          display: block; }
        @media all and (min-width: 920px) {
          header > .header .block.menu--top {
            display: block; } }
      header > .header .block.menu--social-media, header > .header .block.menu--language {
        display: none; }
        .lt-ie9 header > .header .block.menu--social-media, .lt-ie9 header > .header .block.menu--language {
          display: block; }
        @media all and (min-width: 1100px) {
          header > .header .block.menu--social-media, header > .header .block.menu--language {
            display: block; } }
    header > .header .mobile-menu {
      cursor: pointer;
      display: block;
      float: right;
      font-size: 18px;
      margin-top: 4px;
      margin-right: -15px;
      padding: 10px 15px;
      z-index: 10; }
      .lt-ie9 header > .header .mobile-menu {
        display: none; }
      @media all and (min-width: 920px) {
        header > .header .mobile-menu {
          display: none; } }
  header > .navigation {
    float: right;
    background: #fff;
    height: 100px;
    width: 100%;
    display: none; }
    .lt-ie9 header > .navigation {
      display: block; }
    @media all and (min-width: 920px) {
      header > .navigation {
        display: block; } }
    header > .navigation ul.menu {
      float: right;
      margin-top: 20px; }
  header .banner {
    max-height: 275px;
    float: left;
    width: 100%;
    overflow: hidden;
    z-index: -1;
    position: relative; }
  header .block-system-branding-block {
    flex: 1;
    float: left;
    z-index: 5;
    margin-right: auto; }
    header .block-system-branding-block .site-logo {
      float: left; }
      header .block-system-branding-block .site-logo img {
        height: auto;
        margin-top: 10px;
        width: 100px; }
        .lt-ie9 header .block-system-branding-block .site-logo img {
          margin-top: 150px;
          width: 175px; }
        @media all and (min-width: 920px) {
          header .block-system-branding-block .site-logo img {
            margin-top: 150px;
            width: 175px; } }

footer {
  background: #f4f4f4;
  margin-top: 40px; }
  footer .block {
    padding-top: 40px; }
  footer .block-block-content {
    font-size: 12px;
    font-size: 0.8rem;
    clear: both;
    color: #999;
    padding: 40px;
    text-align: center; }
    footer .block-block-content p {
      margin: 0; }
    footer .block-block-content a {
      color: #999;
      text-decoration: none; }
  footer .block-vlaco-related-content {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 100%;
    padding: 40px 0 0; }
    footer .block-vlaco-related-content:last-child {
      margin-right: 0; }
    .lt-ie9 footer .block-vlaco-related-content {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 65.81197%; }
      .lt-ie9 footer .block-vlaco-related-content:last-child {
        margin-right: 0; }
    @media all and (min-width: 720px) {
      footer .block-vlaco-related-content {
        float: left;
        display: block;
        margin-right: 2.5641%;
        width: 65.81197%; }
        footer .block-vlaco-related-content:last-child {
          margin-right: 0; } }
    .lt-ie9 footer .block-vlaco-related-content {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 74.35897%; }
      .lt-ie9 footer .block-vlaco-related-content:last-child {
        margin-right: 0; }
    @media all and (min-width: 920px) {
      footer .block-vlaco-related-content {
        float: left;
        display: block;
        margin-right: 2.5641%;
        width: 74.35897%; }
        footer .block-vlaco-related-content:last-child {
          margin-right: 0; } }
    footer .block-vlaco-related-content h2, footer .block-vlaco-related-content .path-checkout .form-wrapper legend .fieldset-legend, .path-checkout .form-wrapper legend footer .block-vlaco-related-content .fieldset-legend {
      font-size: 14px;
      font-weight: 600;
      padding: 0;
      margin: 0;
      text-transform: uppercase;
      height: 25px; }
    footer .block-vlaco-related-content .view-mode-related {
      font-size: 12px;
      font-size: 0.8rem;
      float: left;
      display: block;
      margin-right: 3.8961%;
      width: 48.05195%; }
      footer .block-vlaco-related-content .view-mode-related:last-child {
        margin-right: 0; }
      footer .block-vlaco-related-content .view-mode-related + .view-mode-related {
        margin-right: 0; }
      footer .block-vlaco-related-content .view-mode-related + .view-mode-related + .view-mode-related {
        display: none; }
      .lt-ie9 footer .block-vlaco-related-content .view-mode-related {
        float: left;
        display: block;
        margin-right: 3.44828%;
        width: 31.03448%; }
        .lt-ie9 footer .block-vlaco-related-content .view-mode-related:last-child {
          margin-right: 0; }
        .lt-ie9 footer .block-vlaco-related-content .view-mode-related + .view-mode-related {
          margin-right: 3.44828%; }
        .lt-ie9 footer .block-vlaco-related-content .view-mode-related + .view-mode-related + .view-mode-related {
          margin-right: 0;
          display: block; }
      @media all and (min-width: 920px) {
        footer .block-vlaco-related-content .view-mode-related {
          float: left;
          display: block;
          margin-right: 3.44828%;
          width: 31.03448%; }
          footer .block-vlaco-related-content .view-mode-related:last-child {
            margin-right: 0; }
          footer .block-vlaco-related-content .view-mode-related + .view-mode-related {
            margin-right: 3.44828%; }
          footer .block-vlaco-related-content .view-mode-related + .view-mode-related + .view-mode-related {
            margin-right: 0;
            display: block; } }
      footer .block-vlaco-related-content .view-mode-related a {
        text-decoration: none; }
      footer .block-vlaco-related-content .view-mode-related h3, footer .block-vlaco-related-content .view-mode-related .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right footer .block-vlaco-related-content .view-mode-related .field__label, footer .block-vlaco-related-content .view-mode-related .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity footer .block-vlaco-related-content .view-mode-related label, footer .block-vlaco-related-content .view-mode-related .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio footer .block-vlaco-related-content .view-mode-related label, footer .block-vlaco-related-content .view-mode-related .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form footer .block-vlaco-related-content .view-mode-related label, footer .block-vlaco-related-content .view-mode-related .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information footer .block-vlaco-related-content .view-mode-related legend {
        font-size: 15px;
        font-size: 1rem;
        display: block;
        margin-top: 10px; }
      footer .block-vlaco-related-content .view-mode-related .node-related__title {
        font-size: 12px;
        font-size: 0.8rem;
        display: inline;
        text-transform: uppercase; }
      footer .block-vlaco-related-content .view-mode-related .component-date,
      footer .block-vlaco-related-content .view-mode-related .component-location {
        font-size: 12px;
        font-size: 0.8rem;
        color: #4b4736;
        font-weight: 300;
        display: inline;
        text-transform: uppercase; }
        footer .block-vlaco-related-content .view-mode-related .component-date time,
        footer .block-vlaco-related-content .view-mode-related .component-location time {
          display: inline-block; }
      footer .block-vlaco-related-content .view-mode-related .node-related__title + .component-location:before,
      footer .block-vlaco-related-content .view-mode-related .node-related__title + .component-location + .component-date:before,
      footer .block-vlaco-related-content .view-mode-related .node-related__title + .component-date:before {
        content: ' - '; }
  footer .block-vlaco-related-content + .block-block-content {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 100%;
    clear: none;
    padding: 40px 0 0;
    margin-top: 25px; }
    footer .block-vlaco-related-content + .block-block-content:last-child {
      margin-right: 0; }
    .lt-ie9 footer .block-vlaco-related-content + .block-block-content {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 48.71795%; }
      .lt-ie9 footer .block-vlaco-related-content + .block-block-content:last-child {
        margin-right: 0; }
    @media all and (min-width: 420px) {
      footer .block-vlaco-related-content + .block-block-content {
        float: left;
        display: block;
        margin-right: 2.5641%;
        width: 48.71795%; }
        footer .block-vlaco-related-content + .block-block-content:last-child {
          margin-right: 0; } }
    .lt-ie9 footer .block-vlaco-related-content + .block-block-content {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 31.62393%;
      margin-right: 0; }
      .lt-ie9 footer .block-vlaco-related-content + .block-block-content:last-child {
        margin-right: 0; }
    @media all and (min-width: 720px) {
      footer .block-vlaco-related-content + .block-block-content {
        float: left;
        display: block;
        margin-right: 2.5641%;
        width: 31.62393%;
        margin-right: 0; }
        footer .block-vlaco-related-content + .block-block-content:last-child {
          margin-right: 0; } }
    .lt-ie9 footer .block-vlaco-related-content + .block-block-content {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 23.07692%;
      margin-right: 0; }
      .lt-ie9 footer .block-vlaco-related-content + .block-block-content:last-child {
        margin-right: 0; }
    @media all and (min-width: 920px) {
      footer .block-vlaco-related-content + .block-block-content {
        float: left;
        display: block;
        margin-right: 2.5641%;
        width: 23.07692%;
        margin-right: 0; }
        footer .block-vlaco-related-content + .block-block-content:last-child {
          margin-right: 0; } }
    footer .block-vlaco-related-content + .block-block-content img {
      display: block;
      height: auto;
      width: 100%; }
    footer .block-vlaco-related-content + .block-block-content .block-footer__link a {
      font-size: 15px;
      font-size: 1rem;
      background: #115328;
      border: 0;
      box-shadow: none;
      color: #fff;
      font-weight: 600;
      display: inline-block;
      line-height: 1;
      padding: 7px 10px 8px;
      text-decoration: none;
      text-shadow: none;
      text-transform: uppercase;
      transition: background 150ms linear, color 150ms linear;
      -o-transition: background 150ms linear, color 150ms linear;
      -ms-transition: background 150ms linear, color 150ms linear;
      -webkit-font-smoothing: antialiased;
      display: block;
      padding: 15px 50px 15px 20px;
      position: relative;
      text-align: left; }
      footer .block-vlaco-related-content + .block-block-content .block-footer__link a.active, footer .block-vlaco-related-content + .block-block-content .block-footer__link a:hover, footer .block-vlaco-related-content + .block-block-content .block-footer__link a:focus {
        background: #4b4736;
        color: #fff;
        outline: none; }
      footer .block-vlaco-related-content + .block-block-content .block-footer__link a:after {
        font-family: 'icomoon' !important;
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 24px;
        position: absolute;
        right: 15px;
        top: 50%;
        margin-top: -12px; }

.eu-cookie-compliance-agree-button,
.eu-cookie-compliance-more-button,
.eu-cookie-compliance-hide-button {
  background-image: none;
  font-size: 15px;
  font-size: 1rem;
  background: #115328;
  border: 0;
  box-shadow: none;
  color: #fff;
  font-weight: 600;
  display: inline-block;
  line-height: 1;
  padding: 7px 10px 8px;
  text-decoration: none;
  text-shadow: none;
  text-transform: uppercase;
  transition: background 150ms linear, color 150ms linear;
  -o-transition: background 150ms linear, color 150ms linear;
  -ms-transition: background 150ms linear, color 150ms linear;
  -webkit-font-smoothing: antialiased;
  border-radius: 0;
  margin-top: 0;
  font-family: "Open Sans", Helvetica, Arial, sans-serif; }
  .eu-cookie-compliance-agree-button.active, .eu-cookie-compliance-agree-button:hover, .eu-cookie-compliance-agree-button:focus,
  .eu-cookie-compliance-more-button.active,
  .eu-cookie-compliance-more-button:hover,
  .eu-cookie-compliance-more-button:focus,
  .eu-cookie-compliance-hide-button.active,
  .eu-cookie-compliance-hide-button:hover,
  .eu-cookie-compliance-hide-button:focus {
    background: #4b4736;
    color: #fff;
    outline: none; }

.eu-cookie-compliance-message {
  padding-bottom: 10px; }
  .lt-ie9 .eu-cookie-compliance-message {
    padding-right: 20px; }
  @media all and (min-width: 420px) {
    .eu-cookie-compliance-message {
      padding-right: 20px; } }

.eu-cookie-compliance-message p {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400; }

.sliding-popup-bottom {
  padding: 20px 0; }

.eu-cookie-compliance-buttons {
  margin: 10px 0 0 0;
  display: flex; }

header ul.links,
header ul.menu {
  list-style: none;
  margin: 0;
  padding: 0; }
  header ul.links > li,
  header ul.menu > li {
    float: left;
    margin: 0;
    padding: 0; }
    header ul.links > li > a,
    header ul.menu > li > a {
      text-decoration: none;
      display: block; }
      header ul.links > li > a:hover, header ul.links > li > a:focus, header ul.links > li > a.active,
      header ul.menu > li > a:hover,
      header ul.menu > li > a:focus,
      header ul.menu > li > a.active {
        outline: none; }

header > .header {
  position: relative;
  float: left;
  width: 100%; }
  header > .header ul.menu {
    position: relative;
    z-index: 400;
    backgorund-color: red; }
    header > .header ul.menu li a {
      font-size: 11px;
      font-size: 0.73333rem;
      color: #ffffff;
      font-weight: 400;
      text-transform: uppercase;
      padding: 18px 7px; }
      .lt-ie9 header > .header ul.menu li a {
        font-size: 12px;
        font-size: 0.8rem;
        padding: 18px 13px; }
      @media all and (min-width: 1100px) {
        header > .header ul.menu li a {
          font-size: 12px;
          font-size: 0.8rem;
          padding: 18px 13px; } }
      header > .header ul.menu li a:hover, header > .header ul.menu li a:focus, header > .header ul.menu li a.active {
        text-decoration: underline; }
    header > .header ul.menu li.menu-item--active-trail a {
      text-decoration: underline !important; }
  header > .header .menu--social-media {
    padding-right: 15px; }
  header > .header .block-mini-search-form-block {
    float: right;
    padding: 10px 0;
    position: relative; }
    .lt-ie9 header > .header .block-mini-search-form-block {
      float: none; }
    @media all and (min-width: 920px) {
      header > .header .block-mini-search-form-block {
        float: none; } }
    header > .header .block-mini-search-form-block form {
      padding: 5px 40px 5px 10px;
      width: 70px;
      color: #4b4736;
      background: url("../img/search.png") #fff no-repeat;
      background-position: right 10px center; }
      .lt-ie9 header > .header .block-mini-search-form-block form {
        width: 120px; }
      @media all and (min-width: 720px) {
        header > .header .block-mini-search-form-block form {
          width: 120px; } }
      header > .header .block-mini-search-form-block form input.button {
        background: #fff;
        display: block;
        height: 17px;
        opacity: 0;
        overflow: hidden;
        position: absolute;
        right: 12px;
        top: 12px;
        width: 17px; }
      header > .header .block-mini-search-form-block form input[type='text'] {
        padding: 0;
        border: 0;
        max-width: 100%; }
  header > .header .menu--language {
    float: right;
    margin-left: 12px; }
    .lt-ie9 header > .header .menu--language {
      float: none; }
    @media all and (min-width: 920px) {
      header > .header .menu--language {
        float: none; } }
    header > .header .menu--language a {
      padding: 17px 6px !important; }
  header > .header .menu--social-media ul.menu {
    display: block;
    padding: 0 0 0 15px; }
    header > .header .menu--social-media ul.menu a {
      font-size: 0;
      padding: 12px 6px; }
      header > .header .menu--social-media ul.menu a:hover {
        text-decoration: none; }
      header > .header .menu--social-media ul.menu a:before {
        font-size: 27px;
        font-size: 1.8rem; }

header > .navigation {
  float: left;
  position: relative;
  width: 100%; }
  header > .navigation ul.menu {
    margin-right: -10px; }
    .lt-ie9 header > .navigation ul.menu {
      margin-right: -20px; }
    @media all and (min-width: 1100px) {
      header > .navigation ul.menu {
        margin-right: -20px; } }
    header > .navigation ul.menu li a {
      font-size: 16px;
      font-size: 1.06667rem;
      color: #4b4736;
      font-weight: 600;
      padding: 15px 10px; }
      .lt-ie9 header > .navigation ul.menu li a {
        font-size: 14px;
        font-size: 0.93333rem; }
      @media all and (min-width: 920px) {
        header > .navigation ul.menu li a {
          font-size: 14px;
          font-size: 0.93333rem; } }
      .lt-ie9 header > .navigation ul.menu li a {
        font-size: 18px;
        font-size: 1.2rem; }
      @media all and (min-width: 1100px) {
        header > .navigation ul.menu li a {
          font-size: 18px;
          font-size: 1.2rem; } }
      .lt-ie9 header > .navigation ul.menu li a {
        padding: 15px 20px; }
      @media all and (min-width: 1200px) {
        header > .navigation ul.menu li a {
          padding: 15px 20px; } }
      header > .navigation ul.menu li a:hover, header > .navigation ul.menu li a:focus, header > .navigation ul.menu li a.active {
        color: #115328;
        text-decoration: underline;
        text-underline-offset: 4px;
        text-decoration-color: #b4b8c9; }
    header > .navigation ul.menu li.menu-item--active-trail a {
      color: #115328; }

.content aside .navigation.menu--top li.menu-item--active-trail a {
  color: #115328; }

.content aside ul.links,
.content aside ul.menu,
.sb-slidebar ul.links,
.sb-slidebar ul.menu {
  list-style: none;
  margin: 0;
  padding: 0; }
  .content aside ul.links > li,
  .content aside ul.menu > li,
  .sb-slidebar ul.links > li,
  .sb-slidebar ul.menu > li {
    margin: 0;
    padding: 0; }
    .content aside ul.links > li > a,
    .content aside ul.menu > li > a,
    .sb-slidebar ul.links > li > a,
    .sb-slidebar ul.menu > li > a {
      text-decoration: none;
      display: block; }
      .content aside ul.links > li > a:hover, .content aside ul.links > li > a:focus, .content aside ul.links > li > a.is-active,
      .content aside ul.menu > li > a:hover,
      .content aside ul.menu > li > a:focus,
      .content aside ul.menu > li > a.is-active,
      .sb-slidebar ul.links > li > a:hover,
      .sb-slidebar ul.links > li > a:focus,
      .sb-slidebar ul.links > li > a.is-active,
      .sb-slidebar ul.menu > li > a:hover,
      .sb-slidebar ul.menu > li > a:focus,
      .sb-slidebar ul.menu > li > a.is-active {
        outline: none; }

.content aside.layout-sidebar-first,
.sb-slidebar.layout-sidebar-first {
  display: none; }
  .lt-ie9 .content aside.layout-sidebar-first, .lt-ie9
  .sb-slidebar.layout-sidebar-first {
    display: block; }
  @media all and (min-width: 920px) {
    .content aside.layout-sidebar-first,
    .sb-slidebar.layout-sidebar-first {
      display: block; } }

.content aside .menu--account,
.sb-slidebar .menu--account {
  background: #f03f6d;
  margin-bottom: 45px;
  padding: 20px; }
  .content aside .menu--account h2, .content aside .menu--account .path-checkout .form-wrapper legend .fieldset-legend, .path-checkout .form-wrapper legend .content aside .menu--account .fieldset-legend,
  .sb-slidebar .menu--account h2,
  .sb-slidebar .menu--account .path-checkout .form-wrapper legend .fieldset-legend,
  .path-checkout .form-wrapper legend .sb-slidebar .menu--account .fieldset-legend {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    padding: 0;
    margin: 0 0 10px;
    text-transform: uppercase; }
    .content aside .menu--account h2:after, .content aside .menu--account .path-checkout .form-wrapper legend .fieldset-legend:after, .path-checkout .form-wrapper legend .content aside .menu--account .fieldset-legend:after,
    .sb-slidebar .menu--account h2:after,
    .sb-slidebar .menu--account .path-checkout .form-wrapper legend .fieldset-legend:after,
    .path-checkout .form-wrapper legend .sb-slidebar .menu--account .fieldset-legend:after {
      font-family: 'icomoon' !important;
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      float: right;
      font-size: 40px; }
  .content aside .menu--account a,
  .sb-slidebar .menu--account a {
    color: #fff; }

.content aside h2, .content aside .path-checkout .form-wrapper legend .fieldset-legend, .path-checkout .form-wrapper legend .content aside .fieldset-legend,
.sb-slidebar h2,
.sb-slidebar .path-checkout .form-wrapper legend .fieldset-legend,
.path-checkout .form-wrapper legend .sb-slidebar .fieldset-legend {
  color: #115328;
  padding: 0 20px;
  margin-bottom: 30px; }

.content aside .menu--main ul.menu,
.content aside .menu--top ul.menu,
.content aside .menu--extra ul.menu,
.content aside .menu--language ul.menu,
.content aside.sb-slidebar .menu--account ul.menu,
.sb-slidebar .menu--main ul.menu,
.sb-slidebar .menu--top ul.menu,
.sb-slidebar .menu--extra ul.menu,
.sb-slidebar .menu--language ul.menu,
.sb-slidebar.sb-slidebar .menu--account ul.menu {
  list-style: none;
  margin: 0;
  padding: 0; }
  .content aside .menu--main ul.menu a,
  .content aside .menu--top ul.menu a,
  .content aside .menu--extra ul.menu a,
  .content aside .menu--language ul.menu a,
  .content aside.sb-slidebar .menu--account ul.menu a,
  .sb-slidebar .menu--main ul.menu a,
  .sb-slidebar .menu--top ul.menu a,
  .sb-slidebar .menu--extra ul.menu a,
  .sb-slidebar .menu--language ul.menu a,
  .sb-slidebar.sb-slidebar .menu--account ul.menu a {
    border-top: 1px solid #dbdad7;
    display: block;
    font-size: 14px;
    font-weight: 600;
    padding: 15px 20px;
    position: relative;
    text-transform: uppercase;
    color: #4b4736; }
    .content aside .menu--main ul.menu a:hover, .content aside .menu--main ul.menu a:focus, .content aside .menu--main ul.menu a.is-active,
    .content aside .menu--top ul.menu a:hover,
    .content aside .menu--top ul.menu a:focus,
    .content aside .menu--top ul.menu a.is-active,
    .content aside .menu--extra ul.menu a:hover,
    .content aside .menu--extra ul.menu a:focus,
    .content aside .menu--extra ul.menu a.is-active,
    .content aside .menu--language ul.menu a:hover,
    .content aside .menu--language ul.menu a:focus,
    .content aside .menu--language ul.menu a.is-active,
    .content aside.sb-slidebar .menu--account ul.menu a:hover,
    .content aside.sb-slidebar .menu--account ul.menu a:focus,
    .content aside.sb-slidebar .menu--account ul.menu a.is-active,
    .sb-slidebar .menu--main ul.menu a:hover,
    .sb-slidebar .menu--main ul.menu a:focus,
    .sb-slidebar .menu--main ul.menu a.is-active,
    .sb-slidebar .menu--top ul.menu a:hover,
    .sb-slidebar .menu--top ul.menu a:focus,
    .sb-slidebar .menu--top ul.menu a.is-active,
    .sb-slidebar .menu--extra ul.menu a:hover,
    .sb-slidebar .menu--extra ul.menu a:focus,
    .sb-slidebar .menu--extra ul.menu a.is-active,
    .sb-slidebar .menu--language ul.menu a:hover,
    .sb-slidebar .menu--language ul.menu a:focus,
    .sb-slidebar .menu--language ul.menu a.is-active,
    .sb-slidebar.sb-slidebar .menu--account ul.menu a:hover,
    .sb-slidebar.sb-slidebar .menu--account ul.menu a:focus,
    .sb-slidebar.sb-slidebar .menu--account ul.menu a.is-active {
      color: #115328; }
    .content aside .menu--main ul.menu a:after,
    .content aside .menu--top ul.menu a:after,
    .content aside .menu--extra ul.menu a:after,
    .content aside .menu--language ul.menu a:after,
    .content aside.sb-slidebar .menu--account ul.menu a:after,
    .sb-slidebar .menu--main ul.menu a:after,
    .sb-slidebar .menu--top ul.menu a:after,
    .sb-slidebar .menu--extra ul.menu a:after,
    .sb-slidebar .menu--language ul.menu a:after,
    .sb-slidebar.sb-slidebar .menu--account ul.menu a:after {
      font-family: 'icomoon' !important;
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      color: #115328;
      position: absolute;
      right: 10px;
      top: 50%;
      margin-top: -7px; }
  .content aside .menu--main ul.menu ul.menu a,
  .content aside .menu--top ul.menu ul.menu a,
  .content aside .menu--extra ul.menu ul.menu a,
  .content aside .menu--language ul.menu ul.menu a,
  .content aside.sb-slidebar .menu--account ul.menu ul.menu a,
  .sb-slidebar .menu--main ul.menu ul.menu a,
  .sb-slidebar .menu--top ul.menu ul.menu a,
  .sb-slidebar .menu--extra ul.menu ul.menu a,
  .sb-slidebar .menu--language ul.menu ul.menu a,
  .sb-slidebar.sb-slidebar .menu--account ul.menu ul.menu a {
    border-top: 0;
    text-transform: none;
    padding-top: 0;
    font-weight: 400;
    color: #4b4736; }
    .content aside .menu--main ul.menu ul.menu a.is-active,
    .content aside .menu--top ul.menu ul.menu a.is-active,
    .content aside .menu--extra ul.menu ul.menu a.is-active,
    .content aside .menu--language ul.menu ul.menu a.is-active,
    .content aside.sb-slidebar .menu--account ul.menu ul.menu a.is-active,
    .sb-slidebar .menu--main ul.menu ul.menu a.is-active,
    .sb-slidebar .menu--top ul.menu ul.menu a.is-active,
    .sb-slidebar .menu--extra ul.menu ul.menu a.is-active,
    .sb-slidebar .menu--language ul.menu ul.menu a.is-active,
    .sb-slidebar.sb-slidebar .menu--account ul.menu ul.menu a.is-active {
      color: #115328; }
    .content aside .menu--main ul.menu ul.menu a:after,
    .content aside .menu--top ul.menu ul.menu a:after,
    .content aside .menu--extra ul.menu ul.menu a:after,
    .content aside .menu--language ul.menu ul.menu a:after,
    .content aside.sb-slidebar .menu--account ul.menu ul.menu a:after,
    .sb-slidebar .menu--main ul.menu ul.menu a:after,
    .sb-slidebar .menu--top ul.menu ul.menu a:after,
    .sb-slidebar .menu--extra ul.menu ul.menu a:after,
    .sb-slidebar .menu--language ul.menu ul.menu a:after,
    .sb-slidebar.sb-slidebar .menu--account ul.menu ul.menu a:after {
      margin-top: -12px; }

.content aside .menu--extra,
.sb-slidebar .menu--extra {
  border-bottom: 1px solid #dbdad7; }

#sb-slidebar {
  background: #4b4736; }
  #sb-slidebar ul.menu {
    margin-top: -1px; }
    #sb-slidebar ul.menu a {
      color: #fff; }
      #sb-slidebar ul.menu a:after {
        color: #fff; }
      #sb-slidebar ul.menu a.is-active {
        color: #115328; }
        #sb-slidebar ul.menu a.is-active:after {
          color: #115328; }
    #sb-slidebar ul.menu li li.menu-item--expanded > a {
      padding-bottom: 7px; }
    #sb-slidebar ul.menu li li.menu-item--expanded li a {
      padding-bottom: 7px; }
    #sb-slidebar ul.menu li li.menu-item--expanded li:last-child a {
      padding-bottom: 15px; }
    #sb-slidebar ul.menu li li li a {
      font-size: 12px;
      font-weight: 300;
      padding-left: 30px; }
      #sb-slidebar ul.menu li li li a:after {
        font-size: 14px; }
    #sb-slidebar ul.menu li li li.menu-item--expanded li a {
      padding-bottom: 2px; }
    #sb-slidebar ul.menu li li li.menu-item--expanded li:last-child a {
      padding-bottom: 10px; }
  #sb-slidebar .menu--extra {
    border-bottom: 0; }
  #sb-slidebar .menu--account {
    background: none;
    border-bottom: 1px solid #dbdad7;
    margin: 0;
    padding: 0; }
  #sb-slidebar .menu--social-media ul.menu {
    padding: 15px 20px; }
    #sb-slidebar .menu--social-media ul.menu li {
      display: inline-block;
      margin-right: 10px; }
    #sb-slidebar .menu--social-media ul.menu a {
      font-size: 0; }
      #sb-slidebar .menu--social-media ul.menu a:hover {
        text-decoration: none; }
      #sb-slidebar .menu--social-media ul.menu a:before {
        font-size: 27px;
        font-size: 1.8rem; }
  #sb-slidebar .menu--language ul.menu {
    border-bottom: 1px solid white;
    overflow: hidden; }
    #sb-slidebar .menu--language ul.menu li {
      float: left; }
    #sb-slidebar .menu--language ul.menu a {
      display: inline-block; }
      #sb-slidebar .menu--language ul.menu a:after {
        display: none; }

button,
input,
select,
textarea {
  font-family: "Open Sans", Helvetica, Arial, sans-serif; }

form input[type='text'],
form input[type='email'],
form input[type='password'],
form input[type='url'],
form input[type='tel'],
form input[type='number'],
form input[type='date'] {
  background: #fff;
  border: 1px solid #dbdad7;
  box-sizing: border-box;
  border-radius: 2px;
  padding: 10px;
  width: 100%;
  min-width: 60px; }
  .lt-ie9 form input[type='text'], .lt-ie9
  form input[type='email'], .lt-ie9
  form input[type='password'], .lt-ie9
  form input[type='url'], .lt-ie9
  form input[type='tel'], .lt-ie9
  form input[type='number'], .lt-ie9
  form input[type='date'] {
    max-width: 50%;
    min-width: 60px; }
  @media all and (min-width: 420px) {
    form input[type='text'],
    form input[type='email'],
    form input[type='password'],
    form input[type='url'],
    form input[type='tel'],
    form input[type='number'],
    form input[type='date'] {
      max-width: 50%;
      min-width: 60px; } }
  form input[type='text']:focus,
  form input[type='email']:focus,
  form input[type='password']:focus,
  form input[type='url']:focus,
  form input[type='tel']:focus,
  form input[type='number']:focus,
  form input[type='date']:focus {
    border-color: #4b4736;
    outline: none; }

form textarea {
  background: #fff;
  border: 1px solid #dbdad7;
  border-radius: 2px;
  box-sizing: border-box;
  min-height: 100px;
  padding: 10px;
  width: 100%; }
  form textarea:focus {
    border-color: #4b4736;
    outline: none; }

form .form-type-radio input[type='radio'] {
  margin: 0 3px 0 1px; }
  form .form-type-radio input[type='radio']:focus {
    border-color: #4b4736; }

form .form-type-radio label {
  color: #4b4736;
  font-size: 15px;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  margin: 10px 0; }

form .form-type-checkbox input[type='checkbox'] {
  margin: 0 3px 0 1px; }
  form .form-type-checkbox input[type='checkbox']:focus {
    border-color: #4b4736;
    outline: none; }

form .form-type-checkbox label {
  clear: none;
  color: #4b4736;
  display: inline-block;
  font-size: 15px;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  margin: 10px 0; }

form select {
  background: #fff;
  border: 1px solid #dbdad7;
  box-sizing: border-box;
  min-height: 40px;
  padding: 10px;
  width: 100%; }
  .lt-ie9 form select {
    max-width: 50%;
    min-width: 60px; }
  @media all and (min-width: 420px) {
    form select {
      max-width: 50%;
      min-width: 60px; } }
  form select:focus {
    border-color: #4b4736;
    outline: none; }

form label {
  display: block;
  margin: 20px 0 5px; }

form input.button,
form button {
  font-size: 15px;
  font-size: 1rem;
  background: #115328;
  border: 0;
  box-shadow: none;
  color: #fff;
  font-weight: 600;
  display: inline-block;
  line-height: 1;
  padding: 7px 10px 8px;
  text-decoration: none;
  text-shadow: none;
  text-transform: uppercase;
  transition: background 150ms linear, color 150ms linear;
  -o-transition: background 150ms linear, color 150ms linear;
  -ms-transition: background 150ms linear, color 150ms linear;
  -webkit-font-smoothing: antialiased; }
  form input.button.active, form input.button:hover, form input.button:focus,
  form button.active,
  form button:hover,
  form button:focus {
    background: #4b4736;
    color: #fff;
    outline: none; }

.path-contact .form-actions {
  margin-top: 1em; }

.select-style {
  background: #fff url("../img/arrowdown.gif") no-repeat center right;
  border: 1px solid #dbdad7;
  border-radius: 3px;
  box-sizing: border-box;
  margin: 0;
  height: 42px;
  overflow: hidden;
  padding: 0 0 0 5px;
  width: 100%; }
  .lt-ie9 .select-style {
    max-width: 50%; }
  @media all and (min-width: 420px) {
    .select-style {
      max-width: 50%; } }
  .select-style:focus {
    border-color: #4b4736;
    outline: none; }

.select-style select {
  appearance: none;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 5px 8px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none; }

.select-style select:focus {
  outline: none; }

form.contact-form .select-style {
  width: 100%; }

label.js-form-required::after {
  content: " *";
  color: #e53e3e;
  font-weight: bold;
  margin-left: 2px; }

iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9; }

p > img {
  width: 100%; }
  @media (min-width: 420px) {
    p > img {
      width: revert-layer; } }

.messages {
  overflow: hidden;
  margin: 2em 0; }

.block-page-title-block {
  margin-bottom: 20px; }

.print {
  display: none; }

.pager {
  display: block;
  text-align: center; }
  .pager h4, .pager form label, form .pager label, .pager .node-calendar.view-mode-front h3, .node-calendar.view-mode-front .pager h3, .pager .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right .field__label, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right .pager .field__label, .pager .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front .pager .field__label, .pager .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .pager label, .pager .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front .pager label, .pager .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .pager label, .pager .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front .pager label, .pager .node-calendar.view-mode-front .view-webshop .views-exposed-form label, .node-calendar.view-mode-front .view-webshop .views-exposed-form .pager label, .pager .view-webshop .views-exposed-form .node-calendar.view-mode-front label, .view-webshop .views-exposed-form .node-calendar.view-mode-front .pager label, .pager .node-calendar.view-mode-front .path-checkout #edit-review-billing-information legend, .node-calendar.view-mode-front .path-checkout #edit-review-billing-information .pager legend, .pager .path-checkout #edit-review-billing-information .node-calendar.view-mode-front legend, .path-checkout #edit-review-billing-information .node-calendar.view-mode-front .pager legend, .pager .node-news.view-mode-front a h3, .node-news.view-mode-front a .pager h3, .pager .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right .field__label, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right .pager .field__label, .pager .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a .pager .field__label, .pager .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .pager label, .pager .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a .pager label, .pager .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .pager label, .pager .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a .pager label, .pager .node-news.view-mode-front a .view-webshop .views-exposed-form label, .node-news.view-mode-front a .view-webshop .views-exposed-form .pager label, .pager .view-webshop .views-exposed-form .node-news.view-mode-front a label, .view-webshop .views-exposed-form .node-news.view-mode-front a .pager label, .pager .node-news.view-mode-front a .path-checkout #edit-review-billing-information legend, .node-news.view-mode-front a .path-checkout #edit-review-billing-information .pager legend, .pager .path-checkout #edit-review-billing-information .node-news.view-mode-front a legend, .path-checkout #edit-review-billing-information .node-news.view-mode-front a .pager legend {
    display: none; }
  .pager ul {
    font-size: 0;
    list-style: none;
    margin: 0;
    padding: 0; }
    .pager ul li.pager__item {
      display: none;
      margin: 0 5px 5px 0; }
      .lt-ie9 .pager ul li.pager__item {
        display: inline-block; }
      @media all and (min-width: 720px) {
        .pager ul li.pager__item {
          display: inline-block; } }
      .pager ul li.pager__item a {
        font-size: 15px;
        font-size: 1rem;
        background: #115328;
        border: 0;
        box-shadow: none;
        color: #fff;
        font-weight: 600;
        display: inline-block;
        line-height: 1;
        padding: 7px 10px 8px;
        text-decoration: none;
        text-shadow: none;
        text-transform: uppercase;
        transition: background 150ms linear, color 150ms linear;
        -o-transition: background 150ms linear, color 150ms linear;
        -ms-transition: background 150ms linear, color 150ms linear;
        -webkit-font-smoothing: antialiased;
        background: #dbdad7;
        display: inline-block;
        text-decoration: none; }
        .pager ul li.pager__item a.active, .pager ul li.pager__item a:hover, .pager ul li.pager__item a:focus {
          background: #4b4736;
          color: #fff;
          outline: none; }
      .pager ul li.pager__item.is-active {
        display: inline-block; }
        .pager ul li.pager__item.is-active a {
          background: #115328; }
      .pager ul li.pager__item.pager__item--previous, .pager ul li.pager__item.pager__item--next {
        display: inline-block; }

.user--view-mode-full .downloads-block-wrapper {
  background-color: #f4f4f4;
  margin-top: 20px; }
  .user--view-mode-full .downloads-block-wrapper .block-front {
    padding-bottom: 50px; }
    .user--view-mode-full .downloads-block-wrapper .block-front .block-front__icon,
    .user--view-mode-full .downloads-block-wrapper .block-front .block-front__title {
      display: block; }
  .user--view-mode-full .downloads-block-wrapper .block-front__link a {
    position: absolute;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0; }

@media screen and (min-width: 768px) {
  .user--view-mode-full {
    display: flex; }
    .user--view-mode-full .downloads-block-wrapper,
    .user--view-mode-full .content-wrapper {
      flex: 1;
      margin-top: 20px; } }

.component-attachment a {
  font-size: 12px;
  font-size: 0.8rem;
  display: inline-block;
  color: #115328;
  font-weight: 700;
  margin-bottom: 5px;
  text-transform: uppercase;
  text-decoration: underline; }

.component-attachment span.file {
  background: none !important;
  padding: 0; }

.cookiesjsr-banner {
  padding: 30px 30px 15px;
  display: block;
  right: 30px;
  bottom: 30px;
  left: 30px;
  width: 780px;
  max-width: calc(100% - 60px);
  background-color: #4b4736;
  color: #fff;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); }
  .cookiesjsr-banner .cookiesjsr-banner--action {
    display: flex;
    flex-flow: row wrap;
    width: 100%; }
    .cookiesjsr-banner .cookiesjsr-banner--action .cookiesjsr-btn {
      font-size: 15px;
      font-size: 1rem;
      background: #115328;
      border: 0;
      box-shadow: none;
      color: #fff;
      font-weight: 600;
      display: inline-block;
      line-height: 1;
      padding: 7px 10px 8px;
      text-decoration: none;
      text-shadow: none;
      text-transform: uppercase;
      transition: background 150ms linear, color 150ms linear;
      -o-transition: background 150ms linear, color 150ms linear;
      -ms-transition: background 150ms linear, color 150ms linear;
      -webkit-font-smoothing: antialiased;
      margin: 0 15px 15px 0;
      width: auto;
      text-transform: none;
      opacity: 1; }
      .cookiesjsr-banner .cookiesjsr-banner--action .cookiesjsr-btn.active, .cookiesjsr-banner .cookiesjsr-banner--action .cookiesjsr-btn:hover, .cookiesjsr-banner .cookiesjsr-banner--action .cookiesjsr-btn:focus {
        background: #4b4736;
        color: #fff;
        outline: none; }
      .cookiesjsr-banner .cookiesjsr-banner--action .cookiesjsr-btn:last-child {
        margin-right: 0; }
      .cookiesjsr-banner .cookiesjsr-banner--action .cookiesjsr-btn:hover, .cookiesjsr-banner .cookiesjsr-banner--action .cookiesjsr-btn:focus {
        transform: none; }
  .cookiesjsr-banner .cookiesjsr-banner--links {
    display: flex;
    flex-flow: row wrap;
    margin: 15px 0 0; }
    .cookiesjsr-banner .cookiesjsr-banner--links li {
      padding: 0;
      margin-right: 10px; }
      .cookiesjsr-banner .cookiesjsr-banner--links li::before {
        display: none;
        content: none; }
      .cookiesjsr-banner .cookiesjsr-banner--links li:last-child {
        margin-right: 0; }
      .cookiesjsr-banner .cookiesjsr-banner--links li:nth-of-type(2) {
        display: none; }
    .cookiesjsr-banner .cookiesjsr-banner--links a {
      text-decoration: underline; }
      .cookiesjsr-banner .cookiesjsr-banner--links a:hover, .cookiesjsr-banner .cookiesjsr-banner--links a:focus {
        text-decoration: none; }
  .cookiesjsr-banner .cookiesjsr-banner--info {
    padding: 0;
    width: 100%;
    overflow: unset; }

.cookiesjsr-layer--wrapper header::after {
  content: '';
  display: none; }

.cookiesjsr-layer--wrapper .cookiesjsr-layer--header {
  padding: 0 20px;
  background-color: #fff;
  border-bottom: 1px solid #fff;
  height: 80px; }
  .cookiesjsr-layer--wrapper .cookiesjsr-layer--header span {
    font-weight: 700;
    text-transform: unset; }

.cookiesjsr-layer--wrapper .cookiesjsr-layer--body {
  top: 80px;
  background-color: #fff; }
  .cookiesjsr-layer--wrapper .cookiesjsr-layer--body .cookiesjsr-switch::after {
    background-color: #115328; }
  .cookiesjsr-layer--wrapper .cookiesjsr-layer--body .cookiesjsr-service-group .cookiesjsr-service-group--tab {
    background: #4b4736;
    color: #fff;
    border-bottom: 1px solid #4b4736; }
  .cookiesjsr-layer--wrapper .cookiesjsr-layer--body .cookiesjsr-service-group .cookiesjsr-service-group--content {
    background: #4b4736;
    color: #fff; }
  .cookiesjsr-layer--wrapper .cookiesjsr-layer--body .cookiesjsr-service-group.active .cookiesjsr-service-group--tab {
    color: #115328; }
  .cookiesjsr-layer--wrapper .cookiesjsr-layer--body .cookiesjsr-service--description a {
    font-size: .75rem; }
  .cookiesjsr-layer--wrapper .cookiesjsr-layer--body .cookiesjsr-service--description ul li {
    padding: 0; }

.cookiesjsr-layer--wrapper .cookiesjsr-layer--footer {
  background-color: #4b4736;
  border: 0; }
  .cookiesjsr-layer--wrapper .cookiesjsr-layer--footer .cookiesjsr-layer--label-all {
    color: var(--color-base-text);
    font-size: var(--base-font-size-small); }
  .cookiesjsr-layer--wrapper .cookiesjsr-layer--footer .cookiesjsr-layer--actions button {
    background-color: #115328 !important;
    border-color: #115328 !important;
    color: #fff !important; }
  .cookiesjsr-layer--wrapper .cookiesjsr-layer--footer .cookiesjsr-layer--actions button {
    text-transform: unset; }
    .cookiesjsr-layer--wrapper .cookiesjsr-layer--footer .cookiesjsr-layer--actions button:hover, .cookiesjsr-layer--wrapper .cookiesjsr-layer--footer .cookiesjsr-layer--actions button:focus {
      transform: none; }

.breadcrumb {
  font-size: 12px;
  font-size: 0.8rem;
  text-transform: uppercase; }
  .breadcrumb a {
    color: #4b4736; }

.node--type-compost h1, .node--type-compost .path-checkout .form-wrapper:first-child legend .fieldset-legend, .path-checkout .form-wrapper:first-child legend .node--type-compost .fieldset-legend, .node--type-compost .path-checkout fieldset legend, .path-checkout fieldset .node--type-compost legend, .node--type-compost .path-checkout #block-commerce-checkout-order-summary h2, .path-checkout #block-commerce-checkout-order-summary .node--type-compost h2, .node--type-compost .path-checkout #block-commerce-checkout-order-summary .form-wrapper legend .fieldset-legend, .path-checkout #block-commerce-checkout-order-summary .form-wrapper legend .node--type-compost .fieldset-legend, .node--type-compost .path-checkout .form-wrapper legend #block-commerce-checkout-order-summary .fieldset-legend, .path-checkout .form-wrapper legend #block-commerce-checkout-order-summary .node--type-compost .fieldset-legend, .node--type-compost .path-search h2, .path-search .node--type-compost h2, .node--type-compost .path-search .path-checkout .form-wrapper legend .fieldset-legend, .path-search .path-checkout .form-wrapper legend .node--type-compost .fieldset-legend, .node--type-compost .path-checkout .form-wrapper legend .path-search .fieldset-legend, .path-checkout .form-wrapper legend .path-search .node--type-compost .fieldset-legend {
  margin-bottom: 0;
  margin-top: 30px; }

.taxonomy-term--type-compost.taxonomy-term--view-mode-teaser {
  border-bottom: 1px solid #dbdad7;
  padding-top: 40px;
  padding-bottom: 40px;
  -webkit-transition: -webkit-filter 300ms linear; }
  .taxonomy-term--type-compost.taxonomy-term--view-mode-teaser:last-child {
    border-bottom: 0; }

.compost-top__head {
  padding-bottom: 15px; }
  .lt-ie9 .compost-top__head {
    display: flex; }
  @media all and (min-width: 720px) {
    .compost-top__head {
      display: flex; } }

.compost-top__head__title h2, .compost-top__head__title .path-checkout .form-wrapper legend .fieldset-legend, .path-checkout .form-wrapper legend .compost-top__head__title .fieldset-legend {
  font-size: 16px;
  font-size: 1.06667rem;
  color: #4b4736;
  text-transform: uppercase;
  display: inline-block;
  padding-right: 3px; }

.compost-top__head__title:after {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  position: relative;
  top: 5px;
  font-size: 23px; }

.compost-top__head__rule {
  color: #115328;
  font-weight: 600; }
  .compost-top__head__rule div {
    padding: 10px;
    border-width: 1px;
    border-style: solid; }
  .compost-top__head__rule .not_recommended {
    color: #b83e45;
    border-color: #b83e45; }
  .compost-top__head__rule .possible_with_caution {
    color: #ff8f01;
    border-color: #ff8f01; }
  .compost-top__head__rule .allowed {
    color: #115328;
    border-color: #115328; }

.compost-bottom {
  margin-top: 40px; }
  .lt-ie9 .compost-bottom {
    display: flex; }
  @media all and (min-width: 720px) {
    .compost-bottom {
      display: flex; } }

.lt-ie9 .compost-bottom__left {
  flex: 0 0 230px;
  padding-right: 40px; }

@media all and (min-width: 720px) {
  .compost-bottom__left {
    flex: 0 0 230px;
    padding-right: 40px; } }

.lt-ie9 .compost-bottom__right {
  flex: 1 1 auto; }

@media all and (min-width: 720px) {
  .compost-bottom__right {
    flex: 1 1 auto; } }

.lt-ie9 .compost-bottom__right__rule {
  flex: 1 1 auto; }

@media all and (min-width: 720px) {
  .compost-bottom__right__rule {
    flex: 1 1 auto; } }

.compost-bottom__right__mark {
  font-weight: bold; }

#block-viewsexposedfilterblock .form--inline,
#block-viewsexposedfilterblock-2 .form--inline {
  display: flex;
  border: 1px solid #115328;
  padding: 0px 24px 24px;
  border-radius: 12px;
  background-color: #fafafa; }
  #block-viewsexposedfilterblock .form--inline input[type='text'],
  #block-viewsexposedfilterblock-2 .form--inline input[type='text'] {
    max-width: 100%; }
  #block-viewsexposedfilterblock .form--inline .form-item-text label,
  #block-viewsexposedfilterblock-2 .form--inline .form-item-text label {
    display: block;
    margin: 20px 0 9px;
    font-size: 15px; }
  #block-viewsexposedfilterblock .form--inline input.button,
  #block-viewsexposedfilterblock-2 .form--inline input.button {
    display: none; }
  #block-viewsexposedfilterblock .form--inline .form-type-search-api-autocomplete,
  #block-viewsexposedfilterblock-2 .form--inline .form-type-search-api-autocomplete {
    width: 100%; }
    .lt-ie9 #block-viewsexposedfilterblock .form--inline .form-type-search-api-autocomplete, .lt-ie9
    #block-viewsexposedfilterblock-2 .form--inline .form-type-search-api-autocomplete {
      width: 60%; }
    @media all and (min-width: 420px) {
      #block-viewsexposedfilterblock .form--inline .form-type-search-api-autocomplete,
      #block-viewsexposedfilterblock-2 .form--inline .form-type-search-api-autocomplete {
        width: 60%; } }
  #block-viewsexposedfilterblock .form--inline .form-actions,
  #block-viewsexposedfilterblock-2 .form--inline .form-actions {
    align-self: flex-end; }

#block-backtohomecomposting p {
  margin-top: 0; }

#block-backtohomecomposting a {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase; }
  #block-backtohomecomposting a:before {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    position: relative;
    top: 5px;
    font-size: 23px;
    transform: rotate(180deg); }
  #block-backtohomecomposting a:hover {
    color: #082914; }

#block-backcompostingguidebtn a {
  font-size: 15px;
  font-size: 1rem;
  background: #115328;
  border: 0;
  box-shadow: none;
  color: #fff;
  font-weight: 600;
  display: inline-block;
  line-height: 1;
  padding: 7px 10px 8px;
  text-decoration: none;
  text-shadow: none;
  text-transform: uppercase;
  transition: background 150ms linear, color 150ms linear;
  -o-transition: background 150ms linear, color 150ms linear;
  -ms-transition: background 150ms linear, color 150ms linear;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  padding: 15px 20px 15px 50px;
  position: relative;
  text-align: right;
  float: left; }
  #block-backcompostingguidebtn a.active, #block-backcompostingguidebtn a:hover, #block-backcompostingguidebtn a:focus {
    background: #4b4736;
    color: #fff;
    outline: none; }
  #block-backcompostingguidebtn a:before {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 24px;
    position: absolute;
    left: 15px;
    top: 50%;
    margin-top: -12px;
    transform: rotate(180deg); }

.js input.form-autocomplete {
  background-image: none;
  background-position: 100% center; }

.search-api-autocomplete-suggestion {
  padding: 12px 18px;
  position: relative;
  font-size: 14px; }
  .search-api-autocomplete-suggestion a span {
    display: inline-block; }
  .search-api-autocomplete-suggestion .autocomplete-suggestion-note {
    font-size: 14px; }
  .search-api-autocomplete-suggestion .autocomplete-suggestion-user-input {
    font-size: 14px;
    font-weight: normal; }

.search-api-autocomplete-search.ui-widget.ui-widget-content {
  border: 1px solid #dbdad7;
  border-top: 0; }

.search-api-autocomplete-search .ui-menu-item-wrapper {
  border: 0;
  color: #4b4736;
  margin: 0;
  padding: 0; }
  .search-api-autocomplete-search .ui-menu-item-wrapper.ui-state-active .search-api-autocomplete-suggestion {
    background: #86b817;
    color: #fff; }

.search-api-autocomplete-search .ui-menu-item {
  list-style-image: none; }
  .search-api-autocomplete-search .ui-menu-item:hover {
    background: #86b817;
    color: #fff; }

.search-api-autocomplete-search a {
  text-decoration: none; }

.ui-autocomplete .ui-menu-item .ui-menu-item-wrapper {
  padding: 0; }

.ui-autocomplete .ui-autocomplete-field-group {
  font-size: 14px;
  font-size: 0.93333rem;
  font-weight: 500;
  padding-top: 6px; }

.ui-autocomplete li.ui-menu-item {
  font-size: 15px;
  font-size: 1rem;
  color: #4b4736;
  border-bottom: 1px solid #dbdad7; }
  .ui-autocomplete li.ui-menu-item:last-child {
    border: 0; }

.ui-autocomplete .ui-menu-divider {
  display: none; }

.commerce-product.commerce-product--view-mode-full .group-header {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 100%;
  margin-right: 0;
  margin-bottom: 10px; }
  .commerce-product.commerce-product--view-mode-full .group-header:last-child {
    margin-right: 0; }

.commerce-product.commerce-product--view-mode-full .group-left {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 31.62393%; }
  .commerce-product.commerce-product--view-mode-full .group-left:last-child {
    margin-right: 0; }
  .commerce-product.commerce-product--view-mode-full .group-left img {
    height: auto;
    margin-top: 5px;
    width: 100%; }

.commerce-product.commerce-product--view-mode-full .group-right {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 100%;
  margin-right: 0; }
  .commerce-product.commerce-product--view-mode-full .group-right:last-child {
    margin-right: 0; }
  .commerce-product.commerce-product--view-mode-full .group-right p {
    margin-top: 0; }
  .commerce-product.commerce-product--view-mode-full .group-right .field__label {
    text-transform: uppercase;
    font-size: 14px;
    margin-top: 3em; }

.commerce-product.commerce-product--view-mode-full .group-left + .group-right {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 65.81197%;
  margin-right: 0; }
  .commerce-product.commerce-product--view-mode-full .group-left + .group-right:last-child {
    margin-right: 0; }

.commerce-product.commerce-product--view-mode-full .field__label {
  font-size: 12px;
  font-size: 0.8rem;
  display: inline-block;
  font-weight: 700;
  margin-top: 20px;
  text-transform: uppercase; }

.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-title,
.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .product--rendered-attribute legend {
  display: none; }

.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-price {
  font-weight: 600;
  font-size: 115%; }

.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-actions,
.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-price,
.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity {
  display: none; }

.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form.show_addtocart .form-actions,
.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form.show_addtocart .field--name-price,
.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form.show_addtocart .field--name-quantity {
  display: block; }

.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form.outofstock input.form-submit {
  background: #b4b8c9;
  cursor: default; }

.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-field-product-attachment .field__label,
.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-field-product-issuu .field__label {
  margin: 0 0 1em 0;
  text-transform: none;
  font-size: 15px;
  font-weight: 300; }

.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-field-product-attachment .issuu-embed,
.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-field-product-issuu .issuu-embed {
  height: 400px !important; }

.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity {
  margin: 2em 0; }
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label {
    border: 0;
    font-size: 14px;
    text-transform: uppercase;
    padding: 0;
    margin: 0 0 10px 0; }

.commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios {
  margin-top: 20px;
  padding-bottom: 25px;
  overflow: hidden;
  position: relative; }
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio {
    margin: 0 15px 0 0;
    display: block;
    float: left; }
    .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label {
      border: 0;
      border-bottom: 2px solid white;
      cursor: pointer;
      font-size: 14px;
      text-transform: uppercase;
      padding: 0 0 3px 0;
      margin: 0 0 10px 0; }
      .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label:hover {
        color: #b4b8c9; }
    .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .product--rendered-attribute__selected + label {
      border-bottom: 2px solid #115328;
      padding-bottom: 3px; }
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio:only-child label {
    cursor: default; }
    .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio:only-child label:hover, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio:only-child label:focus {
      color: #4b4736; }
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .ajax-progress {
    display: block;
    left: -6px;
    position: absolute;
    top: 25px; }

.commerce-product.commerce-product--view-mode-full .commerce-product__noprint-notification {
  font-weight: 600;
  margin: 1em 0 4em 0 !important; }

.commerce-product.commerce-product--view-mode-full .commerce-product__firstforfree-notification,
.commerce-product.commerce-product--view-mode-full .commerce-product__administrativecost-notification {
  padding-top: 3px;
  font-size: 80%; }

.commerce-product.commerce-product--view-mode-teaser {
  font-size: 10px; }
  .commerce-product.commerce-product--view-mode-teaser .commerce-product__box {
    border: 1px solid #dbdad7;
    display: block;
    margin-bottom: 5px;
    overflow: hidden;
    padding: 10px;
    position: relative;
    text-align: center;
    text-decoration: none !important; }
  .commerce-product.commerce-product--view-mode-teaser .commerce-product__image {
    box-sizing: border-box;
    display: block;
    margin: 0 auto;
    width: 100%;
    padding-bottom: 90%;
    position: relative; }
    .commerce-product.commerce-product--view-mode-teaser .commerce-product__image img {
      display: block;
      left: 50%;
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%); }
  .commerce-product.commerce-product--view-mode-teaser .commerce-product__title {
    box-sizing: border-box;
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    margin: 10px 0 0;
    padding: 0;
    text-decoration: none !important;
    width: 100%; }
  .commerce-product.commerce-product--view-mode-teaser .component-tags {
    margin-bottom: 0; }

.component-date,
.component-location {
  font-size: 12px;
  font-size: 0.8rem;
  display: inline-block;
  color: #115328;
  font-weight: 700;
  margin-bottom: 5px;
  text-transform: uppercase;
  text-decoration: underline;
  display: inline-block;
  text-decoration: none; }

.component-location {
  display: block; }

.component-date + .component-date {
  display: inline-block; }
  .component-date + .component-date .field-label-inline {
    display: inline; }

.fb-page {
  width: 100%; }
  .fb-page span,
  .fb-page iframe {
    width: 100% !important; }

.issuu-embed {
  height: 300px !important;
  max-width: 735px;
  margin: 0 auto; }
  @media all and (min-width: 720px) {
    .issuu-embed {
      height: 500px !important; } }
  .issuu-embed div + div {
    display: none; }

.field--name-field-magazine-issuu {
  background: #e6e6e6;
  margin-bottom: 40px; }

.component-link a {
  font-size: 12px;
  font-size: 0.8rem;
  display: inline-block;
  color: #115328;
  font-weight: 700;
  margin-bottom: 5px;
  text-transform: uppercase;
  text-decoration: underline; }

.social-share {
  list-style: none;
  margin: 50px 0 0;
  padding: 0; }
  .social-share li {
    display: inline-block;
    list-style: none; }
    .social-share li a {
      font-size: 12px;
      font-size: 0.8rem;
      display: inline-block;
      color: #115328;
      font-weight: 700;
      margin-bottom: 5px;
      text-transform: uppercase;
      text-decoration: underline;
      font-size: 12px;
      font-size: 0.8rem;
      color: #4b4736;
      text-decoration: none;
      margin: 0 10px 10px 0;
      padding: 10px 10px 1px 1px; }
      .social-share li a:before {
        float: left;
        font-size: 30px;
        margin-top: -8px;
        margin-right: 5px; }

.component-tags {
  font-size: 12px;
  font-size: 0.8rem;
  display: inline-block;
  color: #115328;
  font-weight: 700;
  margin-bottom: 5px;
  text-transform: uppercase;
  text-decoration: underline;
  font-size: 12px;
  font-size: 0.8rem;
  color: #4b4736;
  text-decoration: none;
  margin: 0 10px 5px 0; }

.ledenlijst-table {
  margin-bottom: 30px;
  text-align: left;
  font-size: 14px;
  width: 100%; }
  .ledenlijst-table tr {
    border-bottom: 1px solid #d2d1ce;
    border-top: 1px solid #d2d1ce; }
  .ledenlijst-table thead {
    text-transform: uppercase; }
  .ledenlijst-table th,
  .ledenlijst-table td {
    font-size: 13px;
    padding: 6px 10px 5px 10px; }
    .ledenlijst-table th:nth-child(1n),
    .ledenlijst-table td:nth-child(1n) {
      overflow: hidden; }
      .ledenlijst-table th:nth-child(1n) a,
      .ledenlijst-table td:nth-child(1n) a {
        display: block;
        padding-bottom: 100px;
        margin-bottom: -100px;
        position: relative;
        z-index: 5; }
        .lt-ie9 .ledenlijst-table th:nth-child(1n) a, .lt-ie9
        .ledenlijst-table td:nth-child(1n) a {
          position: inherit;
          display: inline;
          padding: 0;
          margin: 0; }
        @media all and (min-width: 720px) {
          .ledenlijst-table th:nth-child(1n) a,
          .ledenlijst-table td:nth-child(1n) a {
            position: inherit;
            display: inline;
            padding: 0;
            margin: 0; } }
    .ledenlijst-table th:nth-child(2n),
    .ledenlijst-table td:nth-child(2n) {
      text-align: center; }
    .ledenlijst-table th:nth-child(4n),
    .ledenlijst-table td:nth-child(4n) {
      display: none;
      text-align: left; }
    .lt-ie9 .ledenlijst-table th, .lt-ie9
    .ledenlijst-table td {
      display: table-cell !important;
      font-size: 14px;
      padding: 10px; }
    @media all and (min-width: 720px) {
      .ledenlijst-table th,
      .ledenlijst-table td {
        display: table-cell !important;
        font-size: 14px;
        padding: 10px; } }
  .ledenlijst-table th[ng-click*="setOrder"] {
    cursor: pointer; }
  .ledenlijst-table tbody tr:nth-child(even) {
    background-color: #f4f4f4;
    border-top: 0; }
  .ledenlijst-table img {
    height: 24px;
    width: 24px; }
    .lt-ie9 .ledenlijst-table img {
      height: 35px;
      width: 35px; }
    @media all and (min-width: 720px) {
      .ledenlijst-table img {
        height: 35px;
        width: 35px; } }
  .ledenlijst-table .iconlist {
    line-height: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center; }
    .ledenlijst-table .iconlist li {
      padding: 0;
      margin: 0;
      display: inline-block;
      line-height: 1; }
      .ledenlijst-table .iconlist li img {
        display: inline-block;
        line-height: 1;
        margin: 2px; }

.filters,
.node-location .item-list {
  zoom: 1;
  text-transform: uppercase;
  padding: 20px 0;
  margin: 20px 0; }
  .filters:after,
  .node-location .item-list:after {
    clear: both;
    content: ' ';
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden; }
  .filters .col-4,
  .node-location .item-list .col-4 {
    margin-bottom: 20px; }
    .lt-ie9 .filters .col-4, .lt-ie9
    .node-location .item-list .col-4 {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 48.71795%; }
      .lt-ie9 .filters .col-4:last-child, .lt-ie9
      .node-location .item-list .col-4:last-child {
        margin-right: 0; }
    @media all and (min-width: 720px) {
      .filters .col-4,
      .node-location .item-list .col-4 {
        float: left;
        display: block;
        margin-right: 2.5641%;
        width: 48.71795%; }
        .filters .col-4:last-child,
        .node-location .item-list .col-4:last-child {
          margin-right: 0; } }
  .filters h3, .filters .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .filters .field__label, .filters .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .filters label, .filters .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .filters label, .filters .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form .filters label, .filters .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .filters legend,
  .node-location .item-list h3,
  .node-location .item-list .commerce-product.commerce-product--view-mode-full .group-right .field__label,
  .commerce-product.commerce-product--view-mode-full .group-right .node-location .item-list .field__label,
  .node-location .item-list .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-location .item-list label,
  .node-location .item-list .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-location .item-list label,
  .node-location .item-list .view-webshop .views-exposed-form label,
  .view-webshop .views-exposed-form .node-location .item-list label,
  .node-location .item-list .path-checkout #edit-review-billing-information legend,
  .path-checkout #edit-review-billing-information .node-location .item-list legend {
    font-size: 14px; }
  .filters .row,
  .node-location .item-list .row {
    zoom: 1; }
    .filters .row:after,
    .node-location .item-list .row:after {
      clear: both;
      content: ' ';
      display: block;
      font-size: 0;
      height: 0;
      visibility: hidden; }
  .filters ul,
  .node-location .item-list ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .filters ul li,
    .node-location .item-list ul li {
      line-height: 1.1;
      margin-bottom: 5px;
      margin-right: 5px;
      padding: 5px 0 3px;
      position: relative;
      font-size: 13px; }
      .filters ul li .label-image,
      .node-location .item-list ul li .label-image {
        position: absolute;
        left: 0;
        top: 50%;
        margin-top: -18px;
        width: 35px;
        height: 35px; }
        .filters ul li .label-image img,
        .node-location .item-list ul li .label-image img {
          height: 35px;
          width: 35px; }
      .filters ul li .label-text,
      .node-location .item-list ul li .label-text {
        display: inline; }
      .filters ul li .label-image + .label-text,
      .node-location .item-list ul li .label-image + .label-text {
        display: inline-block;
        padding: 12px 0 10px 42px; }
      .filters ul li.has-check,
      .node-location .item-list ul li.has-check {
        margin-left: 25px; }
        .filters ul li.has-check input,
        .node-location .item-list ul li.has-check input {
          position: absolute;
          left: -24px;
          top: 50%;
          margin-top: -5px; }

.node-location .item-list {
  padding: 0;
  margin: 0; }

.map-window {
  position: relative; }
  .map-window header {
    margin-bottom: 0; }
    @media screen and (min-width: 920px) {
      .map-window header {
        min-height: 150px; } }
  .map-window .window-logo {
    display: none;
    width: 100px;
    position: absolute;
    top: 5px;
    right: 5px; }
    @media screen and (min-width: 920px) {
      .map-window .window-logo {
        display: block; } }
    .map-window .window-logo img {
      max-width: 100%; }
  .map-window .window-content {
    margin-bottom: 10px; }
    @media screen and (min-width: 920px) {
      .map-window .window-content {
        padding-right: 200px; } }
  .map-window p {
    margin: 0; }
  .map-window ul.products.personal,
  .map-window ul.moreinfo {
    zoom: 1;
    display: none;
    list-style: none;
    padding: 0;
    margin: 0; }
    .map-window ul.products.personal:after,
    .map-window ul.moreinfo:after {
      clear: both;
      content: ' ';
      display: block;
      font-size: 0;
      height: 0;
      visibility: hidden; }
    @media screen and (min-width: 920px) {
      .map-window ul.products.personal,
      .map-window ul.moreinfo {
        display: block; } }
    .map-window ul.products.personal li,
    .map-window ul.moreinfo li {
      padding: 0;
      float: left;
      margin-right: 5px; }
  .map-window ul.products {
    display: none;
    margin-top: 30px;
    margin-bottom: 5px; }
    @media screen and (min-width: 920px) {
      .map-window ul.products {
        display: block; } }
    .map-window ul.products.business {
      margin-bottom: 30px;
      padding: 0;
      list-style: none; }
    .map-window ul.products li img {
      max-width: 35px !important; }
  .map-window ul.moreinfo li img {
    max-width: 35px !important; }
  .map-window h1, .map-window .path-checkout .form-wrapper:first-child legend .fieldset-legend, .path-checkout .form-wrapper:first-child legend .map-window .fieldset-legend, .map-window .path-checkout fieldset legend, .path-checkout fieldset .map-window legend, .map-window .path-checkout #block-commerce-checkout-order-summary h2, .path-checkout #block-commerce-checkout-order-summary .map-window h2, .map-window .path-checkout #block-commerce-checkout-order-summary .form-wrapper legend .fieldset-legend, .path-checkout #block-commerce-checkout-order-summary .form-wrapper legend .map-window .fieldset-legend, .map-window .path-checkout .form-wrapper legend #block-commerce-checkout-order-summary .fieldset-legend, .path-checkout .form-wrapper legend #block-commerce-checkout-order-summary .map-window .fieldset-legend, .map-window .path-search h2, .path-search .map-window h2, .map-window .path-search .path-checkout .form-wrapper legend .fieldset-legend, .path-search .path-checkout .form-wrapper legend .map-window .fieldset-legend, .map-window .path-checkout .form-wrapper legend .path-search .fieldset-legend, .path-checkout .form-wrapper legend .path-search .map-window .fieldset-legend {
    font-size: 16px; }
  .map-window .vlaco-label {
    position: absolute;
    right: -30px;
    bottom: 5px;
    width: 25px; }
    @media screen and (min-width: 920px) {
      .map-window .vlaco-label {
        width: 60px; } }

.gm-style-iw {
  overflow: visible !important; }
  .gm-style-iw > div {
    overflow: visible !important; }

.order-caret {
  position: relative;
  top: -2px; }
  .order-caret .st0 {
    fill: #d3d3d3; }
  .order-caret.active .st0 {
    fill: #115328; }

.block-origin-json-gmap.contextual-region {
  position: static; }
  .block-origin-json-gmap.contextual-region .contextual {
    display: none; }

.angular-google-map-container {
  display: none;
  left: 0;
  position: absolute;
  right: 0; }
  @media screen and (min-width: 720px) {
    .angular-google-map-container {
      display: block;
      height: 320px;
      top: 52px; } }
  @media screen and (min-width: 920px) {
    .angular-google-map-container {
      display: block;
      height: 500px;
      top: 152px; } }

@media screen and (min-width: 720px) {
  .locationfinder .banner {
    display: none; } }

@media screen and (min-width: 720px) {
  .locationfinder .content {
    padding-top: 320px; } }

@media screen and (min-width: 920px) {
  .locationfinder .content {
    padding-top: 500px; } }

.select-style {
  padding: 0;
  margin: 0;
  border: 1px solid #ccc;
  width: 170px;
  border-radius: 3px;
  overflow: hidden;
  background-color: #fff;
  background: #fff url("../img/arrowdown.gif") no-repeat 100% 50%; }

.select-style select {
  padding: 5px 8px;
  width: 100%;
  border: 0;
  box-shadow: none;
  background-color: transparent;
  background-image: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.select-style select:focus {
  outline: none; }

.storelocator-comments {
  display: inline;
  margin-left: 6px;
  position: relative;
  top: 2px; }

.storelocator-comments__icon {
  display: inline-block;
  height: 16px;
  width: 16px; }
  .storelocator-comments__icon:before {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #dbdad7;
    font-size: 16px; }

.storelocator-comments__tooltip {
  background: white;
  border: 1px solid #dbdad7;
  display: block;
  left: -9px;
  opacity: 0;
  padding: 10px 16px 10px 36px;
  position: absolute;
  text-transform: none;
  top: -10px;
  visibility: hidden;
  width: 200px;
  z-index: 999;
  transition: visibility 150ms linear, opacity 150ms linear;
  -o-transition: visibility 150ms linear, opacity 150ms linear;
  -ms-transition: visibility 150ms linear, opacity 150ms linear; }
  .storelocator-comments__tooltip:before {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #dbdad7;
    font-size: 16px;
    left: 8px;
    position: absolute;
    top: 8px; }
  .storelocator-comments__tooltip:after {
    content: " ";
    position: absolute;
    z-index: 998;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: -3px;
    border: 2px solid #ffffff; }

.storelocator-comments:hover .storelocator-comments__tooltip {
  opacity: 1;
  visibility: visible; }

.storelocator-filter--location {
  overflow: hidden; }
  .storelocator-filter--location input#citiesAutocomplete {
    background: #fff;
    border: 1px solid #dbdad7;
    box-sizing: border-box;
    border-radius: 2px;
    padding: 10px;
    width: 100%;
    min-width: 60px;
    float: left;
    margin: 0 10px 0 0;
    padding: 10px;
    width: 240px; }
    .lt-ie9 .storelocator-filter--location input#citiesAutocomplete {
      max-width: 50%;
      min-width: 60px; }
    @media all and (min-width: 420px) {
      .storelocator-filter--location input#citiesAutocomplete {
        max-width: 50%;
        min-width: 60px; } }
    .storelocator-filter--location input#citiesAutocomplete:focus {
      border-color: #4b4736;
      outline: none; }
  .storelocator-filter--location .select-style {
    border: 1px solid #dbdad7;
    border-radius: 2px;
    box-sizing: border-box;
    height: 42px;
    float: left;
    margin: 0 10px 0 0;
    width: 100px; }
    .storelocator-filter--location .select-style select {
      margin: 0;
      outline: none;
      padding: 10px; }
  .storelocator-filter--location button {
    font-size: 15px;
    font-size: 1rem;
    background: #115328;
    border: 0;
    box-shadow: none;
    color: #fff;
    font-weight: 600;
    display: inline-block;
    line-height: 1;
    padding: 7px 10px 8px;
    text-decoration: none;
    text-shadow: none;
    text-transform: uppercase;
    transition: background 150ms linear, color 150ms linear;
    -o-transition: background 150ms linear, color 150ms linear;
    -ms-transition: background 150ms linear, color 150ms linear;
    -webkit-font-smoothing: antialiased;
    float: left;
    margin: 0 10px 0 0;
    padding: 0 20px;
    height: 42px; }
    .storelocator-filter--location button.active, .storelocator-filter--location button:hover, .storelocator-filter--location button:focus {
      background: #4b4736;
      color: #fff;
      outline: none; }

/* HIDE ITEMS ON MOBILE */
.locationfinder .block-origin-json-gmap-personal .filters .col-4.extra-info,
.locationfinder .block-origin-json-gmap-business .filters .col-4.producten {
  display: none; }
  @media screen and (min-width: 720px) {
    .locationfinder .block-origin-json-gmap-personal .filters .col-4.extra-info,
    .locationfinder .block-origin-json-gmap-business .filters .col-4.producten {
      display: block; } }

.locationfinder .content .container {
  padding: 0; }
  .locationfinder .content .container h1, .locationfinder .content .container .path-checkout .form-wrapper:first-child legend .fieldset-legend, .path-checkout .form-wrapper:first-child legend .locationfinder .content .container .fieldset-legend, .locationfinder .content .container .path-checkout fieldset legend, .path-checkout fieldset .locationfinder .content .container legend, .locationfinder .content .container .path-checkout #block-commerce-checkout-order-summary h2, .path-checkout #block-commerce-checkout-order-summary .locationfinder .content .container h2, .locationfinder .content .container .path-checkout #block-commerce-checkout-order-summary .form-wrapper legend .fieldset-legend, .path-checkout #block-commerce-checkout-order-summary .form-wrapper legend .locationfinder .content .container .fieldset-legend, .locationfinder .content .container .path-checkout .form-wrapper legend #block-commerce-checkout-order-summary .fieldset-legend, .path-checkout .form-wrapper legend #block-commerce-checkout-order-summary .locationfinder .content .container .fieldset-legend, .locationfinder .content .container .path-search h2, .path-search .locationfinder .content .container h2, .locationfinder .content .container .path-search .path-checkout .form-wrapper legend .fieldset-legend, .path-search .path-checkout .form-wrapper legend .locationfinder .content .container .fieldset-legend, .locationfinder .content .container .path-checkout .form-wrapper legend .path-search .fieldset-legend, .path-checkout .form-wrapper legend .path-search .locationfinder .content .container .fieldset-legend,
  .locationfinder .content .container .filters,
  .locationfinder .content .container .social-share {
    padding-left: 15px;
    padding-right: 15px; }
  @media screen and (min-width: 720px) {
    .locationfinder .content .container {
      padding: 0 15px; }
      .locationfinder .content .container h1, .locationfinder .content .container .path-checkout .form-wrapper:first-child legend .fieldset-legend, .path-checkout .form-wrapper:first-child legend .locationfinder .content .container .fieldset-legend, .locationfinder .content .container .path-checkout fieldset legend, .path-checkout fieldset .locationfinder .content .container legend, .locationfinder .content .container .path-checkout #block-commerce-checkout-order-summary h2, .path-checkout #block-commerce-checkout-order-summary .locationfinder .content .container h2, .locationfinder .content .container .path-checkout #block-commerce-checkout-order-summary .form-wrapper legend .fieldset-legend, .path-checkout #block-commerce-checkout-order-summary .form-wrapper legend .locationfinder .content .container .fieldset-legend, .locationfinder .content .container .path-checkout .form-wrapper legend #block-commerce-checkout-order-summary .fieldset-legend, .path-checkout .form-wrapper legend #block-commerce-checkout-order-summary .locationfinder .content .container .fieldset-legend, .locationfinder .content .container .path-search h2, .path-search .locationfinder .content .container h2, .locationfinder .content .container .path-search .path-checkout .form-wrapper legend .fieldset-legend, .path-search .path-checkout .form-wrapper legend .locationfinder .content .container .fieldset-legend, .locationfinder .content .container .path-checkout .form-wrapper legend .path-search .fieldset-legend, .path-checkout .form-wrapper legend .path-search .locationfinder .content .container .fieldset-legend,
      .locationfinder .content .container .filters,
      .locationfinder .content .container .social-share {
        padding-left: 0;
        padding-right: 0; } }

.contact-message-co2-calculator-form .form-item-field-co2-type-gft-compost label {
  font-size: 0; }

.contact-message-compost-calculator-form .field--type-decimal {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 48.71795%;
  margin-bottom: 2.5641%; }
  .contact-message-compost-calculator-form .field--type-decimal:last-child {
    margin-right: 0; }
  .contact-message-compost-calculator-form .field--type-decimal:nth-child(2n) {
    margin-right: 0; }
  .contact-message-compost-calculator-form .field--type-decimal:nth-child(2n + 1) {
    clear: both; }
  .lt-ie9 .contact-message-compost-calculator-form .field--type-decimal {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 31.62393%; }
    .lt-ie9 .contact-message-compost-calculator-form .field--type-decimal:last-child {
      margin-right: 0; }
    .lt-ie9 .contact-message-compost-calculator-form .field--type-decimal:nth-child(2n) {
      margin-right: 2.5641%; }
    .lt-ie9 .contact-message-compost-calculator-form .field--type-decimal:nth-child(2n + 1) {
      clear: none; }
    .lt-ie9 .contact-message-compost-calculator-form .field--type-decimal:nth-child(3n) {
      margin-right: 0; }
    .lt-ie9 .contact-message-compost-calculator-form .field--type-decimal:nth-child(3n + 1) {
      clear: both; }
  @media all and (min-width: 720px) {
    .contact-message-compost-calculator-form .field--type-decimal {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 31.62393%; }
      .contact-message-compost-calculator-form .field--type-decimal:last-child {
        margin-right: 0; }
      .contact-message-compost-calculator-form .field--type-decimal:nth-child(2n) {
        margin-right: 2.5641%; }
      .contact-message-compost-calculator-form .field--type-decimal:nth-child(2n + 1) {
        clear: none; }
      .contact-message-compost-calculator-form .field--type-decimal:nth-child(3n) {
        margin-right: 0; }
      .contact-message-compost-calculator-form .field--type-decimal:nth-child(3n + 1) {
        clear: both; } }
  .contact-message-compost-calculator-form .field--type-decimal .compost-container {
    background-image: url("../img/compost-grondwerken.png");
    background-size: cover;
    height: 124px;
    position: relative; }
    .contact-message-compost-calculator-form .field--type-decimal .compost-container div {
      width: 100%;
      height: 124px;
      background: rgba(150, 150, 150, 0.5); }
    .contact-message-compost-calculator-form .field--type-decimal .compost-container input,
    .contact-message-compost-calculator-form .field--type-decimal .compost-container .field-suffix {
      background: #fff;
      box-sizing: border-box;
      height: 40px;
      margin-top: -20px;
      position: absolute;
      text-align: center;
      top: 50%; }
    .contact-message-compost-calculator-form .field--type-decimal .compost-container input {
      font-size: 18px;
      font-size: 1.2rem;
      border: 0;
      border-radius: 0;
      font-weight: bold;
      left: 50%;
      margin-left: -60px;
      max-width: 100%;
      padding: 10px 0 10px 25px;
      width: 85px; }
    .contact-message-compost-calculator-form .field--type-decimal .compost-container .field-suffix {
      font-size: 12px;
      font-size: 0.8rem;
      margin-right: -60px;
      padding: 13px 10px 0 0;
      right: 50%;
      text-align: right;
      width: 35px; }
    .contact-message-compost-calculator-form .field--type-decimal .compost-container.compost-grondwerken {
      background-image: url("../img/compost-grondwerken.png"); }
    .contact-message-compost-calculator-form .field--type-decimal .compost-container.compost-struiken {
      background-image: url("../img/compost-struiken.png"); }
    .contact-message-compost-calculator-form .field--type-decimal .compost-container.compost-bloemperken {
      background-image: url("../img/compost-bloemperken.png"); }
    .contact-message-compost-calculator-form .field--type-decimal .compost-container.compost-gazon {
      background-image: url("../img/compost-gazon.png"); }
    .contact-message-compost-calculator-form .field--type-decimal .compost-container.compost-moestuin {
      background-image: url("../img/compost-moestuin.png"); }
    .contact-message-compost-calculator-form .field--type-decimal .compost-container.compost-fruittuin {
      background-image: url("../img/compost-fruittuin.png"); }
  .contact-message-compost-calculator-form .field--type-decimal label {
    font-size: 12px;
    font-size: 0.8rem;
    text-align: center;
    margin: 5px 0; }

.contact-message-compost-calculator-form .form-actions {
  clear: both;
  float: right; }

.compost-results {
  margin-top: 30px;
  overflow: hidden; }

.lt-ie9 .compost-results__header {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 31.62393%;
  margin-right: 0;
  float: right; }
  .lt-ie9 .compost-results__header:last-child {
    margin-right: 0; }

@media all and (min-width: 420px) {
  .compost-results__header {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 31.62393%;
    margin-right: 0;
    float: right; }
    .compost-results__header:last-child {
      margin-right: 0; } }

.compost-results__header__cat1,
.compost-results__header__cat2 {
  float: left;
  display: block;
  margin-right: 8.10811%;
  width: 45.94595%;
  display: none;
  margin-bottom: 10px;
  text-align: center; }
  .compost-results__header__cat1:last-child,
  .compost-results__header__cat2:last-child {
    margin-right: 0; }
  .lt-ie9 .compost-results__header__cat1, .lt-ie9
  .compost-results__header__cat2 {
    display: block; }
  @media all and (min-width: 420px) {
    .compost-results__header__cat1,
    .compost-results__header__cat2 {
      display: block; } }
  .compost-results__header__cat1 img,
  .compost-results__header__cat2 img {
    width: 32px;
    height: 32px; }

.compost-results__row {
  clear: both;
  margin-bottom: 20px;
  overflow: hidden; }

.compost-results__label {
  float: left;
  font-weight: bold; }
  .lt-ie9 .compost-results__label {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 48.71795%; }
    .lt-ie9 .compost-results__label:last-child {
      margin-right: 0; }
  @media all and (min-width: 420px) {
    .compost-results__label {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 48.71795%; }
      .compost-results__label:last-child {
        margin-right: 0; } }
  .compost-results__label .documentation {
    font-weight: normal; }

.compost-results__surface {
  float: left;
  font-weight: bold;
  margin-left: 5px; }
  .lt-ie9 .compost-results__surface {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 14.52991%;
    font-weight: 300;
    margin-right: 2.5641%;
    margin-left: 0;
    text-align: center; }
    .lt-ie9 .compost-results__surface:last-child {
      margin-right: 0; }
  @media all and (min-width: 420px) {
    .compost-results__surface {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 14.52991%;
      font-weight: 300;
      margin-right: 2.5641%;
      margin-left: 0;
      text-align: center; }
      .compost-results__surface:last-child {
        margin-right: 0; } }
  .compost-results__surface::before {
    content: ' - '; }
    .lt-ie9 .compost-results__surface::before {
      display: none; }
    @media all and (min-width: 420px) {
      .compost-results__surface::before {
        display: none; } }

.compost-results__cat1 {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 31.62393%;
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 20px;
  box-sizing: border-box;
  padding-left: 30px;
  padding-top: 4px;
  background-image: url("/modules/custom/origin_json_gmap/app/assets/img/product--groencompost.png");
  clear: both; }
  .compost-results__cat1:last-child {
    margin-right: 0; }
  .compost-results__cat1 small {
    display: none; }
  .lt-ie9 .compost-results__cat1 {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 14.52991%;
    background: none !important;
    padding-left: 0;
    padding-top: 0;
    text-align: center; }
    .lt-ie9 .compost-results__cat1:last-child {
      margin-right: 0; }
    .lt-ie9 .compost-results__cat1 small {
      display: block; }
  @media all and (min-width: 420px) {
    .compost-results__cat1 {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 14.52991%;
      background: none !important;
      padding-left: 0;
      padding-top: 0;
      text-align: center; }
      .compost-results__cat1:last-child {
        margin-right: 0; }
      .compost-results__cat1 small {
        display: block; } }
  .lt-ie9 .compost-results__cat1 {
    clear: none; }
  @media all and (min-width: 420px) {
    .compost-results__cat1 {
      clear: none; } }

.compost-results__cat2 {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 31.62393%;
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 20px;
  box-sizing: border-box;
  padding-left: 30px;
  padding-top: 4px;
  background-image: url("/modules/custom/origin_json_gmap/app/assets/img/product--gftcompost.png"); }
  .compost-results__cat2:last-child {
    margin-right: 0; }
  .compost-results__cat2 small {
    display: none; }
  .lt-ie9 .compost-results__cat2 {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 14.52991%;
    background: none !important;
    padding-left: 0;
    padding-top: 0;
    text-align: center; }
    .lt-ie9 .compost-results__cat2:last-child {
      margin-right: 0; }
    .lt-ie9 .compost-results__cat2 small {
      display: block; }
  @media all and (min-width: 420px) {
    .compost-results__cat2 {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 14.52991%;
      background: none !important;
      padding-left: 0;
      padding-top: 0;
      text-align: center; }
      .compost-results__cat2:last-child {
        margin-right: 0; }
      .compost-results__cat2 small {
        display: block; } }

.compost-results__cat3 {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 31.62393%;
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 20px;
  box-sizing: border-box;
  padding-left: 30px;
  padding-top: 4px;
  margin-right: 0;
  background-image: url("/modules/custom/origin_json_gmap/app/assets/img/product--gftcompost-nacompostering.png"); }
  .compost-results__cat3:last-child {
    margin-right: 0; }
  .compost-results__cat3 small {
    display: none; }
  .lt-ie9 .compost-results__cat3 {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 14.52991%;
    background: none !important;
    padding-left: 0;
    padding-top: 0;
    text-align: center; }
    .lt-ie9 .compost-results__cat3:last-child {
      margin-right: 0; }
    .lt-ie9 .compost-results__cat3 small {
      display: block; }
  @media all and (min-width: 420px) {
    .compost-results__cat3 {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 14.52991%;
      background: none !important;
      padding-left: 0;
      padding-top: 0;
      text-align: center; }
      .compost-results__cat3:last-child {
        margin-right: 0; }
      .compost-results__cat3 small {
        display: block; } }

.compost-results__total {
  margin-bottom: 50px;
  overflow: hidden; }

.compost-results__total__label {
  border-top-style: solid;
  border-width: 2px;
  font-weight: 500;
  padding-top: 10px !important;
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 65.81197%;
  border-color: #4b4736;
  display: none;
  font-weight: bold; }
  .compost-results__total__label:last-child {
    margin-right: 0; }
  .lt-ie9 .compost-results__total__label {
    display: block; }
  @media all and (min-width: 420px) {
    .compost-results__total__label {
      display: block; } }

.compost-results__total__cat1 {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 31.62393%;
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 20px;
  box-sizing: border-box;
  padding-left: 30px;
  padding-top: 4px;
  border-top-style: solid;
  border-width: 2px;
  font-weight: 500;
  padding-top: 10px !important;
  border-color: #006d2c; }
  .compost-results__total__cat1:last-child {
    margin-right: 0; }
  .compost-results__total__cat1 small {
    display: none; }
  .lt-ie9 .compost-results__total__cat1 {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 14.52991%;
    background: none !important;
    padding-left: 0;
    padding-top: 0;
    text-align: center; }
    .lt-ie9 .compost-results__total__cat1:last-child {
      margin-right: 0; }
    .lt-ie9 .compost-results__total__cat1 small {
      display: block; }
  @media all and (min-width: 420px) {
    .compost-results__total__cat1 {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 14.52991%;
      background: none !important;
      padding-left: 0;
      padding-top: 0;
      text-align: center; }
      .compost-results__total__cat1:last-child {
        margin-right: 0; }
      .compost-results__total__cat1 small {
        display: block; } }

.compost-results__total__cat2 {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 31.62393%;
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 20px;
  box-sizing: border-box;
  padding-left: 30px;
  padding-top: 4px;
  border-top-style: solid;
  border-width: 2px;
  font-weight: 500;
  padding-top: 10px !important;
  border-color: #bf5025; }
  .compost-results__total__cat2:last-child {
    margin-right: 0; }
  .compost-results__total__cat2 small {
    display: none; }
  .lt-ie9 .compost-results__total__cat2 {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 14.52991%;
    background: none !important;
    padding-left: 0;
    padding-top: 0;
    text-align: center; }
    .lt-ie9 .compost-results__total__cat2:last-child {
      margin-right: 0; }
    .lt-ie9 .compost-results__total__cat2 small {
      display: block; }
  @media all and (min-width: 420px) {
    .compost-results__total__cat2 {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 14.52991%;
      background: none !important;
      padding-left: 0;
      padding-top: 0;
      text-align: center; }
      .compost-results__total__cat2:last-child {
        margin-right: 0; }
      .compost-results__total__cat2 small {
        display: block; } }

.compost-results__total__cat3 {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 31.62393%;
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 20px;
  box-sizing: border-box;
  padding-left: 30px;
  padding-top: 4px;
  border-top-style: solid;
  border-width: 2px;
  font-weight: 500;
  padding-top: 10px !important;
  margin-right: 0;
  border-color: #f39825; }
  .compost-results__total__cat3:last-child {
    margin-right: 0; }
  .compost-results__total__cat3 small {
    display: none; }
  .lt-ie9 .compost-results__total__cat3 {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 14.52991%;
    background: none !important;
    padding-left: 0;
    padding-top: 0;
    text-align: center; }
    .lt-ie9 .compost-results__total__cat3:last-child {
      margin-right: 0; }
    .lt-ie9 .compost-results__total__cat3 small {
      display: block; }
  @media all and (min-width: 420px) {
    .compost-results__total__cat3 {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 14.52991%;
      background: none !important;
      padding-left: 0;
      padding-top: 0;
      text-align: center; }
      .compost-results__total__cat3:last-child {
        margin-right: 0; }
      .compost-results__total__cat3 small {
        display: block; } }

.compost-results__legenda {
  font-size: 12px;
  font-size: 0.8rem;
  margin-bottom: 40px; }
  .lt-ie9 .compost-results__legenda {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 48.71795%; }
    .lt-ie9 .compost-results__legenda:last-child {
      margin-right: 0; }
  @media all and (min-width: 420px) {
    .compost-results__legenda {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 48.71795%; }
      .compost-results__legenda:last-child {
        margin-right: 0; } }

.compost-results__legenda__cat1,
.compost-results__legenda__cat2,
.compost-results__legenda__cat3,
.compost-results__k-garden-mulch {
  box-sizing: border-box;
  padding: 4px 0; }
  .compost-results__legenda__cat1 img,
  .compost-results__legenda__cat2 img,
  .compost-results__legenda__cat3 img,
  .compost-results__k-garden-mulch img {
    bottom: -2px;
    height: 16px;
    margin-right: 3px;
    position: relative;
    width: 16px; }

.compost-results__k-garden-mulch {
  margin-top: 80px; }

.compost-results__cta a {
  font-size: 15px;
  font-size: 1rem;
  background: #115328;
  border: 0;
  box-shadow: none;
  color: #fff;
  font-weight: 600;
  display: inline-block;
  line-height: 1;
  padding: 7px 10px 8px;
  text-decoration: none;
  text-shadow: none;
  text-transform: uppercase;
  transition: background 150ms linear, color 150ms linear;
  -o-transition: background 150ms linear, color 150ms linear;
  -ms-transition: background 150ms linear, color 150ms linear;
  -webkit-font-smoothing: antialiased;
  margin: 16px 0;
  display: block;
  margin-bottom: 10px;
  text-align: center; }
  .compost-results__cta a.active, .compost-results__cta a:hover, .compost-results__cta a:focus {
    background: #4b4736;
    color: #fff;
    outline: none; }
  .lt-ie9 .compost-results__cta a {
    margin: 16px 10px;
    display: inline-block; }
  @media all and (min-width: 420px) {
    .compost-results__cta a {
      margin: 16px 10px;
      display: inline-block; } }

.path-compost-calculator .messages--status {
  display: none; }

.compost-results__k-garden-mulch-label {
  margin-top: 16px;
  font-weight: bold; }

.compost-results__k-garden-mulch-text {
  margin-top: 5px; }

.results-co2 {
  font-weight: bold; }

.compost-results__row--first {
  padding-top: 30px; }

.compost-results__label--co2 {
  padding-right: 5px; }

.contact-message-dima-calculator-form h2, .contact-message-dima-calculator-form .path-checkout .form-wrapper legend .fieldset-legend, .path-checkout .form-wrapper legend .contact-message-dima-calculator-form .fieldset-legend {
  border-bottom: 1px solid #dbdad7;
  clear: both;
  color: #115328;
  padding-bottom: 30px;
  padding-top: 30px;
  margin: 0; }

.contact-message-dima-calculator-form .fieldgroup {
  border-bottom: 1px solid #dbdad7;
  padding: 25px 0 20px; }

.contact-message-dima-calculator-form .field-custom {
  clear: both;
  overflow: hidden; }

.contact-message-dima-calculator-form label {
  clear: both;
  font-size: 15px;
  margin: 0; }

.contact-message-dima-calculator-form .form-type-textfield input,
.contact-message-dima-calculator-form .form-type-number input {
  margin: .5em 10px 1em 0;
  width: 150px; }

.contact-message-dima-calculator-form .form-type-textfield .field-suffix,
.contact-message-dima-calculator-form .form-type-number .field-suffix {
  display: inline-block;
  padding-top: 17px; }

.contact-message-dima-calculator-form .form-type-select select {
  margin: .5em 10px 1em 0;
  width: 200px; }

.contact-message-dima-calculator-form .form-type-checkbox label {
  font-weight: 300;
  position: relative;
  top: 1px; }

.contact-message-dima-calculator-form .field--name-field-dima-samenstelling-mest label,
.contact-message-dima-calculator-form .field--name-field-dima-samenstelling-oba label,
.contact-message-dima-calculator-form .field--name-field-dima-samenstelling-eg label {
  display: none; }

.contact-message-dima-calculator-form .field--name-field-dima-droge-stof label,
.contact-message-dima-calculator-form .field--name-field-dima-additief-type label,
.contact-message-dima-calculator-form .field--name-field-dima-additief-droge-stof label,
.contact-message-dima-calculator-form .field--name-field-dima-perc-digistaat-drogen label {
  margin-top: 1.5em; }

.contact-message-dima-calculator-form .field--name-field-dima-droge-stof label,
.contact-message-dima-calculator-form .field--name-field-dima-n-tot label,
.contact-message-dima-calculator-form .field--name-field-dima-p-tot-als-p2o5 label,
.contact-message-dima-calculator-form .field--name-field-dima-zoutgehalte-ec label,
.contact-message-dima-calculator-form .field--name-field-dima-additief-type label,
.contact-message-dima-calculator-form .field--name-field-dima-additief-kost label,
.contact-message-dima-calculator-form .field--name-field-dima-additief-hoeveelheid label,
.contact-message-dima-calculator-form .field--name-field-dima-additief-droge-stof label,
.contact-message-dima-calculator-form .field--name-field-dima-additief-n-tot label,
.contact-message-dima-calculator-form .field--name-field-dima-additief-p-tot-p2o5 label,
.contact-message-dima-calculator-form .field--name-field-dima-additief-zoutgehalte label {
  font-weight: 600; }

.contact-message-dima-calculator-form .field--name-field-dima-additief-toevoegen label {
  font-weight: 700;
  margin-top: 0;
  top: 2px; }

.contact-message-dima-calculator-form .form-actions {
  padding-top: 30px; }

.contact-message-dima-calculator-form #edit-field-dima-additief-type-wrapper,
.contact-message-dima-calculator-form #edit-field-dima-additief-kost-wrapper,
.contact-message-dima-calculator-form #edit-field-dima-additief-hoeveelheid-wrapper,
.contact-message-dima-calculator-form #samenstelling-additief > label,
.contact-message-dima-calculator-form #edit-field-dima-additief-droge-stof-wrapper,
.contact-message-dima-calculator-form #edit-field-dima-additief-n-tot-wrapper,
.contact-message-dima-calculator-form #edit-field-dima-additief-p-tot-p2o5-wrapper,
.contact-message-dima-calculator-form #edit-field-dima-additief-zoutgehalte-wrapper {
  display: none; }

.contact-message-dima-calculator-form #samenstelling-additief {
  border-bottom: 0;
  padding: 0; }
  .contact-message-dima-calculator-form #samenstelling-additief > label {
    padding-top: 25px; }
  .contact-message-dima-calculator-form #samenstelling-additief .field--name-field-dima-additief-zoutgehalte {
    border-bottom: 1px solid #dbdad7;
    padding-bottom: 20px; }

.dima-results {
  margin-top: 30px;
  overflow: hidden;
  position: relative !important; }

.lt-ie9 .dima-results__header {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 48.71795%;
  margin-right: 0;
  float: right; }
  .lt-ie9 .dima-results__header:last-child {
    margin-right: 0; }

@media all and (min-width: 420px) {
  .dima-results__header {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 48.71795%;
    margin-right: 0;
    float: right; }
    .dima-results__header:last-child {
      margin-right: 0; } }

.dima-results__header__cat1,
.dima-results__header__cat2,
.dima-results__header__cat3,
.dima-results__header__cat4 {
  float: left;
  display: block;
  margin-right: 5.26316%;
  width: 29.82456%;
  display: block;
  font-weight: bold;
  margin-bottom: 10px;
  text-align: center; }
  .dima-results__header__cat1:last-child,
  .dima-results__header__cat2:last-child,
  .dima-results__header__cat3:last-child,
  .dima-results__header__cat4:last-child {
    margin-right: 0; }

.dima-results__row,
.dima-results__total {
  clear: both;
  margin-bottom: 20px;
  overflow: hidden; }
  .dima-results__row h3, .dima-results__row .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .dima-results__row .field__label, .dima-results__row .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .dima-results__row label, .dima-results__row .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .dima-results__row label, .dima-results__row .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form .dima-results__row label, .dima-results__row .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .dima-results__row legend,
  .dima-results__total h3,
  .dima-results__total .commerce-product.commerce-product--view-mode-full .group-right .field__label,
  .commerce-product.commerce-product--view-mode-full .group-right .dima-results__total .field__label,
  .dima-results__total .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .dima-results__total label,
  .dima-results__total .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label,
  .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .dima-results__total label,
  .dima-results__total .view-webshop .views-exposed-form label,
  .view-webshop .views-exposed-form .dima-results__total label,
  .dima-results__total .path-checkout #edit-review-billing-information legend,
  .path-checkout #edit-review-billing-information .dima-results__total legend {
    font-size: 18px;
    margin-top: 50px; }

.dima-results__header + .dima-results__row > h3, .commerce-product.commerce-product--view-mode-full .group-right .dima-results__header + .dima-results__row > .field__label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .dima-results__header + .dima-results__row > label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .dima-results__header + .dima-results__row > label, .view-webshop .views-exposed-form .dima-results__header + .dima-results__row > label, .path-checkout #edit-review-billing-information .dima-results__header + .dima-results__row > legend {
  margin-top: 0; }

.dima-results__label {
  font-weight: bold; }
  .lt-ie9 .dima-results__label {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 48.71795%;
    font-weight: 500; }
    .lt-ie9 .dima-results__label:last-child {
      margin-right: 0; }
  @media all and (min-width: 420px) {
    .dima-results__label {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 48.71795%;
      font-weight: 500; }
      .dima-results__label:last-child {
        margin-right: 0; } }

.dima-results__cat1,
.dima-results__cat2,
.dima-results__cat3,
.dima-results__cat4,
.dima-results__empty {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 31.62393%;
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 20px;
  box-sizing: border-box;
  padding-left: 30px;
  padding-top: 4px; }
  .dima-results__cat1:last-child,
  .dima-results__cat2:last-child,
  .dima-results__cat3:last-child,
  .dima-results__cat4:last-child,
  .dima-results__empty:last-child {
    margin-right: 0; }
  .dima-results__cat1 small,
  .dima-results__cat2 small,
  .dima-results__cat3 small,
  .dima-results__cat4 small,
  .dima-results__empty small {
    display: none; }
  .lt-ie9 .dima-results__cat1, .lt-ie9
  .dima-results__cat2, .lt-ie9
  .dima-results__cat3, .lt-ie9
  .dima-results__cat4, .lt-ie9
  .dima-results__empty {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 14.52991%;
    background: none !important;
    padding-left: 0;
    padding-top: 0;
    text-align: center; }
    .lt-ie9 .dima-results__cat1:last-child, .lt-ie9
    .dima-results__cat2:last-child, .lt-ie9
    .dima-results__cat3:last-child, .lt-ie9
    .dima-results__cat4:last-child, .lt-ie9
    .dima-results__empty:last-child {
      margin-right: 0; }
    .lt-ie9 .dima-results__cat1 small, .lt-ie9
    .dima-results__cat2 small, .lt-ie9
    .dima-results__cat3 small, .lt-ie9
    .dima-results__cat4 small, .lt-ie9
    .dima-results__empty small {
      display: block; }
  @media all and (min-width: 420px) {
    .dima-results__cat1,
    .dima-results__cat2,
    .dima-results__cat3,
    .dima-results__cat4,
    .dima-results__empty {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 14.52991%;
      background: none !important;
      padding-left: 0;
      padding-top: 0;
      text-align: center; }
      .dima-results__cat1:last-child,
      .dima-results__cat2:last-child,
      .dima-results__cat3:last-child,
      .dima-results__cat4:last-child,
      .dima-results__empty:last-child {
        margin-right: 0; }
      .dima-results__cat1 small,
      .dima-results__cat2 small,
      .dima-results__cat3 small,
      .dima-results__cat4 small,
      .dima-results__empty small {
        display: block; } }

.dima-results__total .dima-results__label {
  display: none;
  font-weight: bold;
  padding-top: 12px; }
  .lt-ie9 .dima-results__total .dima-results__label {
    display: block; }
  @media all and (min-width: 420px) {
    .dima-results__total .dima-results__label {
      display: block; } }

.dima-results__total .dima-results__cat1,
.dima-results__total .dima-results__cat2,
.dima-results__total .dima-results__cat3,
.dima-results__total .dima-results__cat4 {
  border-top-style: solid;
  border-width: 2px;
  font-weight: 500;
  padding-top: 10px !important; }

.dima-remarks {
  border-top: 1px solid #dbdad7;
  color: #888;
  font-size: 90%;
  margin-top: 50px;
  padding-top: 30px; }
  .dima-remarks h4, .dima-remarks form label, form .dima-remarks label, .dima-remarks .node-calendar.view-mode-front h3, .node-calendar.view-mode-front .dima-remarks h3, .dima-remarks .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right .field__label, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right .dima-remarks .field__label, .dima-remarks .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front .dima-remarks .field__label, .dima-remarks .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .dima-remarks label, .dima-remarks .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front .dima-remarks label, .dima-remarks .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .dima-remarks label, .dima-remarks .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front .dima-remarks label, .dima-remarks .node-calendar.view-mode-front .view-webshop .views-exposed-form label, .node-calendar.view-mode-front .view-webshop .views-exposed-form .dima-remarks label, .dima-remarks .view-webshop .views-exposed-form .node-calendar.view-mode-front label, .view-webshop .views-exposed-form .node-calendar.view-mode-front .dima-remarks label, .dima-remarks .node-calendar.view-mode-front .path-checkout #edit-review-billing-information legend, .node-calendar.view-mode-front .path-checkout #edit-review-billing-information .dima-remarks legend, .dima-remarks .path-checkout #edit-review-billing-information .node-calendar.view-mode-front legend, .path-checkout #edit-review-billing-information .node-calendar.view-mode-front .dima-remarks legend, .dima-remarks .node-news.view-mode-front a h3, .node-news.view-mode-front a .dima-remarks h3, .dima-remarks .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right .field__label, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right .dima-remarks .field__label, .dima-remarks .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a .dima-remarks .field__label, .dima-remarks .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .dima-remarks label, .dima-remarks .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a .dima-remarks label, .dima-remarks .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .dima-remarks label, .dima-remarks .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a .dima-remarks label, .dima-remarks .node-news.view-mode-front a .view-webshop .views-exposed-form label, .node-news.view-mode-front a .view-webshop .views-exposed-form .dima-remarks label, .dima-remarks .view-webshop .views-exposed-form .node-news.view-mode-front a label, .view-webshop .views-exposed-form .node-news.view-mode-front a .dima-remarks label, .dima-remarks .node-news.view-mode-front a .path-checkout #edit-review-billing-information legend, .node-news.view-mode-front a .path-checkout #edit-review-billing-information .dima-remarks legend, .dima-remarks .path-checkout #edit-review-billing-information .node-news.view-mode-front a legend, .path-checkout #edit-review-billing-information .node-news.view-mode-front a .dima-remarks legend {
    color: #888;
    font-size: 15px; }
  .dima-remarks ul {
    margin-left: 0;
    padding-left: 20px; }

.lt-ie9 .dima-results__cta {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 48.71795%; }
  .lt-ie9 .dima-results__cta:last-child {
    margin-right: 0; }

@media all and (min-width: 420px) {
  .dima-results__cta {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 48.71795%; }
    .dima-results__cta:last-child {
      margin-right: 0; } }

.dima-results__cta a {
  font-size: 15px;
  font-size: 1rem;
  background: #115328;
  border: 0;
  box-shadow: none;
  color: #fff;
  font-weight: 600;
  display: inline-block;
  line-height: 1;
  padding: 7px 10px 8px;
  text-decoration: none;
  text-shadow: none;
  text-transform: uppercase;
  transition: background 150ms linear, color 150ms linear;
  -o-transition: background 150ms linear, color 150ms linear;
  -ms-transition: background 150ms linear, color 150ms linear;
  -webkit-font-smoothing: antialiased;
  display: block;
  margin-bottom: 10px;
  text-align: center; }
  .dima-results__cta a.active, .dima-results__cta a:hover, .dima-results__cta a:focus {
    background: #4b4736;
    color: #fff;
    outline: none; }

.path-dima-calculator .messages--status {
  display: none; }

.twitter-typeahead {
  width: 100%; }

#edit-field-wrg-address-0-value,
.tt-query,
.tt-hint {
  width: 396px;
  /*  border: 2px solid #ccc;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;*/
  outline: none; }

#edit-field-wrg-address-0-value {
  background-color: #fff; }

.tt-query {
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }

.tt-hint {
  color: #999; }

.tt-menu {
  width: 422px;
  margin: 12px 0;
  padding: 8px 0;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }

.tt-suggestion {
  padding: 3px 20px;
  font-size: 18px;
  line-height: 24px; }

.tt-suggestion:hover {
  cursor: pointer;
  color: #fff;
  background-color: #115328; }

.tt-suggestion.tt-cursor {
  color: #fff;
  background-color: #115328; }

.tt-suggestion p {
  margin: 0; }

.gist {
  font-size: 14px; }

.checkout-order-summary {
  max-width: 700px;
  color: #333; }
  .checkout-order-summary table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 24px; }
    .checkout-order-summary table td {
      padding: 12px 8px;
      border-bottom: 1px solid #eee;
      vertical-align: top; }
      .checkout-order-summary table td:first-child {
        width: 40px;
        color: #666; }
      .checkout-order-summary table td:last-child {
        text-align: right;
        white-space: nowrap;
        font-weight: 500; }
  .checkout-order-summary .field--name-title {
    font-weight: 500;
    margin-bottom: 4px; }
  .checkout-order-summary .field--name-product-id a {
    color: #4a7c2f;
    font-weight: 600;
    text-decoration: underline;
    font-size: 0.95em; }
    .checkout-order-summary .field--name-product-id a:hover {
      text-decoration: none; }
  .checkout-order-summary .field--name-price {
    color: #666;
    font-size: 0.9em;
    margin-top: 4px; }
  .checkout-order-summary .order-total-line {
    display: flex;
    justify-content: flex-end;
    gap: 24px;
    padding: 6px 8px; }
    .checkout-order-summary .order-total-line-label {
      color: #666;
      min-width: 100px;
      text-align: right; }
    .checkout-order-summary .order-total-line-value {
      min-width: 90px;
      text-align: right; }
    .checkout-order-summary .order-total-line__total {
      border-top: 2px solid #333;
      margin-top: 8px;
      padding-top: 12px;
      font-weight: 700;
      font-size: 1.1em; }

.node-calendar.view-mode-teaser.access-member .component-date,
.node-calendar.view-mode-teaser.access-member .component-location, .node-calendar.node--view-mode-teaser.access-member .component-date,
.node-calendar.node--view-mode-teaser.access-member .component-location {
  color: #f03f6d; }

.node-calendar.view-mode-teaser.access-member .component-date:last-child:after, .node-calendar.node--view-mode-teaser.access-member .component-date:last-child:after {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-left: 5px;
  font-size: 20px;
  position: relative;
  bottom: -1px; }

.node-calendar.view-mode-front h3, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front .field__label, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front label, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front label, .node-calendar.view-mode-front .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form .node-calendar.view-mode-front label, .node-calendar.view-mode-front .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .node-calendar.view-mode-front legend {
  color: #115328; }
  .node-calendar.view-mode-front h3:before, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .group-right .field__label:before, .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front .field__label:before, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label:before, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front label:before, .node-calendar.view-mode-front .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label:before, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front label:before, .node-calendar.view-mode-front .view-webshop .views-exposed-form label:before, .view-webshop .views-exposed-form .node-calendar.view-mode-front label:before, .node-calendar.view-mode-front .path-checkout #edit-review-billing-information legend:before, .path-checkout #edit-review-billing-information .node-calendar.view-mode-front legend:before {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    float: right; }

.node-calendar.view-mode-front.access-member h3, .node-calendar.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front.access-member .field__label, .node-calendar.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front.access-member label, .node-calendar.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front.access-member label, .node-calendar.view-mode-front.access-member .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form .node-calendar.view-mode-front.access-member label, .node-calendar.view-mode-front.access-member .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .node-calendar.view-mode-front.access-member legend {
  color: #f03f6d; }
  .node-calendar.view-mode-front.access-member h3:after, .node-calendar.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .group-right .field__label:after, .commerce-product.commerce-product--view-mode-full .group-right .node-calendar.view-mode-front.access-member .field__label:after, .node-calendar.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label:after, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-calendar.view-mode-front.access-member label:after, .node-calendar.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label:after, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-calendar.view-mode-front.access-member label:after, .node-calendar.view-mode-front.access-member .view-webshop .views-exposed-form label:after, .view-webshop .views-exposed-form .node-calendar.view-mode-front.access-member label:after, .node-calendar.view-mode-front.access-member .path-checkout #edit-review-billing-information legend:after, .path-checkout #edit-review-billing-information .node-calendar.view-mode-front.access-member legend:after {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-left: 5px;
    font-size: 20px;
    position: relative;
    bottom: -1px; }

.node-calendar.view-mode-front .component-date,
.node-calendar.view-mode-front .component-location {
  font-size: 12px;
  font-size: 0.8rem;
  color: #4b4736;
  font-weight: 400; }

.node-calendar.view-mode-front .component-location {
  float: left;
  font-weight: 700;
  margin-top: 4px;
  margin-right: 6px; }

.node-calendar.node--view-mode-full .field__label {
  font-size: 12px;
  font-size: 0.8rem;
  display: inline-block;
  font-weight: 700;
  margin-top: 20px;
  text-transform: uppercase; }

.field--name-field-calendar-sh {
  background: #f03f6d;
  color: #fff;
  margin-bottom: 2em;
  padding: 20px; }
  .field--name-field-calendar-sh h3, .field--name-field-calendar-sh .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .field--name-field-calendar-sh .field__label, .field--name-field-calendar-sh .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .field--name-field-calendar-sh label, .field--name-field-calendar-sh .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .field--name-field-calendar-sh label, .field--name-field-calendar-sh .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form .field--name-field-calendar-sh label, .field--name-field-calendar-sh .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .field--name-field-calendar-sh legend {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    padding: 0;
    margin: 0 0 5px;
    text-transform: uppercase; }

.node-company.view-mode-full .group-left {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 74.35897%; }
  .node-company.view-mode-full .group-left:last-child {
    margin-right: 0; }

.node-company.view-mode-full .group-right {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 23.07692%;
  margin-right: 0; }
  .node-company.view-mode-full .group-right:last-child {
    margin-right: 0; }

.node-company.view-mode-full .group-footer {
  overflow: hidden; }

.node-company__telephone {
  font-size: 12px;
  font-size: 0.8rem;
  display: inline-block;
  color: #115328;
  font-weight: 700;
  margin-bottom: 5px;
  text-transform: uppercase;
  text-decoration: underline;
  color: #4b4736;
  display: block;
  font-weight: 400;
  text-decoration: none; }

.node-company__email {
  font-size: 12px;
  font-size: 0.8rem;
  display: inline-block;
  color: #115328;
  font-weight: 700;
  margin-bottom: 5px;
  text-transform: uppercase;
  text-decoration: underline;
  color: #4b4736;
  display: block;
  font-weight: 400;
  text-decoration: none;
  text-transform: lowercase; }
  .node-company__email a {
    text-decoration: none; }

.node-company__website {
  font-size: 12px;
  font-size: 0.8rem;
  display: inline-block;
  color: #115328;
  font-weight: 700;
  margin-bottom: 5px;
  text-transform: uppercase;
  text-decoration: underline;
  color: #4b4736;
  display: block;
  font-weight: 400;
  text-decoration: none;
  text-transform: lowercase; }
  .node-company__website a {
    text-decoration: none; }

.node-company__body {
  margin-bottom: 30px; }

.node-company__info {
  margin-top: 30px; }

.node-download__description {
  margin-bottom: 2em; }

.node-location h2.toggle-title, .node-location .path-checkout .form-wrapper legend .toggle-title.fieldset-legend, .path-checkout .form-wrapper legend .node-location .toggle-title.fieldset-legend {
  color: #115328;
  cursor: pointer;
  border-top: 1px solid #dbdad7;
  padding-top: 40px;
  padding-bottom: 30px;
  padding-right: 30px; }
  .node-location h2.toggle-title:first-child, .node-location .path-checkout .form-wrapper legend .toggle-title.fieldset-legend:first-child, .path-checkout .form-wrapper legend .node-location .toggle-title.fieldset-legend:first-child {
    border-top: 0;
    padding-top: 0; }
  .node-location h2.toggle-title:after, .node-location .path-checkout .form-wrapper legend .toggle-title.fieldset-legend:after, .path-checkout .form-wrapper legend .node-location .toggle-title.fieldset-legend:after {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    bottom: -1px;
    float: right;
    margin-right: -30px; }
  .node-location h2.toggle-title button, .node-location .path-checkout .form-wrapper legend .toggle-title.fieldset-legend button, .path-checkout .form-wrapper legend .node-location .toggle-title.fieldset-legend button {
    padding: 0;
    border: 0;
    background: none; }
    .node-location h2.toggle-title button:focus, .node-location .path-checkout .form-wrapper legend .toggle-title.fieldset-legend button:focus, .path-checkout .form-wrapper legend .node-location .toggle-title.fieldset-legend button:focus {
      outline: 2px solid #000000 !important;
      outline-offset: 2px !important; }

.node-location .toggle-body {
  display: none; }
  .node-location .toggle-body .views-row:first-child {
    border-top: 1px solid #dbdad7; }

.node-location h2.toggle-title, .node-location .path-checkout .form-wrapper legend .toggle-title.fieldset-legend, .path-checkout .form-wrapper legend .node-location .toggle-title.fieldset-legend {
  font-size: 20px;
  font-size: 1.33333rem;
  margin-top: 0;
  padding: 35px 0 25px; }

.node-location .toggle-body {
  padding-bottom: 35px; }

.node-location .field__label {
  font-weight: 600;
  margin-top: 2em; }

.node-location__address p {
  margin-top: 0; }

.node-location__products ul.list,
.node-location__processes ul.list {
  margin-top: 0; }

.page-node-type-company .content .block-views > h2, .page-node-type-company .content .path-checkout .form-wrapper legend .block-views > .fieldset-legend, .path-checkout .form-wrapper legend .page-node-type-company .content .block-views > .fieldset-legend {
  margin-top: 50px;
  margin-bottom: 35px; }

.node-news.view-mode-teaser.access-member .component-date, .node-news.node--view-mode-teaser.access-member .component-date {
  color: #f03f6d; }
  .node-news.view-mode-teaser.access-member .component-date:after, .node-news.node--view-mode-teaser.access-member .component-date:after {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-left: 5px;
    font-size: 20px;
    position: relative;
    bottom: -1px; }

.node-news.view-mode-front a h3, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a .field__label, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a label, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a label, .node-news.view-mode-front a .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form .node-news.view-mode-front a label, .node-news.view-mode-front a .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .node-news.view-mode-front a legend {
  color: #115328; }
  .node-news.view-mode-front a h3:before, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .group-right .field__label:before, .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a .field__label:before, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label:before, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a label:before, .node-news.view-mode-front a .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label:before, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a label:before, .node-news.view-mode-front a .view-webshop .views-exposed-form label:before, .view-webshop .views-exposed-form .node-news.view-mode-front a label:before, .node-news.view-mode-front a .path-checkout #edit-review-billing-information legend:before, .path-checkout #edit-review-billing-information .node-news.view-mode-front a legend:before {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    float: right; }

.node-news.view-mode-front a:hover h3, .node-news.view-mode-front a:hover .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front a:hover .field__label, .node-news.view-mode-front a:hover .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front a:hover label, .node-news.view-mode-front a:hover .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front a:hover label, .node-news.view-mode-front a:hover .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form .node-news.view-mode-front a:hover label, .node-news.view-mode-front a:hover .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .node-news.view-mode-front a:hover legend {
  color: #4b4736; }

.node-news.view-mode-front.access-member h3, .node-news.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front.access-member .field__label, .node-news.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front.access-member label, .node-news.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front.access-member label, .node-news.view-mode-front.access-member .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form .node-news.view-mode-front.access-member label, .node-news.view-mode-front.access-member .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .node-news.view-mode-front.access-member legend {
  color: #f03f6d; }
  .node-news.view-mode-front.access-member h3:after, .node-news.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .group-right .field__label:after, .commerce-product.commerce-product--view-mode-full .group-right .node-news.view-mode-front.access-member .field__label:after, .node-news.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label:after, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .node-news.view-mode-front.access-member label:after, .node-news.view-mode-front.access-member .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label:after, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .node-news.view-mode-front.access-member label:after, .node-news.view-mode-front.access-member .view-webshop .views-exposed-form label:after, .view-webshop .views-exposed-form .node-news.view-mode-front.access-member label:after, .node-news.view-mode-front.access-member .path-checkout #edit-review-billing-information legend:after, .path-checkout #edit-review-billing-information .node-news.view-mode-front.access-member legend:after {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-left: 5px;
    font-size: 20px;
    position: relative;
    bottom: -1px; }

.node-news.view-mode-front .component-date {
  font-size: 12px;
  font-size: 0.8rem;
  color: #4b4736;
  font-weight: 400; }

.node-news.node--view-mode-full .field__label {
  font-size: 12px;
  font-size: 0.8rem;
  display: inline-block;
  font-weight: 700;
  margin-top: 20px;
  text-transform: uppercase; }

.node-news.node--view-mode-jaarverslag {
  -webkit-border-radius: 2px;
  border-radius: 2px;
  box-shadow: 0 2px 25px rgba(35, 35, 35, 0.05);
  border: 1px solid #dbdad7;
  padding: 18px;
  box-sizing: border-box;
  height: 100%;
  position: relative; }
  .node-news.node--view-mode-jaarverslag.highlight--green {
    -webkit-border-radius: 2px;
    border-radius: 2px;
    box-shadow: 0 2px 25px rgba(35, 35, 35, 0.07);
    border: 1px solid #dbdad7;
    padding: 18px;
    border-color: #115328;
    box-shadow: 0 2px 25px rgba(134, 184, 23, 0.1);
    background-color: #c9e1bd61; }
  .node-news.node--view-mode-jaarverslag .yearreport__linktonode {
    text-decoration: none; }
    .node-news.node--view-mode-jaarverslag .yearreport__linktonode:hover {
      color: unset; }
  .node-news.node--view-mode-jaarverslag h2, .node-news.node--view-mode-jaarverslag .path-checkout .form-wrapper legend .fieldset-legend, .path-checkout .form-wrapper legend .node-news.node--view-mode-jaarverslag .fieldset-legend {
    padding: 25px 0 5px;
    text-decoration: none; }
  .node-news.node--view-mode-jaarverslag .yearreport__readmore {
    position: absolute;
    bottom: 18px; }
  .node-news.node--view-mode-jaarverslag .yearreport__summary {
    padding-bottom: 36px;
    text-decoration: none; }
    .node-news.node--view-mode-jaarverslag .yearreport__summary p:last-child {
      padding-bottom: 0;
      margin-bottom: 0; }
  .node-news.node--view-mode-jaarverslag .component-date::after {
    content: ' | '; }
  .node-news.node--view-mode-jaarverslag .yearreport__news-tags {
    font-size: 12px;
    font-size: 0.8rem;
    text-transform: uppercase;
    display: inline-block;
    text-decoration: unset; }
  .node-news.node--view-mode-jaarverslag:hover {
    -webkit-border-radius: 2px;
    border-radius: 2px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    border: 1px solid #dbdad7;
    padding: 18px; }
    .node-news.node--view-mode-jaarverslag:hover.highlight--green {
      border-color: #115328; }

.node-news__gallery {
  display: block;
  margin: 40px 0 20px;
  overflow: hidden; }
  .node-news__gallery a.colorbox {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 31.62393%;
    margin-bottom: 2.5641%; }
    .node-news__gallery a.colorbox:last-child {
      margin-right: 0; }
    .node-news__gallery a.colorbox:nth-child(3n) {
      margin-right: 0; }
    .lt-ie9 .node-news__gallery a.colorbox {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 23.07692%; }
      .lt-ie9 .node-news__gallery a.colorbox:last-child {
        margin-right: 0; }
      .lt-ie9 .node-news__gallery a.colorbox:nth-child(3n) {
        margin-right: 2.5641%; }
      .lt-ie9 .node-news__gallery a.colorbox:nth-child(4n) {
        margin-right: 0; }
    @media all and (min-width: 720px) {
      .node-news__gallery a.colorbox {
        float: left;
        display: block;
        margin-right: 2.5641%;
        width: 23.07692%; }
        .node-news__gallery a.colorbox:last-child {
          margin-right: 0; }
        .node-news__gallery a.colorbox:nth-child(3n) {
          margin-right: 2.5641%; }
        .node-news__gallery a.colorbox:nth-child(4n) {
          margin-right: 0; } }
    .node-news__gallery a.colorbox img {
      display: block; }

.field--name-field-news-sh {
  background: #f03f6d;
  color: #fff;
  margin-bottom: 2em;
  padding: 20px; }
  .field--name-field-news-sh h3, .field--name-field-news-sh .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .field--name-field-news-sh .field__label, .field--name-field-news-sh .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .field--name-field-news-sh label, .field--name-field-news-sh .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .field--name-field-news-sh label, .field--name-field-news-sh .view-webshop .views-exposed-form label, .view-webshop .views-exposed-form .field--name-field-news-sh label, .field--name-field-news-sh .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .field--name-field-news-sh legend {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    padding: 0;
    margin: 0 0 5px;
    text-transform: uppercase; }

.node-page.node--view-mode-full .field__label {
  font-size: 12px;
  font-size: 0.8rem;
  display: inline-block;
  font-weight: 700;
  margin-top: 20px;
  text-transform: uppercase; }

.node-page.node--view-mode-full:after {
  overflow: visible; }

.node-person__function {
  font-size: 12px;
  font-size: 0.8rem;
  display: inline-block;
  color: #115328;
  font-weight: 700;
  margin-bottom: 5px;
  text-transform: uppercase;
  text-decoration: underline;
  color: #4b4736;
  text-decoration: none;
  margin: 0 10px 5px 0; }

.node-picture.view-mode-full img {
  height: auto;
  margin-top: 10px;
  width: 100%; }

.field--name-field-page-body img.align-left,
.field--name-field-calendary-body img.align-left,
.field--name-field-download-body img.align-left,
.field--name-field-faq-body img.align-left,
.field--name-field-company-body img.align-left,
.field--name-field-company-info img.align-left,
.field--name-field-location-info img.align-left,
.field--name-field-person-body img.align-left,
.field--name-field-news-body img.align-left,
.field--name-field-intro img.align-left {
  margin-right: 15px; }

.field--name-field-page-body img.align-right,
.field--name-field-calendary-body img.align-right,
.field--name-field-download-body img.align-right,
.field--name-field-faq-body img.align-right,
.field--name-field-company-body img.align-right,
.field--name-field-company-info img.align-right,
.field--name-field-location-info img.align-right,
.field--name-field-person-body img.align-right,
.field--name-field-news-body img.align-right,
.field--name-field-intro img.align-right {
  margin-left: 15px; }

body.taxonomy-term--type-jaartal .layout-content {
  width: unset !important; }

.taxonomy-term--view-mode-full .yearreport__head {
  background-color: #115328;
  opacity: .8;
  padding: 10px;
  margin: 0;
  color: white;
  font-size: 35px;
  text-align: center; }

.term-tree-list > .item-list > ul.term > li:has(> .item-list) {
  margin-left: 1rem; }

.field--name-field-extra-info .field__items {
  display: flex;
  flex-direction: column;
  gap: 0.5rem; }

.field--name-field-extra-info .vocabulary-location-extra-info {
  display: flex;
  gap: 0.5rem; }

.view-calendar.view-display-id-page > .view-content .views-row {
  border-bottom: 1px solid #dbdad7;
  padding-top: 40px;
  padding-bottom: 40px;
  -webkit-transition: -webkit-filter 300ms linear; }
  .view-calendar.view-display-id-page > .view-content .views-row:last-child {
    border-bottom: 0;
    margin-bottom: 0; }
  .view-calendar.view-display-id-page > .view-content .views-row .group-header {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px; }
    .view-calendar.view-display-id-page > .view-content .views-row .group-header:last-child {
      margin-right: 0; }
  .view-calendar.view-display-id-page > .view-content .views-row .group-left {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 31.62393%; }
    .view-calendar.view-display-id-page > .view-content .views-row .group-left:last-child {
      margin-right: 0; }
    .view-calendar.view-display-id-page > .view-content .views-row .group-left img {
      height: auto;
      margin-top: 5px;
      width: 100%; }
  .view-calendar.view-display-id-page > .view-content .views-row .group-right {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 100%;
    margin-right: 0; }
    .view-calendar.view-display-id-page > .view-content .views-row .group-right:last-child {
      margin-right: 0; }
    .view-calendar.view-display-id-page > .view-content .views-row .group-right p {
      margin-top: 0; }
  .view-calendar.view-display-id-page > .view-content .views-row .group-left + .group-right {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 65.81197%;
    margin-right: 0; }
    .view-calendar.view-display-id-page > .view-content .views-row .group-left + .group-right:last-child {
      margin-right: 0; }

.view-calendar.view-display-id-page > .view-content .views-row {
  padding-top: 0;
  padding-bottom: 0; }
  .view-calendar.view-display-id-page > .view-content .views-row .group-link {
    display: block;
    overflow: hidden;
    padding-top: 30px;
    padding-bottom: 40px; }

.view-calendar.view-display-id-page > .view-content:hover .views-row {
  -webkit-filter: grayscale(70%);
  filter: grayscale(70%); }

.view-calendar.view-display-id-page > .view-content:hover .views-row:hover {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%); }

.view-calendar.view-display-id-front > .view-content .views-row {
  border-bottom: 1px solid #dbdad7;
  padding-top: 20px;
  padding-bottom: 10px; }

.view-calendar.view-display-id-front > .more-link a {
  color: #115328;
  display: block;
  text-decoration: none;
  text-transform: uppercase;
  padding: 20px 0; }
  .view-calendar.view-display-id-front > .more-link a:before {
    font-size: 18px;
    font-size: 1.2rem;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    float: right; }
  .view-calendar.view-display-id-front > .more-link a:hover {
    color: #4b4736; }

.block-views-blockcalendar-front h2:before, .block-views-blockcalendar-front .path-checkout .form-wrapper legend .fieldset-legend:before, .path-checkout .form-wrapper legend .block-views-blockcalendar-front .fieldset-legend:before {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 10px; }

.view-download.view-display-id-page {
  margin-top: 35px; }
  .view-download.view-display-id-page > .view-content .views-row {
    border-bottom: 1px solid #dbdad7;
    padding-top: 40px;
    padding-bottom: 40px;
    -webkit-transition: -webkit-filter 300ms linear; }
    .view-download.view-display-id-page > .view-content .views-row:last-child {
      border-bottom: 0;
      margin-bottom: 0; }
    .view-download.view-display-id-page > .view-content .views-row .group-header {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 100%;
      margin-right: 0;
      margin-bottom: 10px; }
      .view-download.view-display-id-page > .view-content .views-row .group-header:last-child {
        margin-right: 0; }
    .view-download.view-display-id-page > .view-content .views-row .group-left {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 31.62393%; }
      .view-download.view-display-id-page > .view-content .views-row .group-left:last-child {
        margin-right: 0; }
      .view-download.view-display-id-page > .view-content .views-row .group-left img {
        height: auto;
        margin-top: 5px;
        width: 100%; }
    .view-download.view-display-id-page > .view-content .views-row .group-right {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 100%;
      margin-right: 0; }
      .view-download.view-display-id-page > .view-content .views-row .group-right:last-child {
        margin-right: 0; }
      .view-download.view-display-id-page > .view-content .views-row .group-right p {
        margin-top: 0; }
    .view-download.view-display-id-page > .view-content .views-row .group-left + .group-right {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 65.81197%;
      margin-right: 0; }
      .view-download.view-display-id-page > .view-content .views-row .group-left + .group-right:last-child {
        margin-right: 0; }
  .view-download.view-display-id-page h2.toggle-title, .view-download.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend, .path-checkout .form-wrapper legend .view-download.view-display-id-page .toggle-title.fieldset-legend {
    color: #115328;
    cursor: pointer;
    border-top: 1px solid #dbdad7;
    padding-top: 40px;
    padding-bottom: 30px;
    padding-right: 30px; }
    .view-download.view-display-id-page h2.toggle-title:first-child, .view-download.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend:first-child, .path-checkout .form-wrapper legend .view-download.view-display-id-page .toggle-title.fieldset-legend:first-child {
      border-top: 0;
      padding-top: 0; }
    .view-download.view-display-id-page h2.toggle-title:after, .view-download.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend:after, .path-checkout .form-wrapper legend .view-download.view-display-id-page .toggle-title.fieldset-legend:after {
      font-family: 'icomoon' !important;
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      bottom: -1px;
      float: right;
      margin-right: -30px; }
    .view-download.view-display-id-page h2.toggle-title button, .view-download.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend button, .path-checkout .form-wrapper legend .view-download.view-display-id-page .toggle-title.fieldset-legend button {
      padding: 0;
      border: 0;
      background: none; }
      .view-download.view-display-id-page h2.toggle-title button:focus, .view-download.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend button:focus, .path-checkout .form-wrapper legend .view-download.view-display-id-page .toggle-title.fieldset-legend button:focus {
        outline: 2px solid #000000 !important;
        outline-offset: 2px !important; }
  .view-download.view-display-id-page .toggle-body {
    display: none; }
    .view-download.view-display-id-page .toggle-body .views-row:first-child {
      border-top: 1px solid #dbdad7; }

.view-faq.view-display-id-page {
  margin-top: 35px; }
  .view-faq.view-display-id-page > .view-content .views-row {
    border-bottom: 1px solid #dbdad7;
    padding-top: 40px;
    padding-bottom: 40px;
    -webkit-transition: -webkit-filter 300ms linear; }
    .view-faq.view-display-id-page > .view-content .views-row:last-child {
      border-bottom: 0;
      margin-bottom: 0; }
    .view-faq.view-display-id-page > .view-content .views-row .group-header {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 100%;
      margin-right: 0;
      margin-bottom: 10px; }
      .view-faq.view-display-id-page > .view-content .views-row .group-header:last-child {
        margin-right: 0; }
    .view-faq.view-display-id-page > .view-content .views-row .group-left {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 31.62393%; }
      .view-faq.view-display-id-page > .view-content .views-row .group-left:last-child {
        margin-right: 0; }
      .view-faq.view-display-id-page > .view-content .views-row .group-left img {
        height: auto;
        margin-top: 5px;
        width: 100%; }
    .view-faq.view-display-id-page > .view-content .views-row .group-right {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 100%;
      margin-right: 0; }
      .view-faq.view-display-id-page > .view-content .views-row .group-right:last-child {
        margin-right: 0; }
      .view-faq.view-display-id-page > .view-content .views-row .group-right p {
        margin-top: 0; }
    .view-faq.view-display-id-page > .view-content .views-row .group-left + .group-right {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 65.81197%;
      margin-right: 0; }
      .view-faq.view-display-id-page > .view-content .views-row .group-left + .group-right:last-child {
        margin-right: 0; }
  .view-faq.view-display-id-page h2.toggle-title, .view-faq.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend, .path-checkout .form-wrapper legend .view-faq.view-display-id-page .toggle-title.fieldset-legend {
    color: #115328;
    cursor: pointer;
    border-top: 1px solid #dbdad7;
    padding-top: 40px;
    padding-bottom: 30px;
    padding-right: 30px; }
    .view-faq.view-display-id-page h2.toggle-title:first-child, .view-faq.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend:first-child, .path-checkout .form-wrapper legend .view-faq.view-display-id-page .toggle-title.fieldset-legend:first-child {
      border-top: 0;
      padding-top: 0; }
    .view-faq.view-display-id-page h2.toggle-title:after, .view-faq.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend:after, .path-checkout .form-wrapper legend .view-faq.view-display-id-page .toggle-title.fieldset-legend:after {
      font-family: 'icomoon' !important;
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      bottom: -1px;
      float: right;
      margin-right: -30px; }
    .view-faq.view-display-id-page h2.toggle-title button, .view-faq.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend button, .path-checkout .form-wrapper legend .view-faq.view-display-id-page .toggle-title.fieldset-legend button {
      padding: 0;
      border: 0;
      background: none; }
      .view-faq.view-display-id-page h2.toggle-title button:focus, .view-faq.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend button:focus, .path-checkout .form-wrapper legend .view-faq.view-display-id-page .toggle-title.fieldset-legend button:focus {
        outline: 2px solid #000000 !important;
        outline-offset: 2px !important; }
  .view-faq.view-display-id-page .toggle-body {
    display: none; }
    .view-faq.view-display-id-page .toggle-body .views-row:first-child {
      border-top: 1px solid #dbdad7; }

.view-news.view-display-id-page > .view-content .views-row {
  border-bottom: 1px solid #dbdad7;
  padding-top: 40px;
  padding-bottom: 40px;
  -webkit-transition: -webkit-filter 300ms linear; }
  .view-news.view-display-id-page > .view-content .views-row:last-child {
    border-bottom: 0;
    margin-bottom: 0; }
  .view-news.view-display-id-page > .view-content .views-row .group-header {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px; }
    .view-news.view-display-id-page > .view-content .views-row .group-header:last-child {
      margin-right: 0; }
  .view-news.view-display-id-page > .view-content .views-row .group-left {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 31.62393%; }
    .view-news.view-display-id-page > .view-content .views-row .group-left:last-child {
      margin-right: 0; }
    .view-news.view-display-id-page > .view-content .views-row .group-left img {
      height: auto;
      margin-top: 5px;
      width: 100%; }
  .view-news.view-display-id-page > .view-content .views-row .group-right {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 100%;
    margin-right: 0; }
    .view-news.view-display-id-page > .view-content .views-row .group-right:last-child {
      margin-right: 0; }
    .view-news.view-display-id-page > .view-content .views-row .group-right p {
      margin-top: 0; }
  .view-news.view-display-id-page > .view-content .views-row .group-left + .group-right {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 65.81197%;
    margin-right: 0; }
    .view-news.view-display-id-page > .view-content .views-row .group-left + .group-right:last-child {
      margin-right: 0; }

.view-news.view-display-id-page > .view-content .views-row {
  padding-top: 0;
  padding-bottom: 0; }
  .view-news.view-display-id-page > .view-content .views-row .group-link {
    display: block;
    overflow: hidden;
    padding-top: 30px;
    padding-bottom: 40px; }

.view-news.view-display-id-page > .view-content:hover .views-row {
  -webkit-filter: grayscale(70%);
  filter: grayscale(70%); }

.view-news.view-display-id-page > .view-content:hover .views-row:hover {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%); }

.view-news.view-display-id-front > .view-content .views-row {
  border-bottom: 1px solid #dbdad7;
  padding-top: 20px;
  padding-bottom: 10px; }

.view-news.view-display-id-front > .more-link a {
  color: #115328;
  display: block;
  text-decoration: none;
  text-transform: uppercase;
  padding: 20px 0; }
  .view-news.view-display-id-front > .more-link a:before {
    font-size: 18px;
    font-size: 1.2rem;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    float: right; }
  .view-news.view-display-id-front > .more-link a:hover {
    color: #4b4736; }

.block-views-blocknews-front h2:before a, .block-views-blocknews-front .path-checkout .form-wrapper legend .fieldset-legend:before a, .path-checkout .form-wrapper legend .block-views-blocknews-front .fieldset-legend:before a {
  text-decoration: none; }

.block-views-blocknews-front .view-header h2 a, .block-views-blocknews-front .view-header .path-checkout .form-wrapper legend .fieldset-legend a, .path-checkout .form-wrapper legend .block-views-blocknews-front .view-header .fieldset-legend a {
  text-decoration: none; }
  .block-views-blocknews-front .view-header h2 a:before, .block-views-blocknews-front .view-header .path-checkout .form-wrapper legend .fieldset-legend a:before, .path-checkout .form-wrapper legend .block-views-blocknews-front .view-header .fieldset-legend a:before {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-right: 10px; }
  .block-views-blocknews-front .view-header h2 a:hover:before, .block-views-blocknews-front .view-header .path-checkout .form-wrapper legend .fieldset-legend a:hover:before, .path-checkout .form-wrapper legend .block-views-blocknews-front .view-header .fieldset-legend a:hover:before {
    color: #f03f6d; }

.view-news.view-display-id-page > .view-content .views-row .group-link:hover {
  color: #000; }

.view-person.view-display-id-page {
  margin-top: 35px; }
  .view-person.view-display-id-page > .view-content .views-row {
    border-bottom: 1px solid #dbdad7;
    padding-top: 40px;
    padding-bottom: 40px;
    -webkit-transition: -webkit-filter 300ms linear; }
    .view-person.view-display-id-page > .view-content .views-row:last-child {
      border-bottom: 0;
      margin-bottom: 0; }
    .view-person.view-display-id-page > .view-content .views-row .group-header {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 100%;
      margin-right: 0;
      margin-bottom: 10px; }
      .view-person.view-display-id-page > .view-content .views-row .group-header:last-child {
        margin-right: 0; }
    .view-person.view-display-id-page > .view-content .views-row .group-left {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 31.62393%; }
      .view-person.view-display-id-page > .view-content .views-row .group-left:last-child {
        margin-right: 0; }
      .view-person.view-display-id-page > .view-content .views-row .group-left img {
        height: auto;
        margin-top: 5px;
        width: 100%; }
    .view-person.view-display-id-page > .view-content .views-row .group-right {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 100%;
      margin-right: 0; }
      .view-person.view-display-id-page > .view-content .views-row .group-right:last-child {
        margin-right: 0; }
      .view-person.view-display-id-page > .view-content .views-row .group-right p {
        margin-top: 0; }
    .view-person.view-display-id-page > .view-content .views-row .group-left + .group-right {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 65.81197%;
      margin-right: 0; }
      .view-person.view-display-id-page > .view-content .views-row .group-left + .group-right:last-child {
        margin-right: 0; }
  .view-person.view-display-id-page h2.toggle-title, .view-person.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend, .path-checkout .form-wrapper legend .view-person.view-display-id-page .toggle-title.fieldset-legend {
    color: #115328;
    cursor: pointer;
    border-top: 1px solid #dbdad7;
    padding-top: 40px;
    padding-bottom: 30px;
    padding-right: 30px; }
    .view-person.view-display-id-page h2.toggle-title:first-child, .view-person.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend:first-child, .path-checkout .form-wrapper legend .view-person.view-display-id-page .toggle-title.fieldset-legend:first-child {
      border-top: 0;
      padding-top: 0; }
    .view-person.view-display-id-page h2.toggle-title:after, .view-person.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend:after, .path-checkout .form-wrapper legend .view-person.view-display-id-page .toggle-title.fieldset-legend:after {
      font-family: 'icomoon' !important;
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      bottom: -1px;
      float: right;
      margin-right: -30px; }
    .view-person.view-display-id-page h2.toggle-title button, .view-person.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend button, .path-checkout .form-wrapper legend .view-person.view-display-id-page .toggle-title.fieldset-legend button {
      padding: 0;
      border: 0;
      background: none; }
      .view-person.view-display-id-page h2.toggle-title button:focus, .view-person.view-display-id-page .path-checkout .form-wrapper legend .toggle-title.fieldset-legend button:focus, .path-checkout .form-wrapper legend .view-person.view-display-id-page .toggle-title.fieldset-legend button:focus {
        outline: 2px solid #000000 !important;
        outline-offset: 2px !important; }
  .view-person.view-display-id-page .toggle-body {
    display: none; }
    .view-person.view-display-id-page .toggle-body .views-row:first-child {
      border-top: 1px solid #dbdad7; }
  .view-person.view-display-id-page > .view-content .views-row .group-left {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 23.07692%; }
    .view-person.view-display-id-page > .view-content .views-row .group-left:last-child {
      margin-right: 0; }
  .view-person.view-display-id-page > .view-content .views-row .group-left + .group-right {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 74.35897%;
    margin-right: 0; }
    .view-person.view-display-id-page > .view-content .views-row .group-left + .group-right:last-child {
      margin-right: 0; }

.view-pictures.view-display-id-page > .view-header {
  font-weight: 500; }
  .view-pictures.view-display-id-page > .view-header .view-tags {
    margin-bottom: 15px; }

.view-pictures.view-display-id-page > .view-content {
  overflow: hidden;
  margin-top: 40px; }
  .view-pictures.view-display-id-page > .view-content .views-row {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 48.71795%;
    margin-bottom: 2.5641%; }
    .view-pictures.view-display-id-page > .view-content .views-row:last-child {
      margin-right: 0; }
    .view-pictures.view-display-id-page > .view-content .views-row:nth-child(2n) {
      margin-right: 0; }
    .view-pictures.view-display-id-page > .view-content .views-row:nth-child(2n + 1) {
      clear: both; }
    .lt-ie9 .view-pictures.view-display-id-page > .view-content .views-row {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 31.62393%; }
      .lt-ie9 .view-pictures.view-display-id-page > .view-content .views-row:last-child {
        margin-right: 0; }
      .lt-ie9 .view-pictures.view-display-id-page > .view-content .views-row:nth-child(2n) {
        margin-right: 2.5641%; }
      .lt-ie9 .view-pictures.view-display-id-page > .view-content .views-row:nth-child(2n + 1) {
        clear: none; }
      .lt-ie9 .view-pictures.view-display-id-page > .view-content .views-row:nth-child(3n) {
        margin-right: 0; }
      .lt-ie9 .view-pictures.view-display-id-page > .view-content .views-row:nth-child(3n + 1) {
        clear: both; }
    @media all and (min-width: 720px) {
      .view-pictures.view-display-id-page > .view-content .views-row {
        float: left;
        display: block;
        margin-right: 2.5641%;
        width: 31.62393%; }
        .view-pictures.view-display-id-page > .view-content .views-row:last-child {
          margin-right: 0; }
        .view-pictures.view-display-id-page > .view-content .views-row:nth-child(2n) {
          margin-right: 2.5641%; }
        .view-pictures.view-display-id-page > .view-content .views-row:nth-child(2n + 1) {
          clear: none; }
        .view-pictures.view-display-id-page > .view-content .views-row:nth-child(3n) {
          margin-right: 0; }
        .view-pictures.view-display-id-page > .view-content .views-row:nth-child(3n + 1) {
          clear: both; } }

.view-tags .view-content,
.view-tags .view-footer {
  display: inline; }

.view-tags .views-row,
.view-tags .view-footer {
  border: 0;
  display: inline-block;
  margin: 0;
  padding: 0; }
  .view-tags .views-row a,
  .view-tags .view-footer a {
    font-size: 15px;
    font-size: 1rem;
    background: #115328;
    border: 0;
    box-shadow: none;
    color: #fff;
    font-weight: 600;
    display: inline-block;
    line-height: 1;
    padding: 7px 10px 8px;
    text-decoration: none;
    text-shadow: none;
    text-transform: uppercase;
    transition: background 150ms linear, color 150ms linear;
    -o-transition: background 150ms linear, color 150ms linear;
    -ms-transition: background 150ms linear, color 150ms linear;
    -webkit-font-smoothing: antialiased;
    margin: 0 2px 5px 0; }
    .view-tags .views-row a.active, .view-tags .views-row a:hover, .view-tags .views-row a:focus,
    .view-tags .view-footer a.active,
    .view-tags .view-footer a:hover,
    .view-tags .view-footer a:focus {
      background: #4b4736;
      color: #fff;
      outline: none; }

.view-tags {
  position: relative; }
  .view-tags > .view-header {
    position: absolute;
    top: -42px;
    right: 0; }
    .view-tags > .view-header .tag--clear-all a {
      text-transform: uppercase;
      font-weight: bold;
      font-size: 12px; }

.view-webshop.view-display-id-page > .view-content,
.view-webshop.view-display-id-page > .view-header .view-display-id-block {
  overflow: hidden;
  margin-top: 40px; }
  .view-webshop.view-display-id-page > .view-content .views-row,
  .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 48.71795%;
    margin-bottom: 2.5641%; }
    .view-webshop.view-display-id-page > .view-content .views-row:last-child,
    .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:last-child {
      margin-right: 0; }
    .view-webshop.view-display-id-page > .view-content .views-row:nth-child(2n),
    .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:nth-child(2n) {
      margin-right: 0; }
    .view-webshop.view-display-id-page > .view-content .views-row:nth-child(2n + 1),
    .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:nth-child(2n + 1) {
      clear: both; }
    .lt-ie9 .view-webshop.view-display-id-page > .view-content .views-row, .lt-ie9
    .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 31.62393%; }
      .lt-ie9 .view-webshop.view-display-id-page > .view-content .views-row:last-child, .lt-ie9
      .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:last-child {
        margin-right: 0; }
      .lt-ie9 .view-webshop.view-display-id-page > .view-content .views-row:nth-child(2n), .lt-ie9
      .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:nth-child(2n) {
        margin-right: 2.5641%; }
      .lt-ie9 .view-webshop.view-display-id-page > .view-content .views-row:nth-child(2n + 1), .lt-ie9
      .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:nth-child(2n + 1) {
        clear: none; }
      .lt-ie9 .view-webshop.view-display-id-page > .view-content .views-row:nth-child(3n), .lt-ie9
      .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:nth-child(3n) {
        margin-right: 0; }
      .lt-ie9 .view-webshop.view-display-id-page > .view-content .views-row:nth-child(3n + 1), .lt-ie9
      .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:nth-child(3n + 1) {
        clear: both; }
    @media all and (min-width: 720px) {
      .view-webshop.view-display-id-page > .view-content .views-row,
      .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row {
        float: left;
        display: block;
        margin-right: 2.5641%;
        width: 31.62393%; }
        .view-webshop.view-display-id-page > .view-content .views-row:last-child,
        .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:last-child {
          margin-right: 0; }
        .view-webshop.view-display-id-page > .view-content .views-row:nth-child(2n),
        .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:nth-child(2n) {
          margin-right: 2.5641%; }
        .view-webshop.view-display-id-page > .view-content .views-row:nth-child(2n + 1),
        .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:nth-child(2n + 1) {
          clear: none; }
        .view-webshop.view-display-id-page > .view-content .views-row:nth-child(3n),
        .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:nth-child(3n) {
          margin-right: 0; }
        .view-webshop.view-display-id-page > .view-content .views-row:nth-child(3n + 1),
        .view-webshop.view-display-id-page > .view-header .view-display-id-block .views-row:nth-child(3n + 1) {
          clear: both; } }

.view-webshop.view-display-id-block {
  margin: 0 0 10px !important; }
  .view-webshop.view-display-id-block h3, .view-webshop.view-display-id-block .commerce-product.commerce-product--view-mode-full .group-right .field__label, .commerce-product.commerce-product--view-mode-full .group-right .view-webshop.view-display-id-block .field__label, .view-webshop.view-display-id-block .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .field--name-quantity .view-webshop.view-display-id-block label, .view-webshop.view-display-id-block .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio label, .commerce-product.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-radios .form-type-radio .view-webshop.view-display-id-block label, .view-webshop.view-display-id-block .views-exposed-form label, .view-webshop.view-display-id-block .path-checkout #edit-review-billing-information legend, .path-checkout #edit-review-billing-information .view-webshop.view-display-id-block legend {
    text-transform: uppercase;
    font-size: 14px; }
  .view-webshop.view-display-id-block .commerce-product__box {
    padding-bottom: 34px; }
  .view-webshop.view-display-id-block .commerce-product__title {
    background: rgba(0, 0, 0, 0.05);
    position: absolute;
    bottom: 0;
    left: 0;
    padding-top: 100%;
    padding-bottom: 10px; }
  .view-webshop.view-display-id-block .component-tags {
    display: none; }
  .view-webshop.view-display-id-block .views-row:last-child {
    display: none !important; }
    .lt-ie9 .view-webshop.view-display-id-block .views-row:last-child {
      display: block !important; }
    @media all and (min-width: 720px) {
      .view-webshop.view-display-id-block .views-row:last-child {
        display: block !important; } }

.view-webshop .views-exposed-form {
  margin-top: 20px; }
  .view-webshop .views-exposed-form label {
    text-transform: uppercase;
    font-size: 14px; }
  .view-webshop .views-exposed-form .select-style {
    background-position: 95% 50%;
    display: inline-block;
    margin: 0;
    width: 200px;
    max-width: 200px; }
    .view-webshop .views-exposed-form .select-style select {
      width: 180px;
      max-width: 100% !important; }
  .view-webshop .views-exposed-form .js-form-type-select,
  .view-webshop .views-exposed-form .form-actions {
    display: inline-block; }
    .view-webshop .views-exposed-form .js-form-type-select input.button,
    .view-webshop .views-exposed-form .form-actions input.button {
      float: left;
      margin: 0 10px 0 5px;
      padding: 0 20px;
      height: 42px; }
  .view-webshop .views-exposed-form .js-form-type-textfield {
    margin-bottom: 30px;
    margin-right: 10px;
    display: block; }
    .lt-ie9 .view-webshop .views-exposed-form .js-form-type-textfield {
      display: inline-block;
      float: left; }
    @media all and (min-width: 720px) {
      .view-webshop .views-exposed-form .js-form-type-textfield {
        display: inline-block;
        float: left; } }
    .view-webshop .views-exposed-form .js-form-type-textfield input.form-text {
      width: 300px;
      max-width: 100%; }
      .lt-ie9 .view-webshop .views-exposed-form .js-form-type-textfield input.form-text {
        width: 250px; }
      @media all and (min-width: 720px) {
        .view-webshop .views-exposed-form .js-form-type-textfield input.form-text {
          width: 250px; } }

body.path-jaarverslag .layout-sidebar-first {
  display: none; }

.view-yearlyreport .view-filters {
  padding-top: 24px;
  padding-bottom: 24px;
  float: right; }
  .view-yearlyreport .view-filters .select-style {
    width: unset;
    max-width: unset; }

.view-yearlyreport .view-content {
  clear: both; }

.view-yearlyreport.view--2col {
  width: 100%; }
  .view-yearlyreport.view--2col .view-content {
    display: grid;
    grid-auto-rows: minmax(125px, auto);
    grid-gap: 1rem; }
    .lt-ie9 .view-yearlyreport.view--2col .view-content {
      grid-template-columns: repeat(2, 1fr);
      grid-gap: 1rem; }
    @media all and (min-width: 720px) {
      .view-yearlyreport.view--2col .view-content {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 1rem; } }
    .lt-ie9 .view-yearlyreport.view--2col .view-content {
      grid-template-columns: repeat(3, 1fr);
      grid-gap: 1rem; }
    @media all and (min-width: 920px) {
      .view-yearlyreport.view--2col .view-content {
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 1rem; } }
    .view-yearlyreport.view--2col .view-content .views-row:first-child {
      grid-column: 1 / 2;
      grid-row: 1 / 2; }

.yearlyreport > .view-content .views-row .group-link:hover {
  color: #000; }

.view-jaartal .view-content {
  margin: 30px 0;
  display: flex;
  justify-content: center; }

.view-jaartal .buttonyear {
  font-size: 15px;
  font-size: 1rem;
  background: #115328;
  border: 0;
  box-shadow: none;
  color: #fff;
  font-weight: 600;
  display: inline-block;
  line-height: 1;
  padding: 7px 10px 8px;
  text-decoration: none;
  text-shadow: none;
  text-transform: uppercase;
  transition: background 150ms linear, color 150ms linear;
  -o-transition: background 150ms linear, color 150ms linear;
  -ms-transition: background 150ms linear, color 150ms linear;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  padding: 15px 50px 15px 20px;
  margin: 15px;
  position: relative;
  text-align: left; }
  .view-jaartal .buttonyear.active, .view-jaartal .buttonyear:hover, .view-jaartal .buttonyear:focus {
    background: #4b4736;
    color: #fff;
    outline: none; }
  .view-jaartal .buttonyear:after {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 24px;
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -12px; }

.content aside.layout-sidebar-first .view-jaartal .view-content a {
  border-top: 1px solid #dbdad7;
  display: block;
  font-size: 14px;
  font-weight: 600;
  padding: 15px 20px;
  position: relative;
  text-transform: uppercase;
  color: #4b4736;
  text-decoration: none; }
  .content aside.layout-sidebar-first .view-jaartal .view-content a:hover {
    color: #115328; }
  .content aside.layout-sidebar-first .view-jaartal .view-content a::after {
    color: #115328;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    float: right; }

.view-mode-teaser a,
.view-mode-related a,
.view-mode-front a {
  text-decoration: none;
  display: block;
  overflow: hidden; }

.view-mode-teaser a:hover,
.view-mode-related a:hover,
.view-mode-front a:hover {
  color: #4b4736; }

.view .pager {
  list-style: none;
  margin: 0;
  padding: 0; }
  .view .pager li {
    margin: 0;
    padding: 0; }
    .view .pager li a {
      font-size: 15px;
      font-size: 1rem;
      background: #115328;
      border: 0;
      box-shadow: none;
      color: #fff;
      font-weight: 600;
      display: inline-block;
      line-height: 1;
      padding: 7px 10px 8px;
      text-decoration: none;
      text-shadow: none;
      text-transform: uppercase;
      transition: background 150ms linear, color 150ms linear;
      -o-transition: background 150ms linear, color 150ms linear;
      -ms-transition: background 150ms linear, color 150ms linear;
      -webkit-font-smoothing: antialiased; }
      .view .pager li a.active, .view .pager li a:hover, .view .pager li a:focus {
        background: #4b4736;
        color: #fff;
        outline: none; }
      .view .pager li a:after {
        font-family: 'icomoon' !important;
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        position: relative;
        bottom: -1px;
        margin-left: 8px; }

.view-empty {
  margin: 2em 0; }

.path-cart table {
  margin-bottom: 2em;
  width: 100%; }
  .path-cart table th {
    text-align: left;
    font-weight: bold; }
    .path-cart table th div {
      margin-right: 20px;
      padding-bottom: 10px;
      border-bottom: 2px solid #4b4736; }
  .path-cart table td {
    padding: 15px 5px 0; }
    .path-cart table td.views-field-edit-quantity {
      padding-right: 20px; }

.view-commerce-cart-form form input[type='number'] {
  max-width: none; }

#block-commerce-cart-block .view-content {
  padding: 0 20px 20px; }

#block-commerce-cart-block table {
  width: 100%; }
  #block-commerce-cart-block table td {
    padding: 3px 10px 3px 0; }
    #block-commerce-cart-block table td.views-field-total-price__number {
      padding-right: 0;
      text-align: right; }

#block-commerce-cart-block #views-form-commerce-cart-block-block-1 .form-actions {
  display: none; }

#block-commerce-cart-block #views-form-commerce-cart-block-block-1 .delete-order-item {
  font-size: 0;
  padding: 0;
  line-height: 14px;
  height: 22px;
  margin: 6px 0 6px 6px;
  padding-left: 24px;
  background: url("../img/clear.png") no-repeat;
  background-size: cover; }

#block-commerce-cart-block .view-footer {
  margin-left: 20px; }
  #block-commerce-cart-block .view-footer .button {
    font-size: 15px;
    font-size: 1rem;
    background: #115328;
    border: 0;
    box-shadow: none;
    color: #fff;
    font-weight: 600;
    display: inline-block;
    line-height: 1;
    padding: 7px 10px 8px;
    text-decoration: none;
    text-shadow: none;
    text-transform: uppercase;
    transition: background 150ms linear, color 150ms linear;
    -o-transition: background 150ms linear, color 150ms linear;
    -ms-transition: background 150ms linear, color 150ms linear;
    -webkit-font-smoothing: antialiased; }
    #block-commerce-cart-block .view-footer .button.active, #block-commerce-cart-block .view-footer .button:hover, #block-commerce-cart-block .view-footer .button:focus {
      background: #4b4736;
      color: #fff;
      outline: none; }

.cart-continue-shopping {
  display: block;
  clear: both;
  margin: 2em 0; }
  .cart-continue-shopping a {
    font-size: 15px;
    font-size: 1rem;
    background: #115328;
    border: 0;
    box-shadow: none;
    color: #fff;
    font-weight: 600;
    display: inline-block;
    line-height: 1;
    padding: 7px 10px 8px;
    text-decoration: none;
    text-shadow: none;
    text-transform: uppercase;
    transition: background 150ms linear, color 150ms linear;
    -o-transition: background 150ms linear, color 150ms linear;
    -ms-transition: background 150ms linear, color 150ms linear;
    -webkit-font-smoothing: antialiased; }
    .cart-continue-shopping a.active, .cart-continue-shopping a:hover, .cart-continue-shopping a:focus {
      background: #4b4736;
      color: #fff;
      outline: none; }

.path-checkout .layout-region-checkout-main {
  width: 100%; }

.path-checkout .layout-region-checkout-secondary {
  display: none; }

.path-checkout fieldset {
  border: none;
  padding: 0;
  margin-bottom: 20px; }

.path-checkout .form-item-order-remark-comment {
  margin-bottom: 20px; }

.path-checkout .form-wrapper .form-item {
  display: block;
  margin-right: 0;
  overflow: hidden; }

.path-checkout .address-line1 {
  margin-bottom: 7px; }

.path-checkout #edit-review-contact-information {
  display: none; }

.path-checkout #block-commerce-checkout-order-summary h2, .path-checkout #block-commerce-checkout-order-summary .form-wrapper legend .fieldset-legend, .path-checkout .form-wrapper legend #block-commerce-checkout-order-summary .fieldset-legend {
  margin-bottom: 1em; }

.path-checkout #block-commerce-checkout-order-summary table td {
  padding: 3px 10px 3px 0; }
  .path-checkout #block-commerce-checkout-order-summary table td.views-field-total-price__number {
    padding-left: 50px;
    padding-right: 0;
    text-align: right; }

.path-checkout #edit-review-billing-information {
  margin-top: 3em; }
  .path-checkout #edit-review-billing-information legend {
    margin: 0; }

.path-checkout .field--name-field-shipment {
  margin-top: 20px; }

ol.checkout-progress {
  padding-left: 20px; }
  ol.checkout-progress li {
    display: block;
    margin-bottom: 10px; }

.field--name-field-shipment summary {
  display: none; }

.path-frontpage .content aside {
  display: none; }

.path-frontpage .content .layout-content {
  width: 100% !important;
  margin: 0; }
  .path-frontpage .content .layout-content h1, .path-frontpage .content .layout-content .path-checkout .form-wrapper:first-child legend .fieldset-legend, .path-checkout .form-wrapper:first-child legend .path-frontpage .content .layout-content .fieldset-legend, .path-frontpage .content .layout-content .path-checkout fieldset legend, .path-checkout fieldset .path-frontpage .content .layout-content legend, .path-frontpage .content .layout-content .path-checkout #block-commerce-checkout-order-summary h2, .path-checkout #block-commerce-checkout-order-summary .path-frontpage .content .layout-content h2, .path-frontpage .content .layout-content .path-checkout #block-commerce-checkout-order-summary .form-wrapper legend .fieldset-legend, .path-checkout #block-commerce-checkout-order-summary .form-wrapper legend .path-frontpage .content .layout-content .fieldset-legend, .path-frontpage .content .layout-content .path-checkout .form-wrapper legend #block-commerce-checkout-order-summary .fieldset-legend, .path-checkout .form-wrapper legend #block-commerce-checkout-order-summary .path-frontpage .content .layout-content .fieldset-legend, .path-frontpage .content .layout-content .path-search h2, .path-search .path-frontpage .content .layout-content h2, .path-frontpage .content .layout-content .path-search .path-checkout .form-wrapper legend .fieldset-legend, .path-search .path-checkout .form-wrapper legend .path-frontpage .content .layout-content .fieldset-legend, .path-frontpage .content .layout-content .path-checkout .form-wrapper legend .path-search .fieldset-legend, .path-checkout .form-wrapper legend .path-search .path-frontpage .content .layout-content .fieldset-legend {
    display: none; }

.path-frontpage .precontent .block-block-content {
  float: left;
  display: block;
  margin-right: 2.5641%;
  width: 100%;
  box-sizing: border-box;
  color: #115328;
  margin-bottom: 2.5641%;
  background: #f4f4f4; }
  .path-frontpage .precontent .block-block-content:last-child {
    margin-right: 0; }
  .lt-ie9 .path-frontpage .precontent .block-block-content {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 23.07692%; }
    .lt-ie9 .path-frontpage .precontent .block-block-content:last-child {
      margin-right: 0; }
    .lt-ie9 .path-frontpage .precontent .block-block-content:last-child {
      margin-right: 0; }
  @media all and (min-width: 720px) {
    .path-frontpage .precontent .block-block-content {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 23.07692%; }
      .path-frontpage .precontent .block-block-content:last-child {
        margin-right: 0; }
      .path-frontpage .precontent .block-block-content:last-child {
        margin-right: 0; } }
  .path-frontpage .precontent .block-block-content .block-front__link a {
    background: #115328; }
    .path-frontpage .precontent .block-block-content .block-front__link a:hover, .path-frontpage .precontent .block-block-content .block-front__link a:focus {
      background: #4b4736; }
  .path-frontpage .precontent .block-block-content#block-frontloginpublic {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 100%;
    box-sizing: border-box;
    color: #f03f6d;
    margin-bottom: 2.5641%; }
    .path-frontpage .precontent .block-block-content#block-frontloginpublic:last-child {
      margin-right: 0; }
    .lt-ie9 .path-frontpage .precontent .block-block-content#block-frontloginpublic {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 23.07692%; }
      .lt-ie9 .path-frontpage .precontent .block-block-content#block-frontloginpublic:last-child {
        margin-right: 0; }
      .lt-ie9 .path-frontpage .precontent .block-block-content#block-frontloginpublic:last-child {
        margin-right: 0; }
    @media all and (min-width: 720px) {
      .path-frontpage .precontent .block-block-content#block-frontloginpublic {
        float: left;
        display: block;
        margin-right: 2.5641%;
        width: 23.07692%; }
        .path-frontpage .precontent .block-block-content#block-frontloginpublic:last-child {
          margin-right: 0; }
        .path-frontpage .precontent .block-block-content#block-frontloginpublic:last-child {
          margin-right: 0; } }
    .path-frontpage .precontent .block-block-content#block-frontloginpublic .block-front__link a {
      background: #f03f6d; }
      .path-frontpage .precontent .block-block-content#block-frontloginpublic .block-front__link a:hover, .path-frontpage .precontent .block-block-content#block-frontloginpublic .block-front__link a:focus {
        background: #4b4736; }
    .path-frontpage .precontent .block-block-content#block-frontloginpublic span.block-front__span {
      background-color: #f03f6d; }
  .lt-ie9 .path-frontpage .precontent .block-block-content#block-frontpublic1 {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 23.07692%; }
    .lt-ie9 .path-frontpage .precontent .block-block-content#block-frontpublic1:last-child {
      margin-right: 0; }
  .lt-ie9 .path-frontpage .precontent .block-block-content#block-frontpublic7 {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 23.07692%; }
    .lt-ie9 .path-frontpage .precontent .block-block-content#block-frontpublic7:last-child {
      margin-right: 0; }
  .lt-ie9 .path-frontpage .precontent .block-block-content#block-frontpublicthuiscomposteerwijzer {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 23.07692%; }
    .lt-ie9 .path-frontpage .precontent .block-block-content#block-frontpublicthuiscomposteerwijzer:last-child {
      margin-right: 0; }
  .lt-ie9 .path-frontpage .precontent .block-block-content#block-frontpublic3 {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 23.07692%;
    margin-right: 0; }
    .lt-ie9 .path-frontpage .precontent .block-block-content#block-frontpublic3:last-child {
      margin-right: 0; }
  @media all and (min-width: 720px) {
    .path-frontpage .precontent .block-block-content#block-frontpublic1 {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 23.07692%; }
      .path-frontpage .precontent .block-block-content#block-frontpublic1:last-child {
        margin-right: 0; }
    .path-frontpage .precontent .block-block-content#block-frontpublic7 {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 23.07692%; }
      .path-frontpage .precontent .block-block-content#block-frontpublic7:last-child {
        margin-right: 0; }
    .path-frontpage .precontent .block-block-content#block-frontpublicthuiscomposteerwijzer {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 23.07692%; }
      .path-frontpage .precontent .block-block-content#block-frontpublicthuiscomposteerwijzer:last-child {
        margin-right: 0; }
    .path-frontpage .precontent .block-block-content#block-frontpublic3 {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 23.07692%;
      margin-right: 0; }
      .path-frontpage .precontent .block-block-content#block-frontpublic3:last-child {
        margin-right: 0; } }

.path-frontpage .content {
  background: #f4f4f4;
  padding-top: 2.5641%; }
  .path-frontpage .content .block-block-content {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 100%;
    box-sizing: border-box;
    color: #f03f6d;
    margin-bottom: 2.5641%;
    background: #fff; }
    .path-frontpage .content .block-block-content:last-child {
      margin-right: 0; }
    .lt-ie9 .path-frontpage .content .block-block-content {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 23.07692%; }
      .lt-ie9 .path-frontpage .content .block-block-content:last-child {
        margin-right: 0; }
      .lt-ie9 .path-frontpage .content .block-block-content:last-child {
        margin-right: 0; }
    @media all and (min-width: 720px) {
      .path-frontpage .content .block-block-content {
        float: left;
        display: block;
        margin-right: 2.5641%;
        width: 23.07692%; }
        .path-frontpage .content .block-block-content:last-child {
          margin-right: 0; }
        .path-frontpage .content .block-block-content:last-child {
          margin-right: 0; } }
    .path-frontpage .content .block-block-content .block-front__link a {
      background: #f03f6d; }
      .path-frontpage .content .block-block-content .block-front__link a:hover, .path-frontpage .content .block-block-content .block-front__link a:focus {
        background: #4b4736; }
    .path-frontpage .content .block-block-content#block-frontmembers1, .path-frontpage .content .block-block-content#block-frontmembers2, .path-frontpage .content .block-block-content#block-frontloginmembers {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 100%;
      box-sizing: border-box;
      color: #f03f6d;
      margin-bottom: 2.5641%; }
      .path-frontpage .content .block-block-content#block-frontmembers1:last-child, .path-frontpage .content .block-block-content#block-frontmembers2:last-child, .path-frontpage .content .block-block-content#block-frontloginmembers:last-child {
        margin-right: 0; }
      .lt-ie9 .path-frontpage .content .block-block-content#block-frontmembers1, .lt-ie9 .path-frontpage .content .block-block-content#block-frontmembers2, .lt-ie9 .path-frontpage .content .block-block-content#block-frontloginmembers {
        float: left;
        display: block;
        margin-right: 2.5641%;
        width: 23.07692%; }
        .lt-ie9 .path-frontpage .content .block-block-content#block-frontmembers1:last-child, .lt-ie9 .path-frontpage .content .block-block-content#block-frontmembers2:last-child, .lt-ie9 .path-frontpage .content .block-block-content#block-frontloginmembers:last-child {
          margin-right: 0; }
        .lt-ie9 .path-frontpage .content .block-block-content#block-frontmembers1:last-child, .lt-ie9 .path-frontpage .content .block-block-content#block-frontmembers2:last-child, .lt-ie9 .path-frontpage .content .block-block-content#block-frontloginmembers:last-child {
          margin-right: 0; }
      @media all and (min-width: 720px) {
        .path-frontpage .content .block-block-content#block-frontmembers1, .path-frontpage .content .block-block-content#block-frontmembers2, .path-frontpage .content .block-block-content#block-frontloginmembers {
          float: left;
          display: block;
          margin-right: 2.5641%;
          width: 23.07692%; }
          .path-frontpage .content .block-block-content#block-frontmembers1:last-child, .path-frontpage .content .block-block-content#block-frontmembers2:last-child, .path-frontpage .content .block-block-content#block-frontloginmembers:last-child {
            margin-right: 0; }
          .path-frontpage .content .block-block-content#block-frontmembers1:last-child, .path-frontpage .content .block-block-content#block-frontmembers2:last-child, .path-frontpage .content .block-block-content#block-frontloginmembers:last-child {
            margin-right: 0; } }
      .path-frontpage .content .block-block-content#block-frontmembers1 .block-front__link a, .path-frontpage .content .block-block-content#block-frontmembers2 .block-front__link a, .path-frontpage .content .block-block-content#block-frontloginmembers .block-front__link a {
        background: #f03f6d; }
        .path-frontpage .content .block-block-content#block-frontmembers1 .block-front__link a:hover, .path-frontpage .content .block-block-content#block-frontmembers1 .block-front__link a:focus, .path-frontpage .content .block-block-content#block-frontmembers2 .block-front__link a:hover, .path-frontpage .content .block-block-content#block-frontmembers2 .block-front__link a:focus, .path-frontpage .content .block-block-content#block-frontloginmembers .block-front__link a:hover, .path-frontpage .content .block-block-content#block-frontloginmembers .block-front__link a:focus {
          background: #4b4736; }
      .path-frontpage .content .block-block-content#block-frontmembers1 span.block-front__span, .path-frontpage .content .block-block-content#block-frontmembers2 span.block-front__span, .path-frontpage .content .block-block-content#block-frontloginmembers span.block-front__span {
        background-color: #f03f6d; }

.path-frontpage .social-share {
  display: none; }

.path-frontpage .subcontent {
  padding-top: 40px; }
  .path-frontpage .subcontent .block-views {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 100%;
    margin-bottom: 50px; }
    .path-frontpage .subcontent .block-views:last-child {
      margin-right: 0; }
  .path-frontpage .subcontent .block-vlaco {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 100%;
    margin-bottom: 50px; }
    .path-frontpage .subcontent .block-vlaco:last-child {
      margin-right: 0; }
  .lt-ie9 .path-frontpage .subcontent .block-views {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 48.71795%; }
    .lt-ie9 .path-frontpage .subcontent .block-views:last-child {
      margin-right: 0; }
  .lt-ie9 .path-frontpage .subcontent .block-views + .block-views {
    margin-right: 0; }
  @media all and (min-width: 420px) {
    .path-frontpage .subcontent .block-views {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 48.71795%; }
      .path-frontpage .subcontent .block-views:last-child {
        margin-right: 0; }
    .path-frontpage .subcontent .block-views + .block-views {
      margin-right: 0; } }
  .lt-ie9 .path-frontpage .subcontent .block-views {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 31.62393%; }
    .lt-ie9 .path-frontpage .subcontent .block-views:last-child {
      margin-right: 0; }
  .lt-ie9 .path-frontpage .subcontent .block-views + .block-views {
    margin-right: 2.5641%; }
  .lt-ie9 .path-frontpage .subcontent .block-vlaco {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 31.62393%;
    margin-right: 0; }
    .lt-ie9 .path-frontpage .subcontent .block-vlaco:last-child {
      margin-right: 0; }
  @media all and (min-width: 720px) {
    .path-frontpage .subcontent .block-views {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 31.62393%; }
      .path-frontpage .subcontent .block-views:last-child {
        margin-right: 0; }
    .path-frontpage .subcontent .block-views + .block-views {
      margin-right: 2.5641%; }
    .path-frontpage .subcontent .block-vlaco {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 31.62393%;
      margin-right: 0; }
      .path-frontpage .subcontent .block-vlaco:last-child {
        margin-right: 0; } }

.path-frontpage footer {
  margin-top: 0; }

.block-front {
  position: relative;
  min-height: 5px; }
  .lt-ie9 .block-front {
    padding-bottom: 40px; }
  @media all and (min-width: 720px) {
    .block-front {
      padding-bottom: 40px; } }

.block-front__icon {
  display: none;
  padding-top: 15px;
  text-align: center; }
  .lt-ie9 .block-front__icon {
    display: block; }
  @media all and (min-width: 720px) {
    .block-front__icon {
      display: block; } }
  .block-front__icon .icon {
    font-size: 0; }
  .block-front__icon .icon:before {
    font-size: 75px; }

.block-front__image {
  display: none;
  padding-top: 15px;
  overflow: hidden; }
  .lt-ie9 .block-front__image {
    display: block; }
  @media all and (min-width: 720px) {
    .block-front__image {
      display: block; } }
  .lt-ie9 .block-front__image {
    text-align: center; }
  @media all and (min-width: 720px) {
    .block-front__image {
      text-align: center; } }
  .block-front__icon + .block-front__image {
    display: none; }

.block-front__title {
  display: none;
  font-size: 18px;
  font-size: 1.2rem;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: 700;
  line-height: 1.1;
  margin: 15px 0 10px;
  text-align: center; }
  .lt-ie9 .block-front__title {
    display: block; }
  @media all and (min-width: 720px) {
    .block-front__title {
      display: block; } }
  .lt-ie9 .block-front__title {
    font-size: 22px;
    font-size: 1.46667rem; }
  @media all and (min-width: 720px) {
    .block-front__title {
      font-size: 22px;
      font-size: 1.46667rem; } }

.block-front__description {
  display: none;
  color: #4b4736;
  margin: 1.3em 0 .5em; }
  .lt-ie9 .block-front__description {
    display: block; }
  @media all and (min-width: 720px) {
    .block-front__description {
      display: block; } }

.block-front__link a {
  font-size: 15px;
  font-size: 1rem;
  background: #115328;
  border: 0;
  box-shadow: none;
  color: #fff;
  font-weight: 600;
  display: inline-block;
  line-height: 1;
  padding: 7px 10px 8px;
  text-decoration: none;
  text-shadow: none;
  text-transform: uppercase;
  transition: background 150ms linear, color 150ms linear;
  -o-transition: background 150ms linear, color 150ms linear;
  -ms-transition: background 150ms linear, color 150ms linear;
  -webkit-font-smoothing: antialiased;
  display: block;
  line-height: 1.1;
  margin: -20px;
  padding: 15px 50px 15px 20px;
  position: static; }
  .block-front__link a.active, .block-front__link a:hover, .block-front__link a:focus {
    background: #4b4736;
    color: #fff;
    outline: none; }
  .lt-ie9 .block-front__link a {
    bottom: -20px;
    left: -20px;
    position: absolute;
    right: -20px;
    margin: 0; }
  @media all and (min-width: 720px) {
    .block-front__link a {
      bottom: -20px;
      left: -20px;
      position: absolute;
      right: -20px;
      margin: 0; } }
  .block-front__link a:after {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 24px;
    margin-top: -12px;
    position: absolute;
    right: -10px;
    top: 50%; }
    .lt-ie9 .block-front__link a:after {
      right: 14px; }
    @media all and (min-width: 720px) {
      .block-front__link a:after {
        right: 14px; } }

.block-front__link span.block-front__span {
  font-size: 15px;
  font-size: 1rem;
  background: #115328;
  border: 0;
  box-shadow: none;
  color: #fff;
  font-weight: 600;
  display: inline-block;
  line-height: 1;
  padding: 7px 10px 8px;
  text-decoration: none;
  text-shadow: none;
  text-transform: uppercase;
  transition: background 150ms linear, color 150ms linear;
  -o-transition: background 150ms linear, color 150ms linear;
  -ms-transition: background 150ms linear, color 150ms linear;
  -webkit-font-smoothing: antialiased;
  display: block;
  line-height: 1.1;
  margin: -20px;
  padding: 15px 50px 15px 20px;
  position: static;
  cursor: pointer;
  color: #ffffff;
  background-color: #115328; }
  .block-front__link span.block-front__span.active, .block-front__link span.block-front__span:hover, .block-front__link span.block-front__span:focus {
    background: #4b4736;
    color: #fff;
    outline: none; }
  .lt-ie9 .block-front__link span.block-front__span {
    bottom: -20px;
    left: -20px;
    position: absolute;
    right: -20px;
    margin: 0; }
  @media all and (min-width: 720px) {
    .block-front__link span.block-front__span {
      bottom: -20px;
      left: -20px;
      position: absolute;
      right: -20px;
      margin: 0; } }
  .block-front__link span.block-front__span:after {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 24px;
    margin-top: -12px;
    position: absolute;
    right: -10px;
    top: 50%; }
    .lt-ie9 .block-front__link span.block-front__span:after {
      right: 14px; }
    @media all and (min-width: 720px) {
      .block-front__link span.block-front__span:after {
        right: 14px; } }

a.block-front__card-link {
  display: block;
  color: inherit;
  padding: 20px;
  text-decoration: none; }
  a.block-front__card-link:hover, a.block-front__card-link:focus {
    color: inherit;
    text-decoration: none; }
    a.block-front__card-link:hover span.block-front__span, a.block-front__card-link:focus span.block-front__span {
      background: #4b4736; }

.path-user h2, .path-user .path-checkout .form-wrapper legend .fieldset-legend, .path-checkout .form-wrapper legend .path-user .fieldset-legend {
  margin-bottom: 30px; }

.path-user .field__label {
  display: inline-block; }
  .path-user .field__label:after {
    content: ': '; }

.path-user .field__item {
  display: inline-block; }

.path-user .precontent .messages--warning {
  background: none !important;
  border: 0;
  box-shadow: none !important;
  box-sizing: border-box;
  color: #4b4736 !important;
  padding: 0;
  float: right; }
  .lt-ie9 .path-user .precontent .messages--warning {
    float: left;
    display: block;
    margin-right: 2.5641%;
    width: 65.81197%;
    margin-right: 0; }
    .lt-ie9 .path-user .precontent .messages--warning:last-child {
      margin-right: 0; }
  @media all and (min-width: 920px) {
    .path-user .precontent .messages--warning {
      float: left;
      display: block;
      margin-right: 2.5641%;
      width: 65.81197%;
      margin-right: 0; }
      .path-user .precontent .messages--warning:last-child {
        margin-right: 0; } }

.path-user input.button {
  margin-top: 1em; }

.path-search .views-exposed-form {
  background: #f4f4f4;
  margin-bottom: 3em;
  padding: 20px 25px;
  overflow: hidden; }
  .path-search .views-exposed-form label {
    display: block;
    float: left;
    margin: 7px 10px 0 0;
    font-size: 15px; }
  .path-search .views-exposed-form input.form-text {
    display: block;
    float: left;
    border: none;
    height: 30px;
    padding: 3px 7px;
    box-sizing: border-box;
    margin-right: 5px; }
  .path-search .views-exposed-form input.form-submit {
    display: block;
    float: left; }

.path-search .search-help-link,
.path-search .search-advanced {
  display: none; }

.path-search .view-content .views-row {
  border-bottom: 1px solid #dbdad7;
  padding-top: 40px;
  padding-bottom: 40px;
  -webkit-transition: -webkit-filter 300ms linear; }
  .path-search .view-content .views-row:last-child {
    border-bottom: 0;
    margin-bottom: 0; }

.search-result__snippet {
  margin-bottom: 0; }

.search-result__info {
  display: none; }

html {
  color: #4b4736; }
  html ::selection {
    color: #4b4736;
    background: #b4b8c9; }

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

a {
  color: #4b4736; }
  a:hover, a:focus {
    color: #b4b8c9; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiYmFzZS9fZ3JpZC1zZXR0aW5ncy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9zZXR0aW5ncy9fZGVwcmVjYXRpb24td2FybmluZ3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9zZXR0aW5ncy9fYXNzZXQtcGlwZWxpbmUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvX2JvdXJib24tZGVwcmVjYXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fYXNzaWduLWlucHV0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fY29udGFpbnMtZmFsc3kuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1sZW5ndGguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1saWdodC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLW51bWJlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLXNpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3NoYWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fc3RyaXAtdW5pdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL190aW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdW5wYWNrLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fbW9kdWxhci1zY2FsZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLWdyYWRpZW50LXBhcnNlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1hcmctcGFyc2VyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fcmVuZGVyLWdyYWRpZW50cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYW5pbWF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2ZhY2UtdmlzaWJpbGl0eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYm9yZGVyLWltYWdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2NhbGMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fY29sdW1ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19maWx0ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZmxleC1ib3guc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZm9udC1mYWNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19oaWRwaS1tZWRpYS1xdWVyeS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19oeXBoZW5zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ltYWdlLXJlbmRlcmluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19rZXlmcmFtZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3BlcnNwZWN0aXZlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3BsYWNlaG9sZGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19zZWxlY3Rpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3VzZXItc2VsZWN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLWNvbG9yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci1zdHlsZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci13aWR0aC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2VsbGlwc2lzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fZm9udC1zdGFja3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19oaWRlLXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19tYXJnaW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wYWRkaW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wcmVmaXhlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3NpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190ZXh0LWlucHV0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3RpbWluZy1mdW5jdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190cmlhbmdsZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvX25lYXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fbmVhdC1oZWxwZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19wcml2YXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19uZXctYnJlYWtwb2ludC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX3Zpc3VhbC1ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX2Rpc2FibGUtd2FybmluZ3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19wcml2YXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fYm94LXNpemluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX29tZWdhLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fc3Bhbi1jb2x1bW5zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fcm93LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fc2hpZnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19wYWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19maWxsLXBhcmVudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX21lZGlhLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fdG8tZGVwcmVjYXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fdmlzdWFsLWdyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19kaXNwbGF5LWNvbnRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19kaXJlY3Rpb24tY29udGV4dC5zY3NzIiwiYmFzZS9fdmFyaWFibGVzLnNjc3MiLCJiYXNlL19mb250cy5zY3NzIiwiYmFzZS9fbm9ybWFsaXplLnNjc3MiLCJiYXNlL21peGlucy9fbWl4aW5zLnNjc3MiLCJiYXNlL21peGlucy9fZ3JpZC5zY3NzIiwiYmFzZS9taXhpbnMvX2Jsb2Nrcy5zY3NzIiwiYmFzZS9taXhpbnMvX2J1dHRvbnMuc2NzcyIsImJhc2UvbWl4aW5zL19jYWxjdWxhdG9yLnNjc3MiLCJiYXNlL21peGlucy9fZm9ybXMuc2NzcyIsImJhc2UvbWl4aW5zL190aXRsZXMuc2NzcyIsImJhc2UvbWl4aW5zL192aWV3cy5zY3NzIiwiZGVzaWduL19kZXNpZ24uc2NzcyIsImRlc2lnbi9fbGF5b3V0LnNjc3MiLCJkZXNpZ24vX3R5cG9ncmFwaHkuc2NzcyIsImRlc2lnbi9faGVhZGVyLnNjc3MiLCJkZXNpZ24vX2Zvb3Rlci5zY3NzIiwiZGVzaWduL19uYXZpZ2F0aW9uLnNjc3MiLCJkZXNpZ24vX2Zvcm1zLnNjc3MiLCJkZXNpZ24vX3RhYmxlcy5zY3NzIiwic3R5bGVzL19zdHlsZXMuc2NzcyIsInN0eWxlcy9jb21wb25lbnQvX2NvbXBvbmVudC5zY3NzIiwic3R5bGVzL2NvbXBvbmVudC9fYXR0YWNobWVudC5zY3NzIiwic3R5bGVzL2NvbXBvbmVudC9fYnJlYWRjcnVtYi5zY3NzIiwic3R5bGVzL2NvbXBvbmVudC9fY29tcG9zdC5zY3NzIiwic3R5bGVzL2NvbXBvbmVudC9fY29tbWVyY2UtcHJvZHVjdC5zY3NzIiwic3R5bGVzL2NvbXBvbmVudC9fZGF0ZS5zY3NzIiwic3R5bGVzL2NvbXBvbmVudC9fZmItcGFnZS5zY3NzIiwic3R5bGVzL2NvbXBvbmVudC9faXNzdXUuc2NzcyIsInN0eWxlcy9jb21wb25lbnQvX2xpbmsuc2NzcyIsInN0eWxlcy9jb21wb25lbnQvX3NvY2lhbC1zaGFyZS5zY3NzIiwic3R5bGVzL2NvbXBvbmVudC9fdGFncy5zY3NzIiwic3R5bGVzL2NvbXBvbmVudC9fc3RvcmVsb2NhdG9yLnNjc3MiLCJzdHlsZXMvY29tcG9uZW50L2NhbGN1bGF0b3IvX2NhbGN1bGF0b3Iuc2NzcyIsInN0eWxlcy9jb21wb25lbnQvY2FsY3VsYXRvci9fY28yLWZvcm0uc2NzcyIsInN0eWxlcy9jb21wb25lbnQvY2FsY3VsYXRvci9fY29tcG9zdC1mb3JtLnNjc3MiLCJzdHlsZXMvY29tcG9uZW50L2NhbGN1bGF0b3IvX2NvbXBvc3QtcmVzdWx0cy5zY3NzIiwic3R5bGVzL2NvbXBvbmVudC9jYWxjdWxhdG9yL19kaW1hLWZvcm0uc2NzcyIsInN0eWxlcy9jb21wb25lbnQvY2FsY3VsYXRvci9fZGltYS1yZXN1bHRzLnNjc3MiLCJzdHlsZXMvY29tcG9uZW50L190eXBlYWhlYWQuc2NzcyIsInN0eWxlcy9jb21wb25lbnQvX2NoZWNrb3V0LnNjc3MiLCJzdHlsZXMvbm9kZS9fbm9kZS5zY3NzIiwic3R5bGVzL25vZGUvX25vZGUtY2FsZW5kYXIuc2NzcyIsInN0eWxlcy9ub2RlL19ub2RlLWNvbXBhbnkuc2NzcyIsInN0eWxlcy9ub2RlL19ub2RlLWRvd25sb2FkLnNjc3MiLCJzdHlsZXMvbm9kZS9fbm9kZS1sb2NhdGlvbi5zY3NzIiwic3R5bGVzL25vZGUvX25vZGUtbmV3cy5zY3NzIiwic3R5bGVzL25vZGUvX25vZGUtcGFnZS5zY3NzIiwic3R5bGVzL25vZGUvX25vZGUtcGVyc29uLnNjc3MiLCJzdHlsZXMvbm9kZS9fbm9kZS1waWN0dXJlLnNjc3MiLCJzdHlsZXMvdGVybS9fdGVybS5zY3NzIiwic3R5bGVzL3Rlcm0vX3Rlcm0teWVhci5zY3NzIiwic3R5bGVzL3Rlcm0vX3Rlcm0tdHJlZS5zY3NzIiwic3R5bGVzL3Rlcm0vX3Rlcm0tbG9jYXRpb24uc2NzcyIsInN0eWxlcy92aWV3L192aWV3LnNjc3MiLCJzdHlsZXMvdmlldy9fdmlldy1jYWxlbmRhci5zY3NzIiwic3R5bGVzL3ZpZXcvX3ZpZXctZG93bmxvYWQuc2NzcyIsInN0eWxlcy92aWV3L192aWV3LWZhcS5zY3NzIiwic3R5bGVzL3ZpZXcvX3ZpZXctbmV3cy5zY3NzIiwic3R5bGVzL3ZpZXcvX3ZpZXctcGVyc29uLnNjc3MiLCJzdHlsZXMvdmlldy9fdmlldy1waWN0dXJlcy5zY3NzIiwic3R5bGVzL3ZpZXcvX3ZpZXctdGFncy5zY3NzIiwic3R5bGVzL3ZpZXcvX3ZpZXctd2Vic2hvcC5zY3NzIiwic3R5bGVzL3ZpZXcvX3ZpZXcteWVhcmx5cmVwb3J0LnNjc3MiLCJzdHlsZXMvcGFnZS9fcGFnZS5zY3NzIiwic3R5bGVzL3BhZ2UvX3BhZ2UtY2FydC5zY3NzIiwic3R5bGVzL3BhZ2UvX3BhZ2UtY2hlY2tvdXQuc2NzcyIsInN0eWxlcy9wYWdlL19wYWdlLWZyb250LnNjc3MiLCJzdHlsZXMvcGFnZS9fcGFnZS11c2VyLnNjc3MiLCJzdHlsZXMvcGFnZS9fcGFnZS1zZWFyY2guc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCAnVVRGLTgnO1xuXG4vLyBTdHlsZSBmaWxlXG4vLyBUaGlzIGZpbGUgaXMgY29tcGlsZWQgaW50byBzdHlsZS5jc3NcblxuQGltcG9ydCAnYmFzZS9ncmlkLXNldHRpbmdzJztcbkBpbXBvcnQgJ2JvdXJib24nO1xuQGltcG9ydCAnbmVhdCc7XG5cbi8vIC0tLS0tLS0tLS0gSW1wb3J0IGJhc2UgLS0tLS0tLS0tLVxuQGltcG9ydCAnYmFzZS92YXJpYWJsZXMnO1xuQGltcG9ydCAnYmFzZS9mb250cyc7XG5AaW1wb3J0ICdiYXNlL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICdiYXNlL21peGlucy9taXhpbnMnO1xuXG4vLyAtLS0tLS0tLS0tIEltcG9ydCBkZXNpZ24gLS0tLS0tLS0tLVxuQGltcG9ydCAnZGVzaWduL2Rlc2lnbic7XG5cbi8vIC0tLS0tLS0tLS0gSW1wb3J0IHN0eWxlcyAtLS0tLS0tLS0tXG5AaW1wb3J0ICdzdHlsZXMvc3R5bGVzJztcbiIsIi8vIEdyaWQgc2V0dGluZ3MgKFBvd2VyZWQgYnkgQm91cmJvbiBOZWF0KS5cbi8vIFNvdXJjZTogaHR0cDovL3Rob3VnaHRib3QuZ2l0aHViLmlvL25lYXQtZG9jcy9sYXRlc3QvI3ZhcmlhYmxlXG5cbi8vIFNldHMgdGhlIHJlbGF0aXZlIHdpZHRoIG9mIGEgc2luZ2xlIGdyaWQgY29sdW1uLiBUaGUgdW5pdCB1c2VkIHNob3VsZCBiZSB0aGUgc2FtZSBvbmUgdXNlZCB0byBkZWZpbmUgYCRndXR0ZXJgLlxuJGNvbHVtbjogNzA7XG5cbi8vIFNldHMgdGhlIHJlbGF0aXZlIHdpZHRoIG9mIGEgc2luZ2xlIGdyaWQgZ3V0dGVyLiBUaGUgdW5pdCB1c2VkIHNob3VsZCBiZSB0aGUgc2FtZSBvbmUgdXNlZCB0byBkZWZpbmUgYCRjb2x1bW5gLlxuJGd1dHRlcjogMzA7XG5cbi8vIFNldHMgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLiBJdHMgdmFsdWUgY2FuIGJlIG92ZXJyaWRkZW4gaW5zaWRlIGEgbWVkaWEgcXVlcnkgdXNpbmcgdGhlIGBtZWRpYSgpYCBtaXhpbi5cbiRncmlkLWNvbHVtbnM6IDEyO1xuXG4vLyBTZXRzIHRoZSBtYXgtd2lkdGggcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgdGhhdCBpbmNsdWRlcyBgb3V0ZXItY29udGFpbmVyKClgLlxuJG1heC13aWR0aDogMTIwMHB4O1xuXG4vLyBXaGVuIHNldCB0byB0cnVlLCBpdCBzZXRzIHRoZSBib3gtc2l6aW5nIHByb3BlcnR5IG9mIGFsbCBlbGVtZW50cyB0byBgYm9yZGVyLWJveGAuXG4kYm9yZGVyLWJveC1zaXppbmc6IHRydWU7XG5cbi8vIFNldHMgdGhlIGRlZmF1bHQgbWVkaWEgZmVhdHVyZSB0aGF0IGBtZWRpYSgpYCBhbmQgYG5ldy1icmVha3BvaW50KClgIHJldmVydCB0byB3aGVuIG9ubHkgYSBicmVha3BvaW50IHZhbHVlIGlzIHBhc3NlZC5cbiRkZWZhdWx0LWZlYXR1cmU6IG1pbi13aWR0aDtcblxuLy8gU2V0cyB0aGUgZGVmYXVsdCBsYXlvdXQgZGlyZWN0aW9uIG9mIHRoZSBncmlkLiBDYW4gYmUgYExUUmAgb3IgYFJUTGAuXG4kZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uOiBMVFI7XG5cbi8vIERpc3BsYXlzIHRoZSB2aXN1YWwgZ3JpZCB3aGVuIHNldCB0byB0cnVlLlxuLy8gVGhlIG92ZXJsYWlkIGdyaWQgbWF5IGJlIGZldyBwaXhlbHMgb2ZmIGRlcGVuZGluZyBvbiB0aGUgYnJvd3NlcidzIHJlbmRlcmluZyBlbmdpbmUgYW5kIHBpeGVsIHJvdW5kaW5nIGFsZ29yaXRobS5cbiR2aXN1YWwtZ3JpZDogZmFsc2U7XG5cbi8vIFNldHMgdGhlIHZpc3VhbCBncmlkIGNvbG9yLlxuJHZpc3VhbC1ncmlkLWNvbG9yOiAjZWVlO1xuXG4vLyBTZXRzIHRoZSAnei1pbmRleCcgcHJvcGVydHkgb2YgdGhlIHZpc3VhbCBncmlkLiBDYW4gYmUgYGJhY2tgIChiZWhpbmQgY29udGVudCkgb3IgYGZyb250YCAoaW4gZnJvbnQgb2YgY29udGVudCkuXG4kdmlzdWFsLWdyaWQtaW5kZXg6IGJhY2s7XG5cbi8vIFNldHMgdGhlIG9wYWNpdHkgcHJvcGVydHkgb2YgdGhlIHZpc3VhbCBncmlkLlxuJHZpc3VhbC1ncmlkLW9wYWNpdHk6IC40O1xuIiwiLy8gQm91cmJvbiA0LjMuNFxuLy8gaHR0cDovL2JvdXJib24uaW9cbi8vIENvcHlyaWdodCAyMDExLTIwMTcgdGhvdWdodGJvdCwgaW5jLlxuLy8gTUlUIExpY2Vuc2VcblxuQGltcG9ydCBcInNldHRpbmdzL2RlcHJlY2F0aW9uLXdhcm5pbmdzXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9weC10by1lbVwiO1xuQGltcG9ydCBcInNldHRpbmdzL2Fzc2V0LXBpcGVsaW5lXCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uLWRlcHJlY2F0ZVwiO1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnbi1pbnB1dHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnMtZmFsc3lcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxpZ2h0XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLW51bWJlclwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1zaXplXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLWVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLXJlbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zaGFkZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zdHJpcC11bml0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90aW50XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RyYW5zaXRpb24tcHJvcGVydHktbmFtZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy91bnBhY2tcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvbW9kdWxhci1zY2FsZVwiO1xuXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9kaXJlY3Rpb25hbC12YWx1ZXNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XG5AaW1wb3J0IFwiaGVscGVycy9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItYW5nbGUtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zdHItdG8tbnVtXCI7XG5cbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xuQGltcG9ydCBcImNzczMvcmFkaWFsLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xuXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1jb2xvclwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1zdHlsZVwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItd2lkdGhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LXN0YWNrc1wiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvbWFyZ2luXCI7XG5AaW1wb3J0IFwiYWRkb25zL3BhZGRpbmdcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGV4dC1pbnB1dHNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRW5hYmxlIG9yIGRpc2FibGUgb3V0cHV0IG9mIEJvdXJib27igJlzIGRlcHJlY2F0aW9uLXJlbGF0ZWQgU2FzcyB3YXJuaW5ncy5cbi8vLyBUaGlzIHZhcmlhYmxlIG11c3QgYmUgZGVjbGFyZWQgX2JlZm9yZV8gaW1wb3J0aW5nIEJvdXJib24uXG4vLy9cbi8vLyBAdHlwZSBCb29sXG5cbiRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIG9yIGRpc2FibGUgdmVuZG9yIHByZWZpeGVzXG5cbiRwcmVmaXgtZm9yLXdlYmtpdDogICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW1vemlsbGE6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW1pY3Jvc29mdDogdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW9wZXJhOiAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLXNwZWM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiIsIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBnbG9iYWwgc2V0dGluZyB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgYCRhc3NldC1waXBlbGluZWAgdmFyaWFibGUgZm9yIGFsbCBmdW5jdGlvbnMgdGhhdCBhY2NlcHQgaXQuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG5cbiRhc3NldC1waXBlbGluZTogZmFsc2UgIWRlZmF1bHQ7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBUaHJvd3MgU2FzcyB3YXJuaW5ncyB0byBhbm5vdW5jZSBsaWJyYXJ5IGRlcHJlY2F0aW9ucy4gWW91IGNhbiBkaXNhYmxlIHRoZW1cbi8vLyBieSBzZXR0aW5nIHRoZSBgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzYCB2YXJpYWJsZSB0byBgZmFsc2VgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfYm91cmJvbi1kZXByZWNhdGUoJGZlYXR1cmUsICRtZXNzYWdlOiBudWxsKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgI3skZmVhdHVyZX1gIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgXCIgK1xuICAgICAgXCJyZW1vdmVkIGluIDUuMC4wLiAjeyRtZXNzYWdlfVwiO1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZygkZmVhdHVyZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUoJGZlYXR1cmUsIFwiV2Ugc3VnZ2VzdCB1c2luZyBhbiBhdXRvbWF0ZWQgXCIgK1xuICAgIFwicHJlZml4aW5nIHRvb2wsIGxpa2UgQXV0b3ByZWZpeGVyLlwiKTtcbn1cbiIsIkBmdW5jdGlvbiBhc3NpZ24taW5wdXRzKCRpbnB1dHMsICRwc2V1ZG86IG51bGwpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBhc3NpZ24taW5wdXRzYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkbGlzdDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgY29udGFpbnMgYSB2YWx1ZShzKS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlc1xuLy8vICAgQSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB2YWx1ZXMgdG8gY2hlY2sgZm9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBjb250YWlucygkbGlzdCwgJHZhbHVlKVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWVzLi4uKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgY29udGFpbnNgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgXCIgK1xuICAgIFwicmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgdHlwZS1vZihpbmRleCgkbGlzdCwgJHZhbHVlKSkgIT0gXCJudW1iZXJcIiB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgZG9lcyBub3QgY29udGFpbnMgYSB2YWx1ZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucy1mYWxzeSgkbGlzdCkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGNvbnRhaW5zLWZhbHN5YCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIG5vdCAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgbGVuZ3RoLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuXG5AZnVuY3Rpb24gaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGlzLWxlbmd0aGAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBcIiArXG4gICAgXCJyZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXG4gICAgICAgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QodW5pdGxlc3MoJHZhbHVlKSkpKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb2dyYW1hdGljYWxseSBkZXRlcm1pbmVzIHdoZXRoZXIgYSBjb2xvciBpcyBsaWdodCBvciBkYXJrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3JvYm90cy50aG91Z2h0Ym90LmNvbS9jbG9zZXItbG9vay1jb2xvci1saWdodG5lc3Ncbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3IgKEhleCl9ICRjb2xvclxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBpcy1saWdodCgkY29sb3IpXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGlzLWxpZ2h0YCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWdyZWVuOiBncmVlbihyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWxpZ2h0bmVzczogKCQtbG9jYWwtcmVkICogMC4yMTI2ICsgJC1sb2NhbC1ncmVlbiAqIDAuNzE1MiArICQtbG9jYWwtYmx1ZSAqIDAuMDcyMikgLyAyNTU7XG5cbiAgQHJldHVybiAkLWxvY2FsLWxpZ2h0bmVzcyA+IDAuNjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG5cbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgaXMtbnVtYmVyYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICBAcmV0dXJuIGNvbnRhaW5zKFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiIDAgMSAyIDMgNCA1IDYgNyA4IDksICR2YWx1ZSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcblxuQGZ1bmN0aW9uIGlzLXNpemUoJHZhbHVlKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgaXMtc2l6ZWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBcIiArXG4gICAgXCJyZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG5cbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgZW1gIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgXCIgK1xuICAgIFwicmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG5cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgcmVtYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcblxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIGJsYWNrLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIGJsYWNrIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNmZmJiNTIsIDYwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjRhMjA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpIHtcbiAgQHJldHVybiBtaXgoIzAwMCwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChXaXRoIFVuaXQpfSAkdmFsdWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgJGRpbWVuc2lvbjogc3RyaXAtdW5pdHMoMTBlbSk7XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAkZGltZW5zaW9uOiAxMDtcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlciAoVW5pdGxlc3MpfVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgc3RyaXAtdW5pdHNgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgXCIgK1xuICAgIFwicmVtb3ZlZCBpbiA1LjAuMCBhbmQgcmVwbGFjZWQgYnkgdGhlIGBzdHJpcC11bml0YCBmdW5jdGlvbi5cIjtcbiAgfVxuXG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIHdoaXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIHdoaXRlIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoIzZlY2FhNiwgNDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4ZGZjOTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG9yfVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCNmZmYsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lc2AgaXMgZGVwcmVjYXRlZCBcIiArXG4gICAgXCJhbmQgd2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG5cbiAgJG5ldy1wcm9wczogKCk7XG5cbiAgQGVhY2ggJHByb3AgaW4gJHByb3BzIHtcbiAgICAkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xuICB9XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG5cbiAgQHJldHVybiAkbmV3LXByb3BzO1xufVxuXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYHRyYW5zaXRpb24tcHJvcGVydHktbmFtZWAgaXMgZGVwcmVjYXRlZCBcIiArXG4gICAgXCJhbmQgd2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgLy8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXG4gIEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuICAgIEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRwcm9wO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDb252ZXJ0cyBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvcnRoYW5kXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luOiB1bnBhY2soMWVtIDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogMWVtIDJlbSAxZW0gMmVtO1xuLy8vICAgfVxuXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGB1bnBhY2tgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgXCIgK1xuICAgIFwicmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG4iLCIvLyBTY2FsaW5nIFZhcmlhYmxlc1xuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xuJG1ham9yLXNlY29uZDogICAgIDEuMTI1O1xuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xuJHBlcmZlY3QtZm91cnRoOiAgIDEuMzMzO1xuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcbiRtaW5vci1zaXh0aDogICAgICAxLjY7XG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XG4kbWFqb3Itc2V2ZW50aDogICAgMS44NzU7XG4kb2N0YXZlOiAgICAgICAgICAgMjtcbiRtYWpvci10ZW50aDogICAgICAyLjU7XG4kbWFqb3ItZWxldmVudGg6ICAgMi42Njc7XG4kbWFqb3ItdHdlbGZ0aDogICAgMztcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xuXG4kdXNlci1vdXRwdXQtZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZTtcblxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IGVtKCRlbS1iYXNlKSAhZGVmYXVsdDtcblxuJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1vdXRwdXQtZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZztcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xuICAkdmFsdWU6ICR2MTtcblxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcbiAgQHdoaWxlICR2MiA+ICR2MSB7XG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxuICB9XG4gIEB3aGlsZSAkdjIgPCAkdjEge1xuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXG4gIH1cblxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XG5cbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBzdHItdG8tbnVtIGZuLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9jb252ZXJ0LXVuaXRzKCRudW1iZXIsICR1bml0KSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgX2NvbnZlcnQtdW5pdHNgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgXCIgK1xuICAgIFwiYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICRzdHJpbmdzOiBcInB4XCIsIFwiY21cIiwgXCJtbVwiLCBcIiVcIiwgXCJjaFwiLCBcInBpY2FcIiwgXCJpblwiLCBcImVtXCIsIFwicmVtXCIsIFwicHRcIiwgXCJwY1wiLCBcImV4XCIsIFwidndcIiwgXCJ2aFwiLCBcInZtaW5cIiwgXCJ2bWF4XCIsIFwiZGVnXCIsIFwicmFkXCIsIFwiZ3JhZFwiLCBcInR1cm5cIjtcbiAgJHVuaXRzOiAgIDFweCwgMWNtLCAxbW0sIDElLCAxY2gsIDFwaWNhLCAxaW4sIDFlbSwgMXJlbSwgMXB0LCAxcGMsIDFleCwgMXZ3LCAxdmgsIDF2bWluLCAxdm1heCwgMWRlZywgMXJhZCwgMWdyYWQsIDF0dXJuO1xuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XG5cbiAgQGlmIG5vdCAkaW5kZXgge1xuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpICE9IFwibnVtYmVyXCIge1xuICAgIEB3YXJuIFwiYCN7JG51bWJlcn0gaXMgbm90IGEgbnVtYmVyYFwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGlyZWN0aW9uYWwtcHJvcGVydHkgbWl4aW5zIGFyZSBzaG9ydGhhbmRzIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXG4vLy9cbi8vLyBAaWdub3JlIFlvdSBjYW4gYWxzbyB1c2UgYGZhbHNlYCBpbnN0ZWFkIG9mIGBudWxsYC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgZGlyZWN0aW9uYWwgdmFsdWVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRvdHRlZCBudWxsKTtcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgY29sbGFwc2UtZGlyZWN0aW9uYWxzYCBpcyBkZXByZWNhdGVkIGFuZCBcIiArXG4gICAgXCJ3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkb3V0cHV0OiBudWxsO1xuXG4gICRhOiBudGgoJHZhbHMsIDEpO1xuICAkYjogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIDIpKTtcbiAgJGM6IGlmKGxlbmd0aCgkdmFscykgPCAzLCAkYSwgbnRoKCR2YWxzLCAzKSk7XG4gICRkOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgaWYobGVuZ3RoKCR2YWxzKSA8IDQsIDIsIDQpKSk7XG5cbiAgQGlmICRhID09IDAgeyAkYTogMDsgfVxuICBAaWYgJGIgPT0gMCB7ICRiOiAwOyB9XG4gIEBpZiAkYyA9PSAwIHsgJGM6IDA7IH1cbiAgQGlmICRkID09IDAgeyAkZDogMDsgfVxuXG4gIEBpZiAkYSA9PSAkYiBhbmQgJGEgPT0gJGMgYW5kICRhID09ICRkIHsgJG91dHB1dDogJGE7ICAgICAgICAgIH1cbiAgQGVsc2UgaWYgJGEgPT0gJGMgYW5kICRiID09ICRkICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYjsgICAgICAgfVxuICBAZWxzZSBpZiAkYiA9PSAkZCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjOyAgICB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGMgJGQ7IH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBPdXRwdXQgZGlyZWN0aW9uYWwgcHJvcGVydGllcywgZm9yIGluc3RhbmNlIGBtYXJnaW5gLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByZVxuLy8vICAgUHJlZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmXG4vLy8gICBTdWZmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiB2YWx1ZXNcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29sbGFwc2UtZGlyZWN0aW9uYWxzXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlKFwiZGlyZWN0aW9uYWwtcHJvcGVydHlcIik7XG5cbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG5cbiAgLy8gUHJvcGVydHkgTmFtZXNcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByZSArIFwiLWxlZnRcIiAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG5cbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XG5cbiAgQGlmIGNvbnRhaW5zLWZhbHN5KCR2YWxzKSB7XG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAxIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAyKTsgfVxuICAgIH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDIge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gMyB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGZvbnQtdXJsLXByZWZpeGVyYCBpcyBkZXByZWNhdGVkIGFuZCBcIiArXG4gICAgXCJ3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgZm9udC1zb3VyY2UtZGVjbGFyYXRpb25gIGlzIGRlcHJlY2F0ZWQgXCIgK1xuICAgIFwiYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICRzcmM6ICgpO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJgIGlzIFwiICtcbiAgICBcImRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG5cbiAgQHJldHVybiAkZ3JhZGllbnQtcG9zaXRpb25zO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYF9saW5lYXItYW5nbGUtcGFyc2VyYCBpcyBcIiArXG4gICAgXCJkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkb2Zmc2V0OiBudWxsO1xuICAkdW5pdC1zaG9ydDogIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMiwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICBAaWYgKCR1bml0LWxvbmcgPT0gXCJncmFkXCIpIG9yXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcbiAgfVxuXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxuICAgICAgICAgICAoJHVuaXQtc2hvcnQgPT0gXCJyYWRcIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XG4gIH1cblxuICBAaWYgJG9mZnNldCB7XG4gICAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAgICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgX2xpbmVhci1ncmFkaWVudC1wYXJzZXJgIGlzIFwiICtcbiAgICBcImRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xuICAkaGFzLXNpbmdsZS1wb3NpdGlvbjogdW5xdW90ZShfcG9zaXRpb24tZmxpcHBlcigkZmlyc3QtdmFsKSArIFwiXCIpO1xuICAkaGFzLWFuZ2xlOiBpcy1udW1iZXIoc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsIDEpKTtcblxuICBAaWYgJGhhcy1tdWx0aXBsZS12YWxzIHtcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscyk7XG4gIH1cblxuICBAZWxzZSBpZiAkaGFzLXNpbmdsZS1wb3NpdGlvbiAhPSBcIlwiIHtcbiAgICAkcG9zOiB1bnF1b3RlKCRoYXMtc2luZ2xlLXBvc2l0aW9uICsgXCJcIik7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiAkaGFzLWFuZ2xlIHtcbiAgICAvLyBSb3RhdGUgZGVncmVlIGZvciB3ZWJraXRcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyYCBpcyBcIiArXG4gICAgXCJkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG5cbiAgQHJldHVybiAkZGVncmVlICRzcGVjO1xufVxuXG5AZnVuY3Rpb24gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcykge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYF9wb3NpdGlvbi1mbGlwcGVyYCBpcyBcIiArXG4gICAgXCJkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHJpZ2h0LCBsZWZ0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJgIGlzIFwiICtcbiAgICBcImRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gICR2YWwtMTogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRoYXMtbXVsdGlwbGUtdmFscyAtIDEpO1xuICAkdmFsLTI6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaGFzLW11bHRpcGxlLXZhbHMgKyAxLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgJHZhbC0zOiBudWxsO1xuICAkaGFzLXZhbC0zOiBzdHItaW5kZXgoJHZhbC0yLCBcIiBcIik7XG5cbiAgQGlmICRoYXMtdmFsLTMge1xuICAgICR2YWwtMzogc3RyLXNsaWNlKCR2YWwtMiwgJGhhcy12YWwtMyArIDEsIHN0ci1sZW5ndGgoJHZhbC0yKSk7XG4gICAgJHZhbC0yOiBzdHItc2xpY2UoJHZhbC0yLCAxLCAkaGFzLXZhbC0zIC0gMSk7XG4gIH1cblxuICAkcG9zOiBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTEpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMikgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0zKTtcbiAgJHBvczogdW5xdW90ZSgkcG9zICsgXCJcIik7XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG5cbiAgLy8gVXNlIG9sZCBzcGVjIGZvciB3ZWJraXRcbiAgQGlmICR2YWwtMSA9PSBcInRvXCIge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY29kZSB1cCB0byBzcGVjXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBfcmFkaWFsLWFyZy1wYXJzZXJgIGlzIFwiICtcbiAgICBcImRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gIEBlYWNoICR2YWx1ZSBpbiAkZzEsICRnMiB7XG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcblxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xuICAgIH1cbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkZzE6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcblxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkcG9zID09ICRnMSB7XG4gICAgICAgICAgICAkZzE6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWZcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcblxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRnMSB7XG4gICAgICAgICAgICAkZzE6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRnMiB7XG4gICAgICAgICAgICAkZzI6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyYCBpcyBcIiArXG4gICAgXCJkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSBcIiAgXCIpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIjtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyYCBpcyBcIiArXG4gICAgXCJkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRpcy1zcGVjLXN5bnRheCA9PSAxIHtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwiLy8gVXNlciBmb3IgbGluZWFyIGFuZCByYWRpYWwgZ3JhZGllbnRzIHdpdGhpbiBiYWNrZ3JvdW5kLWltYWdlIG9yIGJvcmRlci1pbWFnZSBwcm9wZXJ0aWVzXG5cbkBmdW5jdGlvbiBfcmVuZGVyLWdyYWRpZW50cygkZ3JhZGllbnQtcG9zaXRpb25zLCAkZ3JhZGllbnRzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcjogZmFsc2UpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBfcmVuZGVyLWdyYWRpZW50c2AgaXMgXCIgK1xuICAgIFwiZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJHByZS1zcGVjOiBudWxsO1xuICAkc3BlYzogbnVsbDtcbiAgJHZlbmRvci1ncmFkaWVudHM6IG51bGw7XG4gIEBpZiAkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIge1xuICAgIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zIHtcbiAgICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IHJhZGlhbCB7XG4gICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gIH1cblxuICBAaWYgJHZlbmRvciB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IC0jeyR2ZW5kb3J9LSN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHByZS1zcGVjfSAkZ3JhZGllbnRzKTtcbiAgfVxuICBAZWxzZSBpZiAkdmVuZG9yID09IGZhbHNlIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogXCIjeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRzcGVjfSAjeyRncmFkaWVudHN9KVwiO1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiB1bnF1b3RlKCR2ZW5kb3ItZ3JhZGllbnRzKTtcbiAgfVxuICBAcmV0dXJuICR2ZW5kb3ItZ3JhZGllbnRzO1xufVxuIiwiQGZ1bmN0aW9uIF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgX3NoYXBlLXNpemUtc3RyaXBwZXJgIGlzIFwiICtcbiAgICBcImRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICRzaGFwZS1zaXplLXNwZWM6IG51bGw7XG4gIEBlYWNoICR2YWx1ZSBpbiAkc2hhcGUtc2l6ZSB7XG4gICAgQGlmICgkdmFsdWUgPT0gXCJjb3ZlclwiKSBvciAoJHZhbHVlID09IFwiY29udGFpblwiKSB7XG4gICAgICAkdmFsdWU6IG51bGw7XG4gICAgfVxuICAgICRzaGFwZS1zaXplLXNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyR2YWx1ZX1cIjtcbiAgfVxuICBAcmV0dXJuICRzaGFwZS1zaXplLXNwZWM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGxpbmVhci9yYWRpYWwtZ3JhZGllbnQtcGFyc2Vycy5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfc3RyLXRvLW51bSgkc3RyaW5nKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgX3N0ci10by1udW1gIGlzIFwiICtcbiAgICBcImRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gIC8vIE1hdHJpY2VzXG4gICRzdHJpbmdzOiBcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIjtcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLVwiIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcbiAgICAgICRkaXZpZGVyOiAxO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICAgJHJlc3VsdDogaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xuICAgICAgICBAcmV0dXJuIF9jb252ZXJ0LXVuaXRzKCRyZXN1bHQsIHN0ci1zbGljZSgkc3RyaW5nLCAkaSkpO1xuICAgICAgfVxuXG4gICAgICAkbnVtYmVyOiBudGgoJG51bWJlcnMsICRpbmRleCk7XG5cbiAgICAgIEBpZiAkZGl2aWRlciA9PSAwIHtcbiAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIE1vdmUgdGhlIGRlY2ltYWwgZG90IHRvIHRoZSBsZWZ0XG4gICAgICAgICRkaXZpZGVyOiAkZGl2aWRlciAqIDEwO1xuICAgICAgICAkbnVtYmVyOiAkbnVtYmVyIC8gJGRpdmlkZXI7XG4gICAgICB9XG5cbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAkbnVtYmVyO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbn1cbiIsIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cblxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImFuaW1hdGlvblwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYW5pbWF0aW9uLW5hbWVcIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJhbmltYXRpb24tZHVyYXRpb25cIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvblwiKTtcblxuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWx1ZXMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJhbmltYXRpb24taXRlcmF0aW9uLWNvdW50XCIpO1xuXG4gIC8vIGluZmluaXRlIHwgPG51bWJlcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJhbmltYXRpb24tZGlyZWN0aW9uXCIpO1xuXG4gIC8vIG5vcm1hbCB8IGFsdGVybmF0ZVxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlKCRzdGF0ZXMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJhbmltYXRpb24tcGxheS1zdGF0ZVwiKTtcblxuICAvLyBydW5uaW5nIHwgcGF1c2VkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImFuaW1hdGlvbi1kZWxheVwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJG1vZGVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYW5pbWF0aW9uLWZpbGwtbW9kZVwiKTtcblxuICAvLyBub25lIHwgZm9yd2FyZHMgfCBiYWNrd2FyZHMgfCBib3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2Rlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBhcHBlYXJhbmNlKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImFwcGVhcmFuY2VcIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCJAbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImJhY2tmYWNlLXZpc2liaWxpdHlcIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kcyB1c2luZyBzaG9ydGhhbmRcbi8vIG5vdGF0aW9uLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZCgkYmFja2dyb3VuZHMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJiYWNrZ3JvdW5kXCIpO1xuXG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xuICAkc3BlYy1iYWNrZ3JvdW5kczogKCk7XG5cbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcbiAgICAkd2Via2l0LWJhY2tncm91bmQ6ICgpO1xuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xuXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJiYWNrZ3JvdW5kLWltYWdlXCIpO1xuXG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcblxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XG4gICAgJHNwZWMtaW1hZ2U6ICgpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRpbWFnZSwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAkaW1hZ2U7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkd2Via2l0LWltYWdlczogYXBwZW5kKCR3ZWJraXQtaW1hZ2VzLCAkd2Via2l0LWltYWdlLCBjb21tYSk7XG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcbn1cbiIsIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJib3JkZXItaW1hZ2VcIik7XG5cbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcbiAgJHNwZWMtYm9yZGVyczogKCk7XG5cbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJHdlYmtpdC1ib3JkZXI6ICgpO1xuICAgICRzcGVjLWJvcmRlcjogKCk7XG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xuXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xuICAgICRzcGVjLWJvcmRlcnM6ICAgYXBwZW5kKCRzcGVjLWJvcmRlcnMsICAgJHNwZWMtYm9yZGVyLCAgIGNvbW1hKTtcbiAgfVxuXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAkd2Via2l0LWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi8vRXhhbXBsZXM6XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImNhbGNcIik7XG5cbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcbiAgI3skcHJvcGVydHl9OiBjYWxjKCN7JHZhbHVlfSk7XG59XG4iLCJAbWl4aW4gY29sdW1ucygkYXJnOiBhdXRvKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiY29sdW1uc1wiKTtcblxuICAvLyA8Y29sdW1uLWNvdW50PiB8fCA8Y29sdW1uLXdpZHRoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW5zLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCRpbnQ6IGF1dG8pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJjb2x1bW4tY291bnRcIik7XG5cbiAgLy8gYXV0byB8fCBpbnRlZ2VyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiY29sdW1uLWdhcFwiKTtcblxuICAvLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiY29sdW1uLWZpbGxcIik7XG5cbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWZpbGwsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZSgkYXJnKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiY29sdW1uLXJ1bGVcIik7XG5cbiAgLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZSwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImNvbHVtbi1ydWxlLWNvbG9yXCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLWNvbG9yLCAkY29sb3IsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGU6IG5vbmUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJjb2x1bW4tcnVsZS1zdHlsZVwiKTtcblxuICAvLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoKCR3aWR0aDogbm9uZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImNvbHVtbi1ydWxlLXdpZHRoXCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiY29sdW1uLXNwYW5cIik7XG5cbiAgLy8gbm9uZSB8fCBhbGxcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXNwYW4sICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4td2lkdGgoJGxlbmd0aDogYXV0bykge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImNvbHVtbi13aWR0aFwiKTtcblxuICAvLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4td2lkdGgsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImZpbHRlclwiKTtcblxuICAvLyA8ZmlsdGVyLWZ1bmN0aW9uPiBbPGZpbHRlci1mdW5jdGlvbl0qIHwgbm9uZVxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xufVxuIiwiLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXG5cbi8vIEN1c3RvbSBzaG9ydGhhbmQgbm90YXRpb24gZm9yIGZsZXhib3hcbkBtaXhpbiBib3goJG9yaWVudDogaW5saW5lLWF4aXMsICRwYWNrOiBzdGFydCwgJGFsaWduOiBzdHJldGNoKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYm94XCIpO1xuXG4gIEBpbmNsdWRlIGRpc3BsYXktYm94O1xuICBAaW5jbHVkZSBib3gtb3JpZW50KCRvcmllbnQpO1xuICBAaW5jbHVkZSBib3gtcGFjaygkcGFjayk7XG4gIEBpbmNsdWRlIGJveC1hbGlnbigkYWxpZ24pO1xufVxuXG5AbWl4aW4gZGlzcGxheS1ib3gge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImRpc3BsYXktYm94XCIpO1xuXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIElFIDEwXG4gIGRpc3BsYXk6IGJveDtcbn1cblxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJib3gtb3JpZW50XCIpO1xuXG4vLyBob3Jpem9udGFsfHZlcnRpY2FsfGlubGluZS1heGlzfGJsb2NrLWF4aXN8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkb3JpZW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LXBhY2soJHBhY2s6IHN0YXJ0KSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYm94LXBhY2tcIik7XG5cbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBhY2s6ICRwYWNrOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWFsaWduKCRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImJveC1hbGlnblwiKTtcblxuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1hbGlnbjogJGFsaWduOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWRpcmVjdGlvbigkZGlyZWN0aW9uOiBub3JtYWwpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJib3gtZGlyZWN0aW9uXCIpO1xuXG4vLyBub3JtYWx8cmV2ZXJzZXxpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1saW5lcygkbGluZXM6IHNpbmdsZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImJveC1saW5lc1wiKTtcblxuLy8gc2luZ2xlfG11bHRpcGxlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGxpbmVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImJveC1vcmRpbmFsLWdyb3VwXCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImJveC1mbGV4XCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYm94LWZsZXgtZ3JvdXBcIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImRpc3BsYXlcIik7XG5cbi8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAvLyAyMDA5XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuXG4gICAgLy8gMjAxMlxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJmbGV4XCIpO1xuXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcbi8vICAgICAgLSBib3gtZGlyZWN0aW9uIChub3JtYWwgfCByZXZlcnNlKVxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiZmxleC1kaXJlY3Rpb25cIik7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJHZhbHVlLTIwMDk6ICR2YWx1ZTtcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgJGRpcmVjdGlvbjogbm9ybWFsO1xuXG4gIEBpZiAkdmFsdWUgPT0gcm93IHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJjb2x1bW4tcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWRpcmVjdGlvbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1saW5lcyAoc2luZ2xlIHwgbXVsdGlwbGUpXG4vLyAyMDExIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJmbGV4LXdyYXBcIik7XG5cbiAgLy8gQWx0IHZhbHVlc1xuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC13cmFwLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiZmxleC1mbG93XCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcbi8vIDIwMTIgLSBvcmRlciAoaW50ZWdlcilcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwib3JkZXJcIik7XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1vcmRlcjogJGludDtcbn1cblxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxuQG1peGluIGZsZXgtZ3JvdygkbnVtYmVyOiAwKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiZmxleC1ncm93XCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJmbGV4LXNocmlua1wiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWJhc2lzIChudW1iZXIpXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGg6IGF1dG8pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJmbGV4LWJhc2lzXCIpO1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcbn1cblxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDExIC0gZmxleC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJqdXN0aWZ5LWNvbnRlbnRcIik7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LXBhY2s6ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYWxpZ24taXRlbXNcIik7XG5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLXNlbGYgKGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJhbGlnbi1zZWxmXCIpO1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZS0yMDExO1xufVxuXG4vLyAyMDExIC0gZmxleC1saW5lLXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSB8IGRpc3RyaWJ1dGUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWNvbnRlbnQoJHZhbHVlOiBzdHJldGNoKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiYWxpZ24tY29udGVudFwiKTtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuIiwiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJmb250LWZlYXR1cmUtc2V0dGluZ3NcIik7XG5cbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJoaWRwaVwiKTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHJhdGlvfS8xKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogJHJhdGlvICogMWRwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQG1peGluIGh5cGhlbnMoJGh5cGhlbmF0aW9uOiBub25lKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiaHlwaGVuc1wiKTtcblxuICAvLyBub25lIHwgbWFudWFsIHwgYXV0b1xuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwiaW1hZ2UtcmVuZGVyaW5nXCIpO1xuXG4gIEBpZiAoJG1vZGUgPT0gY3Jpc3AtZWRnZXMpIHtcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAvLyBJRTgrXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xuICAgIGltYWdlLXJlbmRlcmluZzogLW8tY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xuICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAkbW9kZTtcbiAgfVxufVxuIiwiLy8gQWRkcyBrZXlmcmFtZXMgYmxvY2tzIGZvciBzdXBwb3J0ZWQgcHJlZml4ZXMsIHJlbW92aW5nIHJlZHVuZGFudCBwcmVmaXhlcyBpbiB0aGUgYmxvY2sncyBjb250ZW50XG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwia2V5ZnJhbWVzXCIpO1xuXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhOiAgICRwcmVmaXgtZm9yLW1vemlsbGE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjOiAgICAgICRwcmVmaXgtZm9yLXNwZWM7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJGcxLCAkZzI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwibGluZWFyLWdyYWRpZW50XCIpO1xuXG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRwb3Mtc3BlYzogbnVsbDtcbiAgJHBvcy1kZWdyZWU6IG51bGw7XG5cbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcbiAgICAkZzEwOiAkZzk7ICRnOTogJGc4OyAkZzg6ICRnNzsgJGc3OiAkZzY7ICRnNjogJGc1O1xuICAgICRnNTogJGc0OyAkZzQ6ICRnMzsgJGczOiAkZzI7ICRnMjogJGcxOyAkZzE6ICRwb3M7XG4gICAgJHBvczogbnVsbDtcbiAgfVxuXG4gIEBpZiAkcG9zIHtcbiAgICAkcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcyk7XG4gICAgJHBvcy1kZWdyZWU6IG50aCgkcG9zaXRpb25zLCAxKTtcbiAgICAkcG9zLXNwZWM6ICAgbnRoKCRwb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZzEsIDEpO1xuXG4gIC8vIElmICRmYWxsYmFjayBpcyBhIGNvbG9yIHVzZSB0aGF0IGNvbG9yIGFzIHRoZSBmYWxsYmFjayBjb2xvclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHBvcy1kZWdyZWUgJGZ1bGwpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQoI3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwiQG1peGluIHBlcnNwZWN0aXZlKCRkZXB0aDogbm9uZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInBlcnNwZWN0aXZlXCIpO1xuXG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInBlcnNwZWN0aXZlLW9yaWdpblwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwicGxhY2Vob2xkZXJcIik7XG5cbiAgJHBsYWNlaG9sZGVyczogXCI6LXdlYmtpdC1pbnB1dFwiIFwiOi1tb3pcIiBcIi1tb3pcIiBcIi1tcy1pbnB1dFwiO1xuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXF1aXJlcyBTYXNzIDMuMStcbkBtaXhpbiByYWRpYWwtZ3JhZGllbnQoJGcxLCAkZzIsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHBvczogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHNoYXBlLXNpemU6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInJhZGlhbC1ncmFkaWVudFwiKTtcblxuICAkZGF0YTogX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSk7XG4gICRnMTogIG50aCgkZGF0YSwgMSk7XG4gICRnMjogIG50aCgkZGF0YSwgMik7XG4gICRwb3M6IG50aCgkZGF0YSwgMyk7XG4gICRzaGFwZS1zaXplOiBudGgoJGRhdGEsIDQpO1xuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmlyc3QtY29sb3I6IG50aCgkZnVsbCwgMSk7XG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRmaXJzdC1jb2xvciwgMSk7XG5cbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICAvLyBBZGQgQ29tbWFzIGFuZCBzcGFjZXNcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LCBcIiwgbnVsbCk7XG4gICRwb3M6ICAgICAgICBpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gXCIgXCIpIGFuZCAoJHBvcyA9PSBudWxsKSwgXCIjeyRzaGFwZS1zaXplLXNwZWN9LCBcIiwgXCIjeyRzaGFwZS1zaXplLXNwZWN9IFwiKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCgjeyRzaGFwZS1zaXplLXNwZWN9I3skcG9zLXNwZWN9I3skZnVsbH0pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE91dHB1dHMgdGhlIHNwZWMgYW5kIHByZWZpeGVkIHZlcnNpb25zIG9mIHRoZSBgOjpzZWxlY3Rpb25gIHBzZXVkby1lbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Qm9vbH0gJGN1cnJlbnQtc2VsZWN0b3IgW2ZhbHNlXVxyXG4vLy8gICBJZiBzZXQgdG8gYHRydWVgLCBpdCB0YWtlcyB0aGUgY3VycmVudCBlbGVtZW50IGludG8gY29uc2lkZXJhdGlvbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNlbGVjdGlvbih0cnVlKSB7XHJcbi8vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICAgIH1cclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQ6Oi1tb3otc2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudDo6c2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gc2VsZWN0aW9uKCRjdXJyZW50LXNlbGVjdG9yOiBmYWxzZSkge1xyXG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwic2VsZWN0aW9uXCIpO1xyXG5cclxuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xyXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICA6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInRleHQtZGVjb3JhdGlvblwiKTtcblxuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidGV4dC1kZWNvcmF0aW9uLWxpbmVcIik7XG5cbi8vIG5vbmUgfHwgdW5kZXJsaW5lIHx8IG92ZXJsaW5lIHx8IGxpbmUtdGhyb3VnaFxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tbGluZSwgJGxpbmUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tc3R5bGUoJHN0eWxlOiBzb2xpZCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInRleHQtZGVjb3JhdGlvbi1zdHlsZVwiKTtcblxuLy8gc29saWQgfHwgZG91YmxlIHx8IGRvdHRlZCB8fCBkYXNoZWQgfHwgd2F2eVxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tc3R5bGUsICRzdHlsZSwgbW96IHdlYmtpdCk7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tY29sb3IoJGNvbG9yOiBjdXJyZW50Q29sb3IpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJ0ZXh0LWRlY29yYXRpb24tY29sb3JcIik7XG5cbi8vIGN1cnJlbnRDb2xvciB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1jb2xvciwgJGNvbG9yLCBtb3opO1xufVxuIiwiQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHk6IG5vbmUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJ0cmFuc2Zvcm1cIik7XG5cbiAgLy8gbm9uZSB8IDx0cmFuc2Zvcm0tZnVuY3Rpb24+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgJHByb3BlcnR5LCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRheGVzOiA1MCUpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJ0cmFuc2Zvcm0tb3JpZ2luXCIpO1xuXG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJ0cmFuc2Zvcm0tc3R5bGVcIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJ0cmFuc2l0aW9uXCIpO1xuXG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcbiAgJG5lZWRzLXByZWZpeGVzOiBmYWxzZTtcbiAgJHdlYmtpdDogKCk7XG4gICRtb3o6ICgpO1xuICAkc3BlYzogKCk7XG5cbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXG4gIEBlYWNoICRsaXN0IGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcbiAgICAgICRsaXN0MTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgJGxpc3QzOiAoKTtcblxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xuXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xuICAgICAgICAgICRsaXN0Mjogam9pbigkbGlzdDIsICR2YXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QzKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0LCBjb21tYSk7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0aWVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidHJhbnNpdGlvbi1wcm9wZXJ0eVwiKTtcblxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwid2Via2l0XCIpO1xuICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwibW96XCIpO1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIGZhbHNlKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidHJhbnNpdGlvbi1kdXJhdGlvblwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uXCIpO1xuXG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidHJhbnNpdGlvbi1kZWxheVwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlOiBub25lKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidXNlci1zZWxlY3RcIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodXNlci1zZWxlY3QsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1jb2xvcmAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWNvbG9yKCNhNjBiNTUgIzc2Y2Q5YyBudWxsICNlOGFlMWEpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItbGVmdC1jb2xvcjogI2U4YWUxYTtcbi8vLyAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNzZjZDljO1xuLy8vICAgICBib3JkZXItdG9wLWNvbG9yOiAjYTYwYjU1O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLWNvbG9yYFxuXG5AbWl4aW4gYm9yZGVyLWNvbG9yKCR2YWxzLi4uKSB7XG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXJhZGl1c2Agb24gYm90aCBjb3JuZXJzIG9uIHRoZSBzaWRlIG9mIGEgYm94LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpaVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoNXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDNweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4vLy8gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50LXR3byB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgfVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXJhZGl1c2BcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItc3R5bGVgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkYXNoZWQgbnVsbCBzb2xpZCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkYXNoZWQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItc3R5bGVgXG5cbkBtaXhpbiBib3JkZXItc3R5bGUoJHZhbHMuLi4pIHtcbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgc3R5bGUsICR2YWxzLi4uKTtcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCAkdmFscy4uLik7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIGJ1dHRvbnMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLWJ1dHRvbnN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLWJ1dHRvbnN9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLWJ1dHRvbnMtZm9jdXN9LFxuLy8vICAgI3skYWxsLWJ1dHRvbnMtaG92ZXJ9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLWJ1dHRvbnMtYWN0aXZlfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBidXR0b24sXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGJ1dHRvbjpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuLy8vICAgYnV0dG9uOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGRvdWJsZSBhc3NpZ25lZCB2YXJpYWJsZXMgKExpbmVzIDU54oCTNjIpIGluIHY1LjAuMFxuXG4kYnV0dG9ucy1saXN0OiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiYnV0dG9uXCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicmVzZXRcIl0nLFxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzdWJtaXRcIl0nO1xuXG4kdXNlci1vdXRwdXQtZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZTtcblxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XG5cbiRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItb3V0cHV0LWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc7XG5cbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbi8vLyAgIH1cblxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG5cbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG5cbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcblxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiAkaGVpZ2h0IHtcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBtYXJnaW5gXG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBwYWRkaW5nYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwYWRkaW5nKDEydmggbnVsbCAxMHB4IDUlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4vLy8gICAgIHBhZGRpbmctbGVmdDogNSU7XG4vLy8gICAgIHBhZGRpbmctdG9wOiAxMnZoO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgcGFkZGluZ2BcblxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHNldHRpbmcgYW4gZWxlbWVudOKAmXMgcG9zaXRpb24uIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7UG9zaXRpb259ICRwb3NpdGlvbiBbcmVsYXRpdmVdXG4vLy8gICBBIENTUyBwb3NpdGlvbiB2YWx1ZVxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkY29vcmRpbmF0ZXMgW251bGwgbnVsbCBudWxsIG51bGxdXG4vLy8gICBMaXN0IG9mIHZhbHVlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4IGZvciB0aGUgZWRnZXMgb2YgYSBib3hcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGxlZnQ6IDEwZW07XG4vLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IHVucGFja1xuXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuICAkY29vcmRpbmF0ZXM6IHVucGFjaygkY29vcmRpbmF0ZXMpO1xuXG4gICRvZmZzZXRzOiAoXG4gICAgdG9wOiAgICBudGgoJGNvb3JkaW5hdGVzLCAxKSxcbiAgICByaWdodDogIG50aCgkY29vcmRpbmF0ZXMsIDIpLFxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXG4gICAgbGVmdDogICBudGgoJGNvb3JkaW5hdGVzLCA0KVxuICApO1xuXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG5cbiAgQGVhY2ggJG9mZnNldCwgJHZhbHVlIGluICRvZmZzZXRzIHtcbiAgICBAaWYgaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xuICAgIH1cbiAgfVxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZShcInJldGluYS1pbWFnZVwiKTtcblxuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cblxuICBAaW5jbHVkZSBoaWRwaSB7XG4gICAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNldHMgdGhlIGB3aWR0aGAgYW5kIGBoZWlnaHRgIG9mIHRoZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2l6ZVxuLy8vICAgQSBsaXN0IG9mIGF0IG1vc3QgMiBzaXplIHZhbHVlcy5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSB2YWx1ZSBpbiBgJHNpemVgIGl0IGlzIHVzZWQgZm9yIGJvdGggd2lkdGggYW5kIGhlaWdodC4gQWxsIHVuaXRzIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKGF1dG8gMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiAyZW07XG4vLy8gICAgIGhlaWdodDogMmVtO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogYXV0bztcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVmYWN0b3IgaW4gNS4wLjAgdG8gdXNlIGEgY29tbWEtc2VwYXJhdGVkIGFyZ3VtZW50XG5cbkBtaXhpbiBzaXplKCR2YWx1ZSkge1xuICAkd2lkdGg6IG50aCgkdmFsdWUsIDEpO1xuICAkaGVpZ2h0OiAkd2lkdGg7XG5cbiAgQGlmIGxlbmd0aCgkdmFsdWUpID4gMSB7XG4gICAgJGhlaWdodDogbnRoKCR2YWx1ZSwgMik7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICBAaWYgaXMtc2l6ZSgkaGVpZ2h0KSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyRoZWlnaHR9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJGhlaWdodGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkd2lkdGgpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgdGV4dC1iYXNlZCBpbnB1dHMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLXRleHQtaW5wdXRzfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0c30ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9LFxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1hY3RpdmV9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXSxcbi8vLyAgIHRleHRhcmVhIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxuLy8vICAgdGV4dGFyZWE6Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06aG92ZXIsXG4vLy8gICB0ZXh0YXJlYTpob3ZlciB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06YWN0aXZlLFxuLy8vICAgdGV4dGFyZWE6YWN0aXZlIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJHRleHQtaW5wdXRzLWxpc3Q6ICdpbnB1dFt0eXBlPVwiY29sb3JcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJlbWFpbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic2VhcmNoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRpbWVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIndlZWtcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dDpub3QoW3R5cGVdKScsXG4gICAgICAgICAgICAgICAgICAgJ3RleHRhcmVhJztcblxuJHVzZXItb3V0cHV0LWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2U7XG5cbiRhbGwtdGV4dC1pbnB1dHM6ICAgICAgICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0KTtcbiRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBhY3RpdmUpO1xuJGFsbC10ZXh0LWlucHV0cy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGZvY3VzKTtcbiRhbGwtdGV4dC1pbnB1dHMtaG92ZXI6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBob3Zlcik7XG5cbiRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItb3V0cHV0LWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcbi8vL1xuLy8vIFRpbWluZyBmdW5jdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGRlbW9lZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Jlc291cmNlcy9kZW1vcy9lZmZlY3QvZWFzaW5nLmh0bWxcbi8vL1xuLy8vIEB0eXBlIGN1YmljLWJlemllclxuXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiRlYXNlLWluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcbiRlYXNlLWluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcblxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsICAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGVhc2UtaW4tb3V0LWV4cG86ICBjdWJpYy1iZXppZXIoMS4wMDAsICAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuIiwiQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBjaGFuZ2UgdGhlIGB3b3JkLXdyYXBgIHByb3BlcnR5LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3cmFwIFticmVhay13b3JkXVxuLy8vICAgVmFsdWUgZm9yIHRoZSBgd29yZC1icmVha2AgcHJvcGVydHkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgQGluY2x1ZGUgd29yZC13cmFwKGJyZWFrLXdvcmQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuLy8vICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLy8gICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbi8vLyAgIH1cblxuQG1peGluIHdvcmQtd3JhcCgkd3JhcDogYnJlYWstd29yZCkge1xuICBvdmVyZmxvdy13cmFwOiAkd3JhcDtcbiAgd29yZC13cmFwOiAkd3JhcDtcblxuICBAaWYgJHdyYXAgPT0gYnJlYWstd29yZCB7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB9IEBlbHNlIHtcbiAgICB3b3JkLWJyZWFrOiAkd3JhcDtcbiAgfVxufVxuIiwiLy8gVGhlIGZvbGxvd2luZyBmZWF0dXJlcyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IE1BSk9SIHZlcnNpb24gcmVsZWFzZVxuXG5AbWl4aW4gaW5saW5lLWJsb2NrIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlKFwiaW5saW5lLWJsb2NrXCIpO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlKFwiYnV0dG9uXCIpO1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA5JSwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZSwgaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gU2hpbnkgQnV0dG9uXG5AbWl4aW4gc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTE3LCAkZ3JlZW46IC0xMTEsICRibHVlOiAtODEpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTI2LCAkZ3JlZW46IC0xMjcsICRibHVlOiAtMTIyKTtcbiAgJGZvdXJ0aC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTc5LCAgJGdyZWVuOiAtNzAsICAkYmx1ZTogLTQ2KTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogIDM3LCAgJGdyZWVuOiAgMjksICAkYmx1ZTogIDEyKTtcbiAgJHNlY29uZC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTU2LCAgJGdyZWVuOiAtNTAsICAkYmx1ZTogLTMzKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTE0MCwgJGdyZWVuOiAtMTQxLCAkYmx1ZTogLTExNCk7XG4gICR0aGlyZC1zdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgICRncmVlbjogLTc1LCAgJGJsdWU6IC00OCk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICAgICR0aGlyZC1zdG9wOiAgICBncmF5c2NhbGUoJHRoaXJkLXN0b3ApO1xuICB9XG5cbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTMsICRncmVlbjogLTE1LCAkYmx1ZTogLTE4KTtcbiAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTY2LCAkZ3JlZW46IC02MiwgJGJsdWU6IC01MSk7XG4gICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC05MywgJGdyZWVuOiAtODUsICRibHVlOiAtNjYpO1xuICAgICRmb3VydGgtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICRncmVlbjogLTgwLCAkYmx1ZTogLTYzKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJGZpcnN0LXN0b3AtaG92ZXIpO1xuICAgICAgJHNlY29uZC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJHNlY29uZC1zdG9wLWhvdmVyKTtcbiAgICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wLWhvdmVyKTtcbiAgICAgICRmb3VydGgtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRmb3VydGgtc3RvcC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTEsICRncmVlbjogLTExNiwgJGJsdWU6IC0xMjIpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMjBweCAwICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFBpbGwgQnV0dG9uXG5AbWl4aW4gcGlsbCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTExJSwgJGxpZ2h0bmVzczogLTI2JSk7XG4gICRib3JkZXItc2lkZXM6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIxJSwgJGxpZ2h0bmVzczogLTIxJSk7XG4gICRib3JkZXItdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTMwJSwgJGxpZ2h0bmVzczogLTE1JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTElLCAgJGxpZ2h0bmVzczogIDclKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTQlLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtMTklLCAkbGlnaHRuZXNzOiAtMTUlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICRib3JkZXItdG9wOiAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHRuZXNzOiAtNC41JSk7XG4gICAgJGJvcmRlci1ib3R0b206ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTMuNSUsICRsaWdodG5lc3M6IC0zMiUpO1xuICAgICRib3JkZXItc2lkZXM6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIlLCAgICAkbGlnaHRuZXNzOiAtMjclKTtcbiAgICAkYm9yZGVyLXRvcDogICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xNyUsICAgJGxpZ2h0bmVzczogLTIxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICRzYXR1cmF0aW9uOiAtMSUsICAgICRsaWdodG5lc3M6ICAzJSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtNCUsICAgICRsaWdodG5lc3M6IC0xNS41JSk7XG4gICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtNSUsICAgICRsaWdodG5lc3M6IC0yMiUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRib3JkZXItYm90dG9tOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICAgJGJvcmRlci1zaWRlczogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAgICRib3JkZXItdG9wOiAgICAgICAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcblxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBmbGV4LWdyaWRgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgXCIgK1xuICAgIFwicmVtb3ZlZCBpbiA1LjAuMC4gRm9yIGdyaWQgZnVuY3Rpb25zLCBjaGVjayBvdXQgQm91cmJvbidzIHNpc3RlciBsaWJyYXJ5XCIgK1xuICAgIFwiTmVhdC5cIjtcbiAgfVxuXG4gICR3aWR0aDogJGNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCR3aWR0aCAvICRjb250YWluZXItd2lkdGgpO1xufVxuXG4vLyBGbGV4aWJsZSBndXR0ZXJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGZsZXgtZ3V0dGVyYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuIEZvciBncmlkIGZ1bmN0aW9ucywgY2hlY2sgb3V0IEJvdXJib24ncyBzaXN0ZXIgbGlicmFyeVwiICtcbiAgICBcIk5lYXQuXCI7XG4gIH1cblxuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBncmlkLXdpZHRoYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuIEZvciBncmlkIGZ1bmN0aW9ucywgY2hlY2sgb3V0IEJvdXJib24ncyBzaXN0ZXIgbGlicmFyeVwiICtcbiAgICBcIk5lYXQuXCI7XG4gIH1cblxuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBnb2xkZW4tcmF0aW9gIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgXCIgK1xuICAgIFwicmVtb3ZlZCBpbiA1LjAuMC4gWW91IGNhbiB1c2UgdGhlIGBtb2R1bGFyLXNjYWxlYCBmdW5jdGlvbiBpbnN0ZWFkLlwiO1xuICB9XG5cbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcbn1cblxuQG1peGluIGJveC1zaXppbmcoJGJveCkge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcImJveC1zaXppbmdcIik7XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXNpemluZywgJGJveCwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIi8vIE5lYXQgMS43LjJcbi8vIGh0dHA6Ly9uZWF0LmJvdXJib24uaW9cbi8vIENvcHlyaWdodCAyMDEyLTIwMTUgdGhvdWdodGJvdCwgaW5jLlxuLy8gTUlUIExpY2Vuc2VcblxuLy8gSGVscGVyc1xuQGltcG9ydCBcIm5lYXQtaGVscGVyc1wiO1xuXG4vLyBHcmlkXG5AaW1wb3J0IFwiZ3JpZC9wcml2YXRlXCI7XG5AaW1wb3J0IFwiZ3JpZC9ib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiZ3JpZC9vbWVnYVwiO1xuQGltcG9ydCBcImdyaWQvb3V0ZXItY29udGFpbmVyXCI7XG5AaW1wb3J0IFwiZ3JpZC9zcGFuLWNvbHVtbnNcIjtcbkBpbXBvcnQgXCJncmlkL3Jvd1wiO1xuQGltcG9ydCBcImdyaWQvc2hpZnRcIjtcbkBpbXBvcnQgXCJncmlkL3BhZFwiO1xuQGltcG9ydCBcImdyaWQvZmlsbC1wYXJlbnRcIjtcbkBpbXBvcnQgXCJncmlkL21lZGlhXCI7XG5AaW1wb3J0IFwiZ3JpZC90by1kZXByZWNhdGVcIjtcbkBpbXBvcnQgXCJncmlkL3Zpc3VhbC1ncmlkXCI7XG5AaW1wb3J0IFwiZ3JpZC9kaXNwbGF5LWNvbnRleHRcIjtcbkBpbXBvcnQgXCJncmlkL2RpcmVjdGlvbi1jb250ZXh0XCI7XG4iLCIvLyBGdW5jdGlvbnNcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHJpdmF0ZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9uZXctYnJlYWtwb2ludFwiO1xuXG4vLyBTZXR0aW5nc1xuQGltcG9ydCBcInNldHRpbmdzL2dyaWRcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy92aXN1YWwtZ3JpZFwiO1xuQGltcG9ydCBcInNldHRpbmdzL2Rpc2FibGUtd2FybmluZ3NcIjtcbiIsIi8vIE5vdCBmdW5jdGlvbiBmb3IgTGlic2FzcyBjb21wYXRpYmlsaXR5XG4vLyBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9saWJzYXNzL2lzc3Vlcy8zNjhcbkBmdW5jdGlvbiBpcy1ub3QoJHZhbHVlKSB7XG4gIEByZXR1cm4gaWYoJHZhbHVlLCBmYWxzZSwgdHJ1ZSk7XG59XG5cbi8vIENoZWNrcyBpZiBhIG51bWJlciBpcyBldmVuXG5AZnVuY3Rpb24gaXMtZXZlbigkaW50KSB7XG4gIEByZXR1cm4gJGludCAlIDIgPT0gMDtcbn1cblxuLy8gQ2hlY2tzIGlmIGFuIGVsZW1lbnQgYmVsb25ncyB0byBhIGxpc3Qgb3Igbm90XG5AZnVuY3Rpb24gYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSB7XG4gIEByZXR1cm4gaXMtbm90KG5vdC1iZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpKTtcbn1cblxuQGZ1bmN0aW9uIG5vdC1iZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpIHtcbiAgQHJldHVybiBpcy1ub3QoaW5kZXgoJGxpc3QsICR0ZXN0ZWQtaXRlbSkpO1xufVxuXG4vLyBDb250YWlucyBkaXNwbGF5IHZhbHVlXG5AZnVuY3Rpb24gY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIHtcbiAgQHJldHVybiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhibG9jaywgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oaW5saW5lLWJsb2NrLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhpbmxpbmUsICRxdWVyeSk7XG59XG5cbi8vIFBhcnNlcyB0aGUgZmlyc3QgYXJndW1lbnQgb2Ygc3Bhbi1jb2x1bW5zKClcbkBmdW5jdGlvbiBjb250YWluZXItc3Bhbigkc3BhbjogJHNwYW4pIHtcbiAgQGlmIGxlbmd0aCgkc3BhbikgPT0gMyB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNwYW4sIDMpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc3BhbikgPT0gMiB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNwYW4sIDIpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9XG5cbiAgQHJldHVybiAkZ3JpZC1jb2x1bW5zO1xufVxuXG5AZnVuY3Rpb24gY29udGFpbmVyLXNoaWZ0KCRzaGlmdDogJHNoaWZ0KSB7XG4gICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZGVmYXVsdCAhZ2xvYmFsO1xuXG4gIEBpZiBsZW5ndGgoJHNoaWZ0KSA9PSAzIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc2hpZnQsIDMpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hpZnQpID09IDIge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzaGlmdCwgMik7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuLy8gR2VuZXJhdGVzIGEgc3RyaXBlZCBiYWNrZ3JvdW5kXG5AZnVuY3Rpb24gZ3JhZGllbnQtc3RvcHMoJGdyaWQtY29sdW1ucywgJGNvbG9yOiAkdmlzdWFsLWdyaWQtY29sb3IpIHtcbiAgJHRyYW5zcGFyZW50OiB0cmFuc3BhcmVudDtcblxuICAkY29sdW1uLXdpZHRoOiBmbGV4LWdyaWQoMSwgJGdyaWQtY29sdW1ucyk7XG4gICRndXR0ZXItd2lkdGg6IGZsZXgtZ3V0dGVyKCRncmlkLWNvbHVtbnMpO1xuICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi13aWR0aDtcblxuICAkdmFsdWVzOiAoJHRyYW5zcGFyZW50IDAsICRjb2xvciAwKTtcblxuICBAZm9yICRpIGZyb20gMSB0byAkZ3JpZC1jb2x1bW5zKjIge1xuICAgIEBpZiBpcy1ldmVuKCRpKSB7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHRyYW5zcGFyZW50ICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJGNvbG9yICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi1vZmZzZXQgKyAkY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICRjb2xvciAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR0cmFuc3BhcmVudCAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4tb2Zmc2V0ICsgJGd1dHRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZXM7XG59XG5cbi8vIExheW91dCBkaXJlY3Rpb25cbkBmdW5jdGlvbiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQsICRkZWZhdWx0KSB7XG4gICRkaXJlY3Rpb246IG51bGw7XG5cbiAgQGlmIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJMVFJcIiBvciB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiUlRMXCIge1xuICAgICRkaXJlY3Rpb246IGRpcmVjdGlvbi1mcm9tLWxheW91dCgkbGF5b3V0KTtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRkZWZhdWx0KTtcbiAgfVxuXG4gIEByZXR1cm4gJGRpcmVjdGlvbjtcbn1cblxuQGZ1bmN0aW9uIGRpcmVjdGlvbi1mcm9tLWxheW91dCgkbGF5b3V0KSB7XG4gICRkaXJlY3Rpb246IG51bGw7XG5cbiAgQGlmIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJMVFJcIiB7XG4gICAgJGRpcmVjdGlvbjogcmlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGxlZnQ7XG4gIH1cblxuICBAcmV0dXJuICRkaXJlY3Rpb247XG59XG5cbkBmdW5jdGlvbiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogbGVmdDtcblxuICBAaWYgJGRpcmVjdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XG4gIH1cblxuICBAcmV0dXJuICRvcHBvc2l0ZS1kaXJlY3Rpb247XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBSZXR1cm5zIGEgbWVkaWEgY29udGV4dCAobWVkaWEgcXVlcnkgLyBncmlkIGNvbnRleHQpIHRoYXQgY2FuIGJlIHN0b3JlZCBpbiBhIHZhcmlhYmxlIGFuZCBwYXNzZWQgdG8gYG1lZGlhKClgIGFzIGEgc2luZ2xlLWtleXdvcmQgYXJndW1lbnQuIE1lZGlhIGNvbnRleHRzIGRlZmluZWQgdXNpbmcgYG5ldy1icmVha3BvaW50YCBhcmUgdXNlZCBieSB0aGUgdmlzdWFsIGdyaWQsIGFzIGxvbmcgYXMgdGhleSBhcmUgZGVmaW5lZCBiZWZvcmUgaW1wb3J0aW5nIE5lYXQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMuIEVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYCR2YWx1ZWAgaW4gYCRxdWVyeWAsIGAkZGVmYXVsdC1mZWF0dXJlYCBpcyBnb2luZyB0byBiZSB1c2VkLlxuLy8vXG4vLy8gICBUaGUgbnVtYmVyIG9mIHRvdGFsIGNvbHVtbnMgaW4gdGhlIGdyaWQgY2FuIGJlIHNldCBieSBwYXNzaW5nIGAkY29sdW1uc2AgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCAob3ZlcnJpZGVzIGAkdG90YWwtY29sdW1uc2ApLiBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAkbW9iaWxlOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggNDgwcHggNCk7XG4vLy9cbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuLy8vICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbi8vLyAgICAgLmVsZW1lbnQge1xuLy8vICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgIG1hcmdpbi1yaWdodDogNy40MjI5NyU7XG4vLy8gICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgIH1cbi8vLyAgICAgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgICB9XG4vLy8gICB9XG5cbkBmdW5jdGlvbiBuZXctYnJlYWtwb2ludCgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgICRxdWVyeTogJGRlZmF1bHQtZmVhdHVyZSBudGgoJHF1ZXJ5LCAxKSAkdG90YWwtY29sdW1ucztcbiAgfSBAZWxzZSBpZiBpcy1ldmVuKGxlbmd0aCgkcXVlcnkpKSB7XG4gICAgJHF1ZXJ5OiBhcHBlbmQoJHF1ZXJ5LCAkdG90YWwtY29sdW1ucyk7XG4gIH1cblxuICBAaWYgaXMtbm90KGJlbG9uZ3MtdG8oJHF1ZXJ5LCAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMpKSB7XG4gICAgJHZpc3VhbC1ncmlkLWJyZWFrcG9pbnRzOiBhcHBlbmQoJHZpc3VhbC1ncmlkLWJyZWFrcG9pbnRzLCAkcXVlcnksIGNvbW1hKSAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiAkcXVlcnk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTZXRzIHRoZSByZWxhdGl2ZSB3aWR0aCBvZiBhIHNpbmdsZSBncmlkIGNvbHVtbi4gVGhlIHVuaXQgdXNlZCBzaG91bGQgYmUgdGhlIHNhbWUgb25lIHVzZWQgdG8gZGVmaW5lIGAkZ3V0dGVyYC4gVG8gbGVhcm4gbW9yZSBhYm91dCBtb2R1bGFyLXNjYWxlKCkgc2VlIFtCb3VyYm9uIGRvY3NdKGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MvI21vZHVsYXItc2NhbGUpLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0KVxuXG4kY29sdW1uOiBtb2R1bGFyLXNjYWxlKDMsIDFlbSwgJGdvbGRlbikgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSByZWxhdGl2ZSB3aWR0aCBvZiBhIHNpbmdsZSBncmlkIGd1dHRlci4gVGhlIHVuaXQgdXNlZCBzaG91bGQgYmUgdGhlIHNhbWUgb25lIHVzZWQgdG8gZGVmaW5lIGAkY29sdW1uYC4gVG8gbGVhcm4gbW9yZSBhYm91dCBtb2R1bGFyLXNjYWxlKCkgc2VlIFtCb3VyYm9uIGRvY3NdKGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MvI21vZHVsYXItc2NhbGUpLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXQpXG5cbiRndXR0ZXI6IG1vZHVsYXItc2NhbGUoMSwgMWVtLCAkZ29sZGVuKSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLiBJdHMgdmFsdWUgY2FuIGJlIG92ZXJyaWRkZW4gaW5zaWRlIGEgbWVkaWEgcXVlcnkgdXNpbmcgdGhlIGBtZWRpYSgpYCBtaXhpbi4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0bGVzcylcblxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBtYXgtd2lkdGggcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgdGhhdCBpbmNsdWRlcyBgb3V0ZXItY29udGFpbmVyKClgLiBUbyBsZWFybiBtb3JlIGFib3V0IGBlbSgpYCBzZWUgW0JvdXJib24gZG9jc10oaHR0cDovL2JvdXJib24uaW8vZG9jcy8jcHgtdG8tZW0pLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXQpXG4vLy9cbiRtYXgtd2lkdGg6IGVtKDEwODgpICFkZWZhdWx0O1xuXG4vLy8gV2hlbiBzZXQgdG8gdHJ1ZSwgaXQgc2V0cyB0aGUgYm94LXNpemluZyBwcm9wZXJ0eSBvZiBhbGwgZWxlbWVudHMgdG8gYGJvcmRlci1ib3hgLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaHRtbCB7XG4vLy8gICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbi8vL1xuLy8vICAgKiwgKjo6YWZ0ZXIsICo6OmJlZm9yZSB7XG4vLy8gICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4vLy8gICB9XG5cbiRib3JkZXItYm94LXNpemluZzogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIGRlZmF1bHQgW21lZGlhIGZlYXR1cmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYSkgdGhhdCBgbWVkaWEoKWAgYW5kIGBuZXctYnJlYWtwb2ludCgpYCByZXZlcnQgdG8gd2hlbiBvbmx5IGEgYnJlYWtwb2ludCB2YWx1ZSBpcyBwYXNzZWQuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcblxuJGRlZmF1bHQtZmVhdHVyZTogbWluLXdpZHRoOyAvLyBEZWZhdWx0IEBtZWRpYSBmZWF0dXJlIGZvciB0aGUgYnJlYWtwb2ludCgpIG1peGluXG5cbi8vL1NldHMgdGhlIGRlZmF1bHQgbGF5b3V0IGRpcmVjdGlvbiBvZiB0aGUgZ3JpZC4gQ2FuIGJlIGBMVFJgIG9yIGBSVExgLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy9AdHlwZSBTdHJpbmdcblxuJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbjogTFRSICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGlzcGxheXMgdGhlIHZpc3VhbCBncmlkIHdoZW4gc2V0IHRvIHRydWUuIFRoZSBvdmVybGFpZCBncmlkIG1heSBiZSBmZXcgcGl4ZWxzIG9mZiBkZXBlbmRpbmcgb24gdGhlIGJyb3dzZXIncyByZW5kZXJpbmcgZW5naW5lIGFuZCBwaXhlbCByb3VuZGluZyBhbGdvcml0aG0uIFNldCB3aXRoIHRoZSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcblxuJHZpc3VhbC1ncmlkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHZpc3VhbCBncmlkIGNvbG9yLiBTZXQgd2l0aCBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIENvbG9yXG5cbiR2aXN1YWwtZ3JpZC1jb2xvcjogI2VlZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIGB6LWluZGV4YCBwcm9wZXJ0eSBvZiB0aGUgdmlzdWFsIGdyaWQuIENhbiBiZSBgYmFja2AgKGJlaGluZCBjb250ZW50KSBvciBgZnJvbnRgIChpbiBmcm9udCBvZiBjb250ZW50KS4gU2V0IHdpdGggYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcblxuJHZpc3VhbC1ncmlkLWluZGV4OiBiYWNrICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgb3BhY2l0eSBwcm9wZXJ0eSBvZiB0aGUgdmlzdWFsIGdyaWQuIFNldCB3aXRoIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyICh1bml0bGVzcylcblxuJHZpc3VhbC1ncmlkLW9wYWNpdHk6IDAuNCAhZGVmYXVsdDtcblxuJHZpc3VhbC1ncmlkLWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpc2FibGUgYWxsIGRlcHJlY2F0aW9uIHdhcm5pbmdzLiBEZWZhdWx0cyB0byBgZmFsc2VgLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kZGlzYWJsZS13YXJuaW5nczogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiAtbmVhdC13YXJuKCRtZXNzYWdlKSB7XG4gIEBpZiAkZGlzYWJsZS13YXJuaW5ncyA9PSBmYWxzZSB7XG4gICAgQHdhcm4gXCIjeyRtZXNzYWdlfVwiO1xuICB9XG59XG4iLCIkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWRlZmF1bHQ7XG4kZmctY29sdW1uOiAkY29sdW1uO1xuJGZnLWd1dHRlcjogJGd1dHRlcjtcbiRmZy1tYXgtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWRlZmF1bHQ7XG4kbGF5b3V0LWRpcmVjdGlvbjogTFRSICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zLCAkZ3V0dGVyOiAkZmctZ3V0dGVyKSB7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlciAvICRjb250YWluZXItd2lkdGgpO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcbn1cblxuQGZ1bmN0aW9uIGdldC1wYXJlbnQtY29sdW1ucygkY29sdW1ucykge1xuICBAaWYgJGNvbHVtbnMgIT0gJGdyaWQtY29sdW1ucyB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkY29sdW1ucyAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHBhcmVudC1jb2x1bW5zO1xufVxuXG5AZnVuY3Rpb24gaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWlzLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KSB7XG4gIEByZXR1cm4gJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlID09IHRydWUgb3IgJGRpc3BsYXkgPT0gdGFibGU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gdHJ1ZSB7XG4gIGh0bWwgeyAvLyBodHRwOi8vYml0Lmx5LzFxazJ0VlJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgKiB7XG4gICAgJixcbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFJlbW92ZXMgdGhlIGVsZW1lbnQncyBndXR0ZXIgbWFyZ2luLCByZWdhcmRsZXNzIG9mIGl0cyBwb3NpdGlvbiBpbiB0aGUgZ3JpZCBoaWVyYXJjaHkgb3IgZGlzcGxheSBwcm9wZXJ0eS4gSXQgY2FuIHRhcmdldCBhIHNwZWNpZmljIGVsZW1lbnQsIG9yIGV2ZXJ5IGBudGgtY2hpbGRgIG9jY3VycmVuY2UuIFdvcmtzIG9ubHkgd2l0aCBgYmxvY2tgIGxheW91dHMuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeSBbYmxvY2tdXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50cy4gU3VwcG9ydGVkIGFyZ3VtZW50cyBhcmUgYG50aC1jaGlsZGAgc2VsZWN0b3JzICh0YXJnZXRzIGEgc3BlY2lmaWMgcHNldWRvIGVsZW1lbnQpIGFuZCBgYXV0b2AgKHRhcmdldHMgYGxhc3QtY2hpbGRgKS5cbi8vL1xuLy8vICAgV2hlbiBwYXNzZWQgYW4gYG50aC1jaGlsZGAgYXJndW1lbnQgb2YgdHlwZSBgKm5gIHdpdGggYGJsb2NrYCBkaXNwbGF5LCB0aGUgb21lZ2EgbWl4aW4gYXV0b21hdGljYWxseSBhZGRzIGEgY2xlYXIgdG8gdGhlIGAqbisxYCB0aCBlbGVtZW50LiBOb3RlIHRoYXQgY29tcG9zaXRlIGFyZ3VtZW50cyBzdWNoIGFzIGAybisxYCBkbyBub3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUuXG4vLy9cbi8vLyAgICoqRGVwcmVjYXRpb24gd2FybmluZyoqOiBUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhIGAkZGlyZWN0aW9uYCBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgYHJvdygkZGlyZWN0aW9uKWAgb3Igc2V0IGAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uYCBpbnN0ZWFkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYSg0bik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bikge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4rMSkge1xuLy8vICAgICBjbGVhcjogbGVmdDtcbi8vLyAgIH1cblxuQG1peGluIG9tZWdhKCRxdWVyeTogYmxvY2ssICRkaXJlY3Rpb246IGRlZmF1bHQpIHtcbiAgJHRhYmxlOiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpO1xuICAkYXV0bzogYmVsb25ncy10byhhdXRvLCAkcXVlcnkpO1xuXG4gIEBpZiAkZGlyZWN0aW9uICE9IGRlZmF1bHQge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhICRkaXJlY3Rpb24gYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIHRoZSBkaXJlY3Rpb24oKXsuLi59IG1peGluLlwiKTtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gIH1cblxuICBAaWYgJHRhYmxlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIG5vIGxvbmdlciByZW1vdmVzIHBhZGRpbmcgaW4gdGFibGUgbGF5b3V0cy5cIik7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSBhbmQgJHRhYmxlID09IGZhbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQobnRoKCRxdWVyeSwgMSksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRvbyBtYW55IGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIG9tZWdhKCkgbWl4aW4uXCIpO1xuICB9XG59XG5cbkBtaXhpbiBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKSB7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJjpudGgtY2hpbGQoI3skcXVlcnl9KSB7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkcXVlcnkpID09IG51bWJlciBhbmQgdW5pdCgkcXVlcnkpID09IFwiblwiIHtcbiAgICAmOm50aC1jaGlsZCgjeyRxdWVyeX0rMSkge1xuICAgICAgY2xlYXI6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IGEgb3V0ZXIgY29udGFpbmVyIGJ5IGNlbnRyaW5nIGl0IGluIHRoZSB2aWV3cG9ydCwgY2xlYXJpbmcgaXRzIGZsb2F0cywgYW5kIHNldHRpbmcgaXRzIGBtYXgtd2lkdGhgLlxuLy8vIEFsdGhvdWdoIG9wdGlvbmFsLCB1c2luZyBgb3V0ZXItY29udGFpbmVyYCBpcyByZWNvbW1lbmRlZC4gVGhlIG1peGluIGNhbiBiZSBjYWxsZWQgb24gbW9yZSB0aGFuIG9uZSBlbGVtZW50IHBlciBwYWdlLCBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCBuZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciBbdW5pdF19ICRsb2NhbC1tYXgtd2lkdGggWyRtYXgtd2lkdGhdXG4vLy8gICBNYXggd2lkdGggdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudC4gQ2FuIGJlIGEgcGVyY2VudGFnZSBvciBhIG1lYXN1cmUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAqem9vbTogMTtcbi8vLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xuLy8vICAgICBtYXJnaW4tbGVmdDogYXV0bztcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDpiZWZvcmUsIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgICAgY29udGVudDogXCIgXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgfVxuXG5AbWl4aW4gb3V0ZXItY29udGFpbmVyKCRsb2NhbC1tYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1heC13aWR0aDogJGxvY2FsLW1heC13aWR0aDtcbiAgbWFyZ2luOiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbiBlbGVtZW50IHNob3VsZCBzcGFuLiBJZiB0aGUgc2VsZWN0b3IgaXMgbmVzdGVkIHRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiBpdHMgcGFyZW50IGVsZW1lbnQgc2hvdWxkIGJlIHBhc3NlZCBhcyBhbiBhcmd1bWVudCBhcyB3ZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc3BhblxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgYCRjb2x1bW5zYCwgdGhlIHVuaXRsZXNzIG51bWJlciBvZiBjb2x1bW5zIHRoZSBlbGVtZW50IHNwYW5zIChyZXF1aXJlZCksIGFuZCBgJGNvbnRhaW5lci1jb2x1bW5zYCwgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRoZSBwYXJlbnQgZWxlbWVudCBzcGFucyAob3B0aW9uYWwpLlxuLy8vXG4vLy8gICBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwYXNzZWQsIGl0IGlzIGFzc3VtZWQgdGhhdCBpdCdzIGAkY29sdW1uc2AgYW5kIHRoYXQgdGhhdCBgJGNvbnRhaW5lci1jb2x1bW5zYCBpcyBlcXVhbCB0byBgJGdyaWQtY29sdW1uc2AsIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbi8vL1xuLy8vICAgVGhlIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gICBgJGNvbHVtbnNgIGFsc28gYWNjZXB0cyBkZWNpbWFscyBmb3Igd2hlbiBpdCdzIG5lY2Vzc2FyeSB0byBicmVhayBvdXQgb2YgdGhlIHN0YW5kYXJkIGdyaWQuIEUuZy4gUGFzc2luZyBgMi40YCBpbiBhIHN0YW5kYXJkIDEyIGNvbHVtbiBncmlkIHdpbGwgZGl2aWRlIHRoZSByb3cgaW50byA1IGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXVxuLy8vICAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudC4gQnkgZGVmYXVsdCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnQgb2YgdGhlIGVsZW1lbnQgdG8gYGJsb2NrYC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGBibG9jay1jb2xsYXBzZWAsIGl0IGFsc28gcmVtb3ZlcyB0aGUgbWFyZ2luIGd1dHRlciBieSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQgd2lkdGguXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgdGFibGVgLCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IHRvIGB0YWJsZS1jZWxsYCBhbmQgY2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgd2l0aG91dCB0YWtpbmcgZ3V0dGVycyBpbnRvIGNvbnNpZGVyYXRpb24uIFRoZSByZXN1bHQgZG9lcyBub3QgYWxpZ24gd2l0aCB0aGUgYmxvY2stYmFzZWQgZ3JpZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy9cbi8vLyAgICAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICB3aWR0aDogMzAuMTEzODklO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cblxuQG1peGluIHNwYW4tY29sdW1ucygkc3BhbjogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zLCAkZGlzcGxheTogYmxvY2spIHtcbiAgJGNvbHVtbnM6IG50aCgkc3BhbiwgMSk7XG4gICRjb250YWluZXItY29sdW1uczogY29udGFpbmVyLXNwYW4oJHNwYW4pO1xuXG4gICRwYXJlbnQtY29sdW1uczogZ2V0LXBhcmVudC1jb2x1bW5zKCRjb250YWluZXItY29sdW1ucykgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAkZGlzcGxheS10YWJsZTogaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KTtcblxuICBAaWYgJGRpc3BsYXktdGFibGUgIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn07XG5cbiAgICBAaWYgJGRpc3BsYXkgIT0gbm8tZGlzcGxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAnY29sbGFwc2UnIGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZC4gVXNlICdibG9jay1jb2xsYXBzZScgaW5zdGVhZC5cIik7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIG9yICRkaXNwbGF5ID09IGJsb2NrLWNvbGxhcHNlIHtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucykgKyBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgfVxuXG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGVzaWduYXRlcyB0aGUgZWxlbWVudCBhcyBhIHJvdyBvZiBjb2x1bW5zIGluIHRoZSBncmlkIGxheW91dC4gSXQgY2xlYXJzIHRoZSBmbG9hdHMgb24gdGhlIGVsZW1lbnQgYW5kIHNldHMgaXRzIGRpc3BsYXkgcHJvcGVydHkuIFJvd3MgY2FuJ3QgYmUgbmVzdGVkLCBidXQgdGhlcmUgY2FuIGJlIG1vcmUgdGhhbiBvbmUgcm93IGVsZW1lbnTigJR3aXRoIGRpZmZlcmVudCBkaXNwbGF5IHByb3BlcnRpZXPigJRwZXIgbGF5b3V0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtkZWZhdWx0XVxuLy8vICBTZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IGFuZCB0aGUgZGlzcGxheSBjb250ZXh0IHRoYXQgd2lsbCBiZSB1c2VkIGJ5IGl0cyBjaGlsZHJlbi4gQ2FuIGJlIGBibG9ja2Agb3IgYHRhYmxlYC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFskZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uXVxuLy8vICBTZXRzIHRoZSBsYXlvdXQgZGlyZWN0aW9uLiBDYW4gYmUgYExUUmAgKGxlZnQtdG8tcmlnaHQpIG9yIGBSVExgIChyaWdodC10by1sZWZ0KS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgcm93KCk7XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgICp6b29tOiAxO1xuLy8vICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICB9XG4vLy9cbi8vLyAuZWxlbWVudDpiZWZvcmUsIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgIGNvbnRlbnQ6IFwiIFwiO1xuLy8vICAgZGlzcGxheTogdGFibGU7XG4vLy8gfVxuLy8vXG4vLy8gLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgY2xlYXI6IGJvdGg7XG4vLy8gfVxuXG5AbWl4aW4gcm93KCRkaXNwbGF5OiBkZWZhdWx0LCAkZGlyZWN0aW9uOiAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKSB7XG4gIEBpZiAkZGlyZWN0aW9uICE9ICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24ge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJGRpcmVjdGlvbiBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIGluIGZhdm9yIG9mIHRoZSBkaXJlY3Rpb24oKXsuLi59IG1peGluLlwiKTtcbiAgfVxuXG4gICRsYXlvdXQtZGlyZWN0aW9uOiAkZGlyZWN0aW9uICFnbG9iYWw7XG5cbiAgQGlmICRkaXNwbGF5ICE9IGRlZmF1bHQge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJGRpc3BsYXkgYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlzcGxheSgpey4uLn0gbWl4aW4uXCIpO1xuICB9XG5cbiAgQGlmICRkaXNwbGF5ID09IHRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBAaW5jbHVkZSBmaWxsLXBhcmVudDtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICRjb250YWluZXItZGlzcGxheS10YWJsZTogdHJ1ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFnbG9iYWw7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucy4gUG9zaXRpdmUgYXJndW1lbnRzIHNoaWZ0IHRoZSBlbGVtZW50IHRvIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiwgd2hpbGUgbmVnYXRpdmUgb25lcyBzaGlmdCBpdCB0byB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJG4tY29sdW1ucyBbMV1cbi8vLyAgIE51bWJlciBvZiBjb2x1bW5zIGJ5IHdoaWNoIHRoZSBlbGVtZW50IHNoaWZ0cy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaGlmdCgtMyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtMjUuNTg5NDElO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQoJG4tY29sdW1uczogMSkge1xuICBAaW5jbHVkZSBzaGlmdC1pbi1jb250ZXh0KCRuLWNvbHVtbnMpO1xufVxuXG4vLy8gVHJhbnNsYXRlcyBhbiBlbGVtZW50IGhvcml6b250YWxseSBieSBhIG51bWJlciBvZiBjb2x1bW5zLCBpbiBhIHNwZWNpZmljIG5lc3RpbmcgY29udGV4dC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNoaWZ0XG4vLy8gICBBIGxpc3QgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdG8gc2hpZnQgKGAkY29sdW1uc2ApIGFuZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgdGhlIHBhcmVudCBlbGVtZW50IChgJGNvbnRhaW5lci1jb2x1bW5zYCkuXG4vLy9cbi8vLyAgIFRoZSB0d28gdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMgb2YgNik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtNTIuNDE0NTglO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQtaW4tY29udGV4dCgkc2hpZnQ6ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucykge1xuICAkbi1jb2x1bW5zOiBudGgoJHNoaWZ0LCAxKTtcbiAgJHBhcmVudC1jb2x1bW5zOiBjb250YWluZXItc2hpZnQoJHNoaWZ0KSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkbi1jb2x1bW5zICogZmxleC1ncmlkKDEsICRwYXJlbnQtY29sdW1ucykgKyAkbi1jb2x1bW5zICogZmxleC1ndXR0ZXIoJHBhcmVudC1jb2x1bW5zKTtcblxuICAvLyBSZXNldCBuZXN0aW5nIGNvbnRleHRcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBZGRzIHBhZGRpbmcgdG8gdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRwYWRkaW5nIFtmbGV4LWd1dHRlcigpXVxuLy8vICAgQSBsaXN0IG9mIHBhZGRpbmcgdmFsdWUocykgdG8gdXNlLiBQYXNzaW5nIGBkZWZhdWx0YCBpbiB0aGUgbGlzdCB3aWxsIHJlc3VsdCBpbiB1c2luZyB0aGUgZ3V0dGVyIHdpZHRoIGFzIGEgcGFkZGluZyB2YWx1ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwYWQoMzBweCAtMjBweCAxMHB4IGRlZmF1bHQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBwYWRkaW5nOiAzMHB4IC0yMHB4IDEwcHggMi4zNTc2NSU7XG4vLy8gICB9XG5cbkBtaXhpbiBwYWQoJHBhZGRpbmc6IGZsZXgtZ3V0dGVyKCkpIHtcbiAgJHBhZGRpbmctbGlzdDogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRwYWRkaW5nIHtcbiAgICAkdmFsdWU6IGlmKCR2YWx1ZSA9PSAnZGVmYXVsdCcsIGZsZXgtZ3V0dGVyKCksICR2YWx1ZSk7XG4gICAgJHBhZGRpbmctbGlzdDogam9pbigkcGFkZGluZy1saXN0LCAkdmFsdWUpO1xuICB9XG4gIHBhZGRpbmc6ICRwYWRkaW5nLWxpc3Q7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBGb3JjZXMgdGhlIGVsZW1lbnQgdG8gZmlsbCBpdHMgcGFyZW50IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBmaWxsLXBhcmVudDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4vLy8gICB9XG5cbkBtaXhpbiBmaWxsLXBhcmVudCgpIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGlmICRib3JkZXItYm94LXNpemluZyA9PSBmYWxzZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gT3V0cHV0cyBhIG1lZGlhLXF1ZXJ5IGJsb2NrIHdpdGggYW4gb3B0aW9uYWwgZ3JpZCBjb250ZXh0ICh0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZCkuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMsIHdoZXJlIGVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy8gICBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGAkdmFsdWVgIGluIGAkcXVlcnlgLCBgJGRlZmF1bHQtZmVhdHVyZWAgaXMgZ29pbmcgdG8gYmUgdXNlZC5cbi8vL1xuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS5cbi8vL1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKDc2OXB4KSB7XG4vLy8gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDMyMHB4IG1heC13aWR0aCA0ODBweCwgNikge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG5cbkBtaXhpbiBtZWRpYSgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgJG1lZGlhLXF1ZXJ5OiBcInNjcmVlbiBhbmQgXCI7XG4gICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG5cbiAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAkbG9vcC10bykgIWdsb2JhbDtcbiAgICAgICRsb29wLXRvOiAkbG9vcC10byAtIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcbiAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCIoXCIgKyBudGgoJHF1ZXJ5LCAkaSkgKyBcIjogXCIgKyBudGgoJHF1ZXJ5LCAkaSArIDEpICsgXCIpIFwiO1xuXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiYW5kIFwiO1xuICAgICAgfVxuXG4gICAgICAkaTogJGkgKyAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpYS1xdWVyeX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5OiRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBicmVha3BvaW50KCkgbWl4aW4gd2FzIHJlbmFtZWQgdG8gbWVkaWEoKSBpbiBOZWF0IDEuMC4gUGxlYXNlIHVwZGF0ZSB5b3VyIHByb2plY3Qgd2l0aCB0aGUgbmV3IHN5bnRheCBiZWZvcmUgdGhlIG5leHQgdmVyc2lvbiBidW1wLlwiKTtcblxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCRkZWZhdWx0LWZlYXR1cmU6IG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucztcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucztcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAzIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAzKTtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSA0IHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSBhbmQgKG50aCgkcXVlcnksIDMpOiBudGgoJHF1ZXJ5LCA0KSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gNSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkgYW5kIChudGgoJHF1ZXJ5LCAzKTogbnRoKCRxdWVyeSwgNCkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksIDUpO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgYnJlYWtwb2ludCgpLiBSZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuXCIpO1xuICB9XG59XG5cbkBtaXhpbiBudGgtb21lZ2EoJG50aCwgJGRpc3BsYXk6IGJsb2NrLCAkZGlyZWN0aW9uOiBkZWZhdWx0KSB7XG4gIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgbnRoLW9tZWdhKCkgbWl4aW4gaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBvbWVnYSgpIGluc3RlYWQuXCIpO1xuICBAaW5jbHVkZSBvbWVnYSgkbnRoICRkaXNwbGF5LCAkZGlyZWN0aW9uKTtcbn1cblxuLy8vIFJlc2V0cyB0aGUgYWN0aXZlIGRpc3BsYXkgcHJvcGVydHkgdG8gYGJsb2NrYC4gUGFydGljdWxhcmx5IHVzZWZ1bCB3aGVuIGNoYW5naW5nIHRoZSBkaXNwbGF5IHByb3BlcnR5IGluIGEgc2luZ2xlIHJvdy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSByb3codGFibGUpO1xuLy8vICAgICAvLyBDb250ZXh0IGNoYW5nZWQgdG8gdGFibGUgZGlzcGxheVxuLy8vICAgfVxuLy8vXG4vLy8gICBAaW5jbHVkZSByZXNldC1kaXNwbGF5O1xuLy8vICAgLy8gQ29udGV4dCBpcyByZXNldCB0byBibG9jayBkaXNwbGF5XG5cbkBtaXhpbiByZXNldC1kaXNwbGF5IHtcbiAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiBmYWxzZSAhZ2xvYmFsO1xuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiUmVzZXR0aW5nICRkaXNwbGF5IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmdXR1cmUgdmVyc2lvbnMgaW4gZmF2b3Igb2YgdGhlIGRpc3BsYXkoKXsuLi59IG1peGluLlwiKTtcbn1cblxuLy8vIFJlc2V0cyB0aGUgYWN0aXZlIGxheW91dCBkaXJlY3Rpb24gdG8gdGhlIGRlZmF1bHQgdmFsdWUgc2V0IGluIGAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uYC4gUGFydGljdWxhcmx5IHVzZWZ1bCB3aGVuIGNoYW5naW5nIHRoZSBsYXlvdXQgZGlyZWN0aW9uIGluIGEgc2luZ2xlIHJvdy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSByb3coJGRpcmVjdGlvbjogUlRMKTtcbi8vLyAgICAgLy8gQ29udGV4dCBjaGFuZ2VkIHRvIHJpZ2h0LXRvLWxlZnRcbi8vLyAgIH1cbi8vL1xuLy8vICAgQGluY2x1ZGUgcmVzZXQtbGF5b3V0LWRpcmVjdGlvbjtcbi8vLyAgIC8vIENvbnRleHQgaXMgcmVzZXQgdG8gbGVmdC10by1yaWdodFxuXG5AbWl4aW4gcmVzZXQtbGF5b3V0LWRpcmVjdGlvbiB7XG4gICRsYXlvdXQtZGlyZWN0aW9uOiAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uICFnbG9iYWw7XG4gIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJSZXNldHRpbmcgJGRpcmVjdGlvbiB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIGluIGZhdm9yIG9mIHRoZSBkaXJlY3Rpb24oKXsuLi59IG1peGluLlwiKTtcbn1cblxuLy8vIFJlc2V0cyBib3RoIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiBhbmQgdGhlIGFjdGl2ZSBkaXNwbGF5IHByb3BlcnR5LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHJvdyh0YWJsZSwgUlRMKTtcbi8vLyAgICAgLy8gQ29udGV4dCBjaGFuZ2VkIHRvIHRhYmxlIHRhYmxlIGFuZCByaWdodC10by1sZWZ0XG4vLy8gICB9XG4vLy9cbi8vLyAgIEBpbmNsdWRlIHJlc2V0LWFsbDtcbi8vLyAgIC8vIENvbnRleHQgaXMgcmVzZXQgdG8gYmxvY2sgZGlzcGxheSBhbmQgbGVmdC10by1yaWdodFxuXG5AbWl4aW4gcmVzZXQtYWxsIHtcbiAgQGluY2x1ZGUgcmVzZXQtZGlzcGxheTtcbiAgQGluY2x1ZGUgcmVzZXQtbGF5b3V0LWRpcmVjdGlvbjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQG1peGluIGdyaWQtY29sdW1uLWdyYWRpZW50KCR2YWx1ZXMuLi4pIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHZhbHVlcyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHZhbHVlcyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgI3skdmFsdWVzfSlcIik7XG59XG5cbkBpZiAkdmlzdWFsLWdyaWQgPT0gdHJ1ZSBvciAkdmlzdWFsLWdyaWQgPT0geWVzIHtcbiAgYm9keTpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLWdyYWRpZW50KGdyYWRpZW50LXN0b3BzKCRncmlkLWNvbHVtbnMpKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gICAgb3BhY2l0eTogJHZpc3VhbC1ncmlkLW9wYWNpdHk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGlmICR2aXN1YWwtZ3JpZC1pbmRleCA9PSBiYWNrIHtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICR2aXN1YWwtZ3JpZC1pbmRleCA9PSBmcm9udCB7XG4gICAgICB6LWluZGV4OiA5OTk5O1xuICAgIH1cblxuICAgIEBlYWNoICRicmVha3BvaW50IGluICR2aXN1YWwtZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICBAaWYgJGJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLWdyYWRpZW50KGdyYWRpZW50LXN0b3BzKCRncmlkLWNvbHVtbnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hhbmdlcyB0aGUgZGlzcGxheSBwcm9wZXJ0eSB1c2VkIGJ5IG90aGVyIG1peGlucyBjYWxsZWQgaW4gdGhlIGNvZGUgYmxvY2sgYXJndW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXVxuLy8vICAgRGlzcGxheSB2YWx1ZSB0byBiZSB1c2VkIHdpdGhpbiB0aGUgYmxvY2suIENhbiBiZSBgdGFibGVgIG9yIGBibG9ja2AuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICBAaW5jbHVkZSBkaXNwbGF5LWNvbnRleHQodGFibGUpIHtcbi8vLyAgICAuZGlzcGxheS10YWJsZSB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzc1xuLy8vICAgLmRpc3BsYXktdGFibGUge1xuLy8vICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbi8vLyAgICAgIC4uLlxuLy8vICAgfVxuXG5AbWl4aW4gZGlzcGxheS1jb250ZXh0KCRkaXNwbGF5OiBibG9jaykge1xuICAkc2NvcGUtZGlzcGxheTogJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlO1xuICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6ICRkaXNwbGF5ID09IHRhYmxlICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiAkc2NvcGUtZGlzcGxheSAhZ2xvYmFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hhbmdlcyB0aGUgZGlyZWN0aW9uIHByb3BlcnR5IHVzZWQgYnkgb3RoZXIgbWl4aW5zIGNhbGxlZCBpbiB0aGUgY29kZSBibG9jayBhcmd1bWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFtsZWZ0LXRvLXJpZ2h0XVxuLy8vICAgTGF5b3V0IGRpcmVjdGlvbiB0byBiZSB1c2VkIHdpdGhpbiB0aGUgYmxvY2suIENhbiBiZSBgbGVmdC10by1yaWdodGAgb3IgYHJpZ2h0LXRvLWxlZnRgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAaW5jbHVkZSBkaXJlY3Rpb24tY29udGV4dChyaWdodC10by1sZWZ0KSB7XG4vLy8gICAgLnJpZ2h0LXRvLWxlZnQtYmxvY2sge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAucmlnaHQtdG8tbGVmdC1ibG9jayB7XG4vLy8gICAgIGZsb2F0OiByaWdodDtcbi8vLyAgICAgIC4uLlxuLy8vICAgfVxuXG5AbWl4aW4gZGlyZWN0aW9uLWNvbnRleHQoJGRpcmVjdGlvbjogbGVmdC10by1yaWdodCkge1xuICAkc2NvcGUtZGlyZWN0aW9uOiAkbGF5b3V0LWRpcmVjdGlvbjtcblxuICBAaWYgdG8tbG93ZXItY2FzZSgkZGlyZWN0aW9uKSA9PSBcImxlZnQtdG8tcmlnaHRcIiB7XG4gICAgJGxheW91dC1kaXJlY3Rpb246IExUUiAhZ2xvYmFsO1xuICB9IEBlbHNlIGlmIHRvLWxvd2VyLWNhc2UoJGRpcmVjdGlvbikgPT0gXCJyaWdodC10by1sZWZ0XCIge1xuICAgICRsYXlvdXQtZGlyZWN0aW9uOiBSVEwgIWdsb2JhbDtcbiAgfVxuXG4gIEBjb250ZW50O1xuXG4gICRsYXlvdXQtZGlyZWN0aW9uOiAkc2NvcGUtZGlyZWN0aW9uICFnbG9iYWw7XG59XG4iLCIvLyBWYXJpYWJsZXMuXG4vLyBBZGQgeW91ciBzaXRlIHZhcmlhYmxlcywgc3VjaCBhcyBjb2xvdXJzIGFuZCBmb250IHNpemVzIGluIHRoaXMgZmlsZS5cblxuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTogZmFsc2U7XG4kbm9ybWFsaXplLWhlYWRpbmdzOiB0cnVlO1xuXG4vLyBDb2xvcnMuXG4kYmFja2dyb3VuZDogI2ZmZjtcbiRjb2xvcjogIzRiNDczNjtcbiRiYXNlLWdyZWVuOiAjMTE1MzI4O1xuJGJhc2UtcGluazogI2YwM2Y2ZDtcbiRiYXNlLW9yYW5nZTogI2ZmOGYwMTtcbiRiYXNlLXJlZDogI2I4M2U0NTtcbiR3aGl0ZTogI2ZmZjtcblxuJGNvbG9yLXRpdGxlOiAkY29sb3I7XG4kYmFzZS10ZXh0LWNvbG9yOiAkY29sb3I7XG4kYmFzZS1zZWxlY3RlZC10ZXh0LWNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xuJGJhc2Utc2VsZWN0ZWQtdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiBpbnZlcnQoJGJhc2UtdGV4dC1jb2xvcik7XG4kYmFzZS1saW5rLWNvbG9yOiAkY29sb3I7XG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiBpbnZlcnQoJGJhc2UtbGluay1jb2xvcik7XG4kYmFzZS1ib3JkZXItY29sb3I6ICNkYmRhZDc7XG5cbi8vIEZvbnQgc2l6ZXMuXG4kYmFzZS1mb250LXNpemU6IDE1cHg7XG4kYmFzZS1saW5lLWhlaWdodDogMS41O1xuXG4vLyBEZWZhdWx0IGhlYWRpbmcgc2l6ZXMgYmFzZWQgb24gXCJQZXJmZWN0IEZvdXJ0aFwiIGFuZCBiYXNlLWZvbnQtc2l6ZTogMTZweDtcbi8vIFNvdXJjZTogaHR0cDovL3R5cGUtc2NhbGUuY29tXG4kaDEtZm9udC1zaXplOiAyNnB4O1xuJGgyLWZvbnQtc2l6ZTogMjJweDtcbiRoMy1mb250LXNpemU6IDIwcHg7XG4kaDQtZm9udC1zaXplOiAxOHB4O1xuJGg1LWZvbnQtc2l6ZTogMTZweDtcbiRoNi1mb250LXNpemU6IDEycHg7XG5cbiRoMS1tYXJnaW46IDAgMCAxMHB4IDA7XG4kaDItbWFyZ2luOiAwIDAgMTBweCAwO1xuJGgzLW1hcmdpbjogMCAwIDEwcHggMDtcbiRoNC1tYXJnaW46IDA7XG4kaDUtbWFyZ2luOiAwO1xuJGg2LW1hcmdpbjogMDtcblxuJGgxLXBhZGRpbmc6IDA7XG4kaDItcGFkZGluZzogMDtcbiRoMy1wYWRkaW5nOiAwO1xuJGg0LXBhZGRpbmc6IDA7XG4kaDUtcGFkZGluZzogMDtcbiRoNi1wYWRkaW5nOiAwO1xuXG4vLyBCcmVha3BvaW50cy5cbiRicmVha3BvaW50LTE6IDQyMHB4O1xuJGJyZWFrcG9pbnQtMjogNzIwcHg7XG4kYnJlYWtwb2ludC0zOiA5MjBweDtcbiRicmVha3BvaW50LTQ6IDExMDBweDtcbiRicmVha3BvaW50LTU6IDEyMDBweDtcbiIsIi8vIEZvbnRzLlxuLy8gQWRkIHlvdXIgZm9udCBkZWNsYXJhdGlvbnMsIHN1Y2ggYXMgd2ViZm9udHMgaW4gdGhpcyBmaWxlLlxuLy8gVGhlIGFjdHVhbCBmb250IHJlbGF0ZWQgdGhlbWluZyBnb2VzIGluIGRlc2lnbiA+IHR5cG9ncmFwaHkuXG5AaW1wb3J0IHVybCgnLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2Fuczo0MDAsMzAwLDMwMGl0YWxpYyw0MDBpdGFsaWMsNjAwLDYwMGl0YWxpYyw3MDAsNzAwaXRhbGljLDgwMGl0YWxpYyw4MDAnKTtcblxuJGJhc2UtZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJHRpdGxlLWZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRub3JtYWxpemVkLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiB1cmwoJ2ZvbnRzL2ljb21vb24uZW90PzI0bmF4bycpO1xuICBzcmM6IHVybCgnZm9udHMvaWNvbW9vbi5lb3Q/MjRuYXhvI2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnZm9udHMvaWNvbW9vbi50dGY/MjRuYXhvJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnZm9udHMvaWNvbW9vbi53b2ZmPzI0bmF4bycpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnZm9udHMvaWNvbW9vbi5zdmc/MjRuYXhvI2ljb21vb24nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBtaXhpbiBpY29tb29uIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuW2NsYXNzXj0naWNvbi0nXTpiZWZvcmUsXG5bY2xhc3MqPScgaWNvbi0nXTpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29tb29uO1xufVxuXG4uaWNvbi13b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU5MDInO1xufVxuXG4uaWNvbi1hY3Rpdml0eTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlOTAzJztcbn1cblxuLmljb24tY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlOTA1Jztcbn1cblxuLmljb24tZWR1Y2F0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU5MDYnO1xufVxuXG4uaWNvbi1sZWdhbDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlOTA3Jztcbn1cblxuLmljb24tbG9jYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlOTA4Jztcbn1cblxuLmljb24tbG9naW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTkwYSc7XG59XG5cbi5pY29uLW1lZGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU5MTMnO1xufVxuXG4uaWNvbi1wdWJsaWNhdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTkxNCc7XG59XG5cbi5pY29uLWZvb2Q6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTkxNic7XG59XG5cbi5pY29uLWNvbXBvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTkxNSc7XG59XG5cbi5pY29uLWluZm9ybWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU5MTYnO1xufVxuXG4uaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlOTEyJztcbn1cblxuLmljb24tbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlOTBmJztcbn1cblxuLmljb24tbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTkxMCc7XG59XG5cbi5pY29uLXdoYXRzYXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU5MTEnO1xufVxuXG4uaWNvbi1hcnJvdy1yb3VuZC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU5MGUnO1xufVxuXG5hLmljb24tbWVudTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlOTBkJztcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5pY29uLWFjY291bnQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTkwYyc7XG59XG5cbi5pY29uLWFycm93LXJvdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU5MDAnO1xufVxuXG4uaWNvbi1hcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlOTAxJztcbn1cblxuLmljb24tZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTkwNCc7XG59XG5cbi5pY29uLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTkwOSc7XG59XG5cbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTkwYic7XG59XG5cbi5pY29uLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlYTkyJztcbn1cbiIsIi8vIE5vcm1hbGl6ZS5cbi8vIEJhc2VkIG9uIE5pY29sYXMgR2FsbGFnaGVyIGFuZCBKb25hdGhhbiBOZWFsJ3Mgbm9ybWFsaXplLmNzcyB2Mi4xLjMgfCBNSVQgTGljZW5zZVxuLy8gU291cmNlOiBnaXQuaW8vbm9ybWFsaXplXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBDb3JyZWN0cyBibG9jayBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFNi83LzgvOSAmIEZGM1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBDb3JyZWN0cyBpbmxpbmUtYmxvY2sgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRTYvNy84LzkgJiBGRjNcbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgKnpvb206IDE7XG4gIH1cbn1cblxuLy8gMS4gUHJldmVudHMgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyAnYXVkaW8nIHdpdGhvdXQgY29udHJvbHNcbi8vIDIuIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUzUgZGV2aWNlc1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDJcbn1cblxuLy8gQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuLy8gSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJhc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIDEuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHNcbi8vICAgIGh0dHA6Ly9jbGFnbnV0LmNvbS9ibG9nLzM0OC8jYzc5MFxuLy8gMi4gUHJldmVudHMgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb21cbi8vICAgIHd3dy40NTZiZXJlYXN0cmVldC5jb20vYXJjaGl2ZS8yMDEwMTIvY29udHJvbGxpbmdfdGV4dF9zaXplX2luX3NhZmFyaV9mb3JfaW9zX3dpdGhvdXRfZGlzYWJsaW5nX3VzZXJfem9vbS9cbmh0bWwge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vIEFkZHJlc3NlcyBmb250LWZhbWlseSBpbmNvbnNpc3RlbmN5IGJldHdlZW4gJ3RleHRhcmVhJyBhbmQgb3RoZXIgZm9ybSBlbGVtZW50cy5cbmh0bWwsXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6ICRub3JtYWxpemVkLWZvbnQtZmFtaWx5O1xufVxuXG4vLyBBZGRyZXNzZXMgbWFyZ2lucyBoYW5kbGVkIGluY29ycmVjdGx5IGluIElFNi83XG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy8gMi4gQWRkcmVzc2VzIG91dGxpbmUgZGlzcGxheWVkIG9kZGx5IGluIENocm9tZVxuLy8gMy4gSW1wcm92ZXMgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzXG4vLyAgICBwZW9wbGUub3BlcmEuY29tL3BhdHJpY2tsL2V4cGVyaW1lbnRzL2tleWJvYXJkL3Rlc3RcbmEge1xuICAvLyAxXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gIC8vIDJcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG4gIH1cblxuICAvLyAzXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOSwgUzUsIENocm9tZVxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vLyBBZGRyZXNzZXMgc3R5bGUgc2V0IHRvICdib2xkZXInIGluIEZGMyssIFM0LzUsIENocm9tZVxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5AaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cbn1cblxuLy8gQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gUzUsIENocm9tZVxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vLyBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRTYvNy84Lzlcbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLy8gQWRkcmVzc2VzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFNi83XG5AaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG5cbiAgcCxcbiAgcHJlIHtcbiAgICBtYXJnaW46IDFlbSAwO1xuICB9XG59XG5cbi8vIENvcnJlY3RzIGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBJRTYsIFM0LzUsIENocm9tZVxuLy8gZW4ud2lraXBlZGlhLm9yZy93aWtpL1VzZXI6RGF2aWRnb3RoYmVyZy9UZXN0NTlcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2VyaWY7XG5cbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgIF9mb250LWZhbWlseTogJ2NvdXJpZXIgbmV3JywgbW9ub3NwYWNlO1xuICB9XG5cbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8vIEltcHJvdmVzIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnNcbnByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vLyBTZXQgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cbnEge1xuICBxdW90ZXM6ICdcXDIwMUMnICdcXDIwMUQnICdcXDIwMTgnICdcXDIwMTknO1xufVxuXG4vLyAxLiBBZGRyZXNzZXMgQ1NTIHF1b3RlcyBub3Qgc3VwcG9ydGVkIGluIElFNi83XG4vLyAyLiBBZGRyZXNzZXMgcXVvdGUgcHJvcGVydHkgbm90IHN1cHBvcnRlZCBpbiBTNFxuXG4vLyAxXG5AaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gIHEge1xuICAgIHF1b3Rlczogbm9uZTtcbiAgfVxufVxuXG4vLyAyXG5xOmJlZm9yZSxcbnE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgY29udGVudDogbm9uZTtcbn1cblxuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vLyBQcmV2ZW50cyBzdWIgYW5kIHN1cCBhZmZlY3RpbmcgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzXG4vLyBnaXN0LmdpdGh1Yi5jb20vNDEzOTMwXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0uNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0uMjVlbTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExpc3RzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUU2LzdcbkBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcblxuICBkbCxcbiAgbWVudSxcbiAgb2wsXG4gIHVsIHtcbiAgICBtYXJnaW46IDFlbSAwO1xuICB9XG59XG5cbkBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgZGQge1xuICAgIG1hcmdpbjogMCAwIDAgNDBweDtcbiAgfVxufVxuXG4vLyBBZGRyZXNzZXMgcGFkZGluZ3Mgc2V0IGRpZmZlcmVudGx5IGluIElFNi83XG5AaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG5cbiAgbWVudSxcbiAgb2wsXG4gIHVsIHtcbiAgICBwYWRkaW5nOiAwIDAgMCA0MHB4O1xuICB9XG59XG5cbi8vIENvcnJlY3RzIGxpc3QgaW1hZ2VzIGhhbmRsZWQgaW5jb3JyZWN0bHkgaW4gSUU3XG5uYXYge1xuXG4gIHVsLFxuICBvbCB7XG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIDEuIFJlbW92ZXMgYm9yZGVyIHdoZW4gaW5zaWRlICdhJyBlbGVtZW50IGluIElFNi83LzgvOSwgRkYzXG4vLyAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFN1xuLy8gICAgY29kZS5mbGlja3IuY29tL2Jsb2cvMjAwOC8xMS8xMi9vbi11aS1xdWFsaXR5LXRoZS1saXR0bGUtdGhpbmdzLWNsaWVudC1zaWRlLWltYWdlLXJlc2l6aW5nL1xuXG5pbWcge1xuICBib3JkZXI6IDA7IC8vIDFcblxuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLy8gMlxuICB9XG59XG5cbi8vIENvcnJlY3RzIG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRTlcbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZpZ3VyZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEFkZHJlc3NlcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUU2LzcvOC85LCBTNSwgTzExXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQ29ycmVjdHMgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRTYvN1xuQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICBmb3JtIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLy8gRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IC4zNWVtIC42MjVlbSAuNzVlbTtcbn1cblxuLy8gMS4gQ29ycmVjdHMgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRTYvNy84Lzlcbi8vIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbi8vIDMuIENvcnJlY3RzIHRleHQgbm90IHdyYXBwaW5nIGluIEZGM1xuLy8gNC4gQ29ycmVjdHMgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRTYvN1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gM1xuXG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgICAqbWFyZ2luLWxlZnQ6IC03cHg7IC8vIDRcbiAgfVxufVxuXG4vLyAxLiBDb3JyZWN0IGZvbnQgZmFtaWx5IG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQ29ycmVjdHMgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzXG4vLyAzLiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUU2LzcsIEZGMyssIFM1LCBDaHJvbWVcbi8vIDQuIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vyc1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gIGZvbnQtc2l6ZTogMTAwJTsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDNcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyA0XG5cbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgICp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyA0XG4gIH1cbn1cblxuLy8gQWRkcmVzc2VzIEZGMy80IHNldHRpbmcgbGluZS1oZWlnaHQgb24gJ2lucHV0JyB1c2luZyAhaW1wb3J0YW50IGluIHRoZSBVQSBzdHlsZXNoZWV0XG5idXR0b24sXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbi8vIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4vLyBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgOCsuXG4vLyBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4vLyAgICBhbmQgYHZpZGVvYCBjb250cm9sc1xuLy8gMi4gQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSAnaW5wdXQnIHR5cGVzIGluIGlPU1xuLy8gMy4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4vLyAgICAnaW5wdXQnIGFuZCBvdGhlcnNcbi8vIDQuIFJlbW92ZXMgaW5uZXIgc3BhY2luZyBpbiBJRTcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzXG4vLyAgICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFNlxuYnV0dG9uLFxuaW5wdXRbdHlwZT0nYnV0dG9uJ10sXG5pbnB1dFt0eXBlPSdyZXNldCddLFxuaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcblxuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAvLyA0XG4gIH1cbn1cblxuLy8gUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50c1xuYnV0dG9uW2Rpc2FibGVkXSxcbmlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8gMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbi8vIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4vLyAzLiBSZW1vdmVzIGV4Y2VzcyBwYWRkaW5nIGluIElFN1xuLy8gICAgS25vd24gaXNzdWU6IGV4Y2VzcyBwYWRkaW5nIHJlbWFpbnMgaW4gSUU2XG5pbnB1dFt0eXBlPSdjaGVja2JveCddLFxuaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxuXG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgICAqaGVpZ2h0OiAxM3B4OyAvLyAzXG4gICAgKndpZHRoOiAxM3B4OyAvLyAzXG4gIH1cbn1cblxuLy8gMS4gQWRkcmVzc2VzIGFwcGVhcmFuY2Ugc2V0IHRvIHNlYXJjaGZpZWxkIGluIFM1LCBDaHJvbWVcbi8vIDIuIEFkZHJlc3NlcyBib3gtc2l6aW5nIHNldCB0byBib3JkZXItYm94IGluIFM1LCBDaHJvbWUgKGluY2x1ZGUgLW1veiB0byBmdXR1cmUtcHJvb2YpXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lIG9uIE9TIFguXG5pbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmVzIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGRjMrXG4vLyB3d3cuc2l0ZXBlbi5jb20vYmxvZy8yMDA4LzA1LzE0L3RoZS1kZXZpbHMtaW4tdGhlLWRldGFpbHMtZml4aW5nLWRvam9zLXRvb2xiYXItYnV0dG9ucy9cbmJ1dHRvbixcbmlucHV0IHtcbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8gMS4gUmVtb3ZlcyBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRTYvNy84Lzlcbi8vIDIuIEltcHJvdmVzIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyAxXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8vIDJcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5hIHtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBNaXhpbnMuXG4vLyBTbmlwcGV0cyBvZiByZXVzYWJsZSBDU1MgdG8gZGV2ZWxvcCBmYXN0ZXIgYW5kIGtlZXAgeW91ciBjb2RlIHJlYWRhYmxlLlxuLy8gQWRkIGFsbCBtaXhpbnMgaW4gdGhpcyBmaWxlLlxuXG5AaW1wb3J0ICdncmlkJztcbkBpbXBvcnQgJ2Jsb2Nrcyc7XG5AaW1wb3J0ICdidXR0b25zJztcbkBpbXBvcnQgJ2NhbGN1bGF0b3InO1xuQGltcG9ydCAnZm9ybXMnO1xuQGltcG9ydCAndGl0bGVzJztcbkBpbXBvcnQgJ3ZpZXdzJztcblxuLy8gQ29tcG9uZW50IG1peGlucy5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gIHpvb206IDE7XG5cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG5AbWl4aW4gb3V0ZXItY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50LlxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5AbWl4aW4gaGlkZS10ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250OiAwIC8gMCBhO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLy8gT3ZlcndyaXRlIHRoZSBkZWZhdWx0IG1lZGlhIG1peGluIHdpdGggYW4gSUU5IGZhbGxiYWNrLlxuQG1peGluIG1lZGlhKCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkaWU6IGZhbHNlLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgJGllIHtcbiAgICAubHQtaWU5ICYge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQG1lZGlhIGFsbCBhbmQgKCRkZWZhdWx0LWZlYXR1cmU6IG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucztcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcbiAgICBAbWVkaWEgYWxsIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucztcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAzIHtcbiAgICBAbWVkaWEgYWxsIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAzKTtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSA0IHtcbiAgICBAbWVkaWEgYWxsIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSBhbmQgKG50aCgkcXVlcnksIDMpOiBudGgoJHF1ZXJ5LCA0KSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gNSB7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkgYW5kIChudGgoJHF1ZXJ5LCAzKTogbnRoKCRxdWVyeSwgNCkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksIDUpO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgYnJlYWtwb2ludCgpLiBSZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuJztcbiAgfVxufVxuXG4vLyBDYWxjdWxhdGUgdGhlIHB4IGZhbGxiYWNrIGZvciBhbiByZW0gdmFsdWUuXG4vLyBFLmcuOiBAaW5jbHVkZSByZW1fcHgobGluZS1oZWlnaHQsIDEuNXJlbSk7XG4vLyBSZXR1cm5zIGJvdGggdGhlIHJlbSBhbmQgdGhlIHB4IHZhbHVlcy5cbkBtaXhpbiByZW0tcHgoJHByb3BlcnR5LCAkcmVtLXZhbCkge1xuICBmb250LXNpemU6ICRyZW0tdmFsIC8gMXJlbSAqICRiYXNlLWZvbnQtc2l6ZTtcbiAgZm9udC1zaXplOiAkcmVtLXZhbDtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgYW5kIHB4IGZhbGxiYWNrIGZvciBhIHB4IHZhbHVlLlxuLy8gRS5nLjogQGluY2x1ZGUgcHgtcmVtKGxpbmUtaGVpZ2h0LCAxNnB4KTtcbi8vIFJldHVybnMgYm90aCB0aGUgcmVtIGFuZCB0aGUgcHggdmFsdWVzLlxuQG1peGluIHB4LXJlbSgkcHJvcGVydHksICRweC12YWwpIHtcbiAgZm9udC1zaXplOiAkcHgtdmFsO1xuICBmb250LXNpemU6ICRweC12YWwgLyAkYmFzZS1mb250LXNpemUgKiAxcmVtO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAycHgpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gc2hhZG93KCRsZXZlbDogMSkge1xuICBAaWYgJGxldmVsID09IDEgeyBib3gtc2hhZG93OiAwIDJweCAyNXB4IHJnYmEoMzUsIDM1LCAzNSwgLjA1KTsgfVxuICBAZWxzZSBpZiAkbGV2ZWwgPT0gMiB7IGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIC4xNik7IH1cbiAgQGVsc2UgaWYgJGxldmVsID09IDMgeyBib3gtc2hhZG93OiAwIDJweCAyNXB4IHJnYmEoMzUsIDM1LCAzNSwgLjAzKTsgfVxuICBAZWxzZSBpZiAkbGV2ZWwgPT0gNCB7IGJveC1zaGFkb3c6IDAgMnB4IDI0cHggcmdiYSgzNSwgMzUsIDM1LCAuMDYpOyB9XG4gIEBlbHNlIGlmICRsZXZlbCA9PSA1IHsgYm94LXNoYWRvdzogMCAycHggMjVweCByZ2JhKDM1LCAzNSwgMzUsIC4wNyk7IH1cbiAgQGVsc2UgaWYgJGxldmVsID09IDYgeyBib3gtc2hhZG93OiAwIDJweCAyNXB4IHJnYmEoMzUsIDM1LCAzNSwgLjA4KTsgfVxuICBAZWxzZSBpZiAkbGV2ZWwgPT0gNyB7IGJveC1zaGFkb3c6IDAgMnB4IDI1cHggcmdiYSgzNSwgMzUsIDM1LCAuMik7IH1cbiAgQGVsc2UgaWYgJGxldmVsID09IDggeyBib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDM1LCAzNSwgMzUsIC4xNSk7IH1cbiAgQGVsc2UgaWYgJGxldmVsID09IDAgeyBib3gtc2hhZG93OiBub25lOyB9XG59XG5cbkBtaXhpbiBib3goJHJhZGl1czogMnB4LCAkc2hhZG93OiAxKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIHNoYWRvdygkc2hhZG93KTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xuICBwYWRkaW5nOiAxOHB4O1xufVxuIiwiLy8gTWl4aW5zIC0gZ3JpZC5cbi8vIEFkZCBhbGwgZ3JpZCByZWxhdGVkIG1peGlucyBpbiB0aGlzIGZpbGUuXG5cbi8vIE9tZWdhIHJlc2V0LlxuQG1peGluIG9tZWdhLXJlc2V0KCRudGgpIHtcbiAgJjpudGgtY2hpbGQoI3skbnRofSkge1xuICAgIG1hcmdpbi1yaWdodDogJGdyaWQtcGFkZGluZztcbiAgfVxuXG4gICY6bnRoLWNoaWxkKCN7JG50aH0rMSkge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG59XG5cbi8vIENvbHVtbiBsYXlvdXRzLlxuQG1peGluIGNvbC0yIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMiwgdHJ1ZSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgfVxuXG4gIG1hcmdpbjogMCAwIDI1cHg7XG5cbiAgJi52aWV3cy1yb3ctZXZlbiB7XG4gICAgQGluY2x1ZGUgb21lZ2E7XG4gIH1cbn1cblxuQG1peGluIGNvbC0zIHtcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyIG9mIDEyKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xLCB0cnVlKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xuICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgybik7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xuICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgfVxufVxuXG5AbWl4aW4gY29sLTQge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xLCB0cnVlKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xuXG4gICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiAxMik7XG5cbiAgICAmOm50aC1jaGlsZCgzbiArIDEpIHtcbiAgICAgIGNsZWFyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNG4pIHtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDRuICsgMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjb2wtNiB7XG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEsIHRydWUpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7XG4gICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoMm4pO1xuICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMsIHRydWUpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMiBvZiAxMik7XG4gICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoM24pO1xuICAgIEBpbmNsdWRlIG9tZWdhKDZuKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCJAbWl4aW4gZnJvbnQtYmxvY2soJGFjY2VudC1jb2xvcikge1xuICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIgb2YgMTIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiAxMik7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgfVxuICB9XG5cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICRhY2NlbnQtY29sb3I7XG4gIG1hcmdpbi1ib3R0b206IGZsZXgtZ3V0dGVyKDEyKTtcblxuICAuYmxvY2stZnJvbnRfX2xpbmsgYSB7XG4gICAgYmFja2dyb3VuZDogJGFjY2VudC1jb2xvcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmcm9udC1ibG9jay1oaWRlbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLCB0cnVlKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIHNoLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAkYmFzZS1waW5rO1xuICBjb2xvcjogJHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIHBhZGRpbmc6IDIwcHg7XG5cbiAgaDMge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuIiwiLy8gTWl4aW5zIC0gYnV0dG9ucy5cbi8vIEFkZCBhbGwgYnV0dG9uIHJlbGF0ZWQgbWl4aW5zIGluIHRoaXMgZmlsZS5cblxuQG1peGluIGJ1dHRvbiB7XG4gIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsICRiYXNlLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQ6ICRiYXNlLWdyZWVuO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiA3cHggMTBweCA4cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTUwbXMgbGluZWFyLCBjb2xvciAxNTBtcyBsaW5lYXI7XG4gIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQgMTUwbXMgbGluZWFyLCBjb2xvciAxNTBtcyBsaW5lYXI7XG4gIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE1MG1zIGxpbmVhciwgY29sb3IgMTUwbXMgbGluZWFyO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblxuICAmLmFjdGl2ZSxcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtbGluay1jb2xvcjtcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gbGluayB7XG4gIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsICRoNi1mb250LXNpemUpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAkYmFzZS1ncmVlbjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuQG1peGluIGxhYmVsIHtcbiAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgJGg2LWZvbnQtc2l6ZSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiIsIkBtaXhpbiBjb21wb3N0LWlucHV0IHtcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xuICBtYXJnaW4tYm90dG9tOiBmbGV4LWd1dHRlcigxMik7XG5cbiAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICBAaW5jbHVkZSBvbWVnYTtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMiwgdHJ1ZSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0IG9mIDEyKTtcblxuICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGZsZXgtZ3V0dGVyKDEyKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzbiArIDEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY29tcG9zdC1jb250YWluZXIge1xuICAkaW5wdXQtd2lkdGg6IDEyMHB4O1xuICAkaW5wdXQtaGVpZ2h0OiA0MHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jb21wb3N0LWdyb25kd2Vya2VuLnBuZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBoZWlnaHQ6IDEyNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgZGl2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEyNHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTUwLCAxNTAsIDE1MCwgMC41KTtcbiAgfVxuXG4gIGlucHV0LFxuICAuZmllbGQtc3VmZml4IHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogJGlucHV0LWhlaWdodCAvIC0yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiA1MCU7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAkaW5wdXQtd2lkdGggLyAtMjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggMjVweDtcbiAgICB3aWR0aDogJGlucHV0LXdpZHRoIC0gMzVweDtcbiAgfVxuXG4gIC5maWVsZC1zdWZmaXgge1xuICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsICRoNi1mb250LXNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogJGlucHV0LXdpZHRoIC8gLTI7XG4gICAgcGFkZGluZzogMTNweCAxMHB4IDAgMDtcbiAgICByaWdodDogNTAlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiAzNXB4O1xuICB9XG5cbiAgJi5jb21wb3N0LWdyb25kd2Vya2VuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jb21wb3N0LWdyb25kd2Vya2VuLnBuZycpO1xuICB9XG5cbiAgJi5jb21wb3N0LXN0cnVpa2VuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jb21wb3N0LXN0cnVpa2VuLnBuZycpO1xuICB9XG5cbiAgJi5jb21wb3N0LWJsb2VtcGVya2VuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jb21wb3N0LWJsb2VtcGVya2VuLnBuZycpO1xuICB9XG5cbiAgJi5jb21wb3N0LWdhem9uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jb21wb3N0LWdhem9uLnBuZycpO1xuICB9XG5cbiAgJi5jb21wb3N0LW1vZXN0dWluIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jb21wb3N0LW1vZXN0dWluLnBuZycpO1xuICB9XG5cbiAgJi5jb21wb3N0LWZydWl0dHVpbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY29tcG9zdC1mcnVpdHR1aW4ucG5nJyk7XG4gIH1cbn1cblxuQG1peGluIGNvbXBvc3QtY29sdW1uIHtcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG5cbiAgc21hbGwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xLCB0cnVlKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgMTIpO1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgc21hbGwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjb21wb3N0LXJlc3VsdCB7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGRpbWEtY29sdW1uIHtcbiAgQGluY2x1ZGUgY29tcG9zdC1jb2x1bW47XG59XG5cbkBtaXhpbiBkaW1hLXJlc3VsdCB7XG4gIEBpbmNsdWRlIGNvbXBvc3QtcmVzdWx0O1xufSIsIi8vIE1peGlucyAtIGZvcm1zLlxuLy8gQWRkIGFsbCBmb3JtIHJlbGF0ZWQgbWl4aW5zIGluIHRoaXMgZmlsZS5cblxuQG1peGluIGZvcm0tdGV4dGZpZWxkIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSwgdHJ1ZSkge1xuICAgIG1heC13aWR0aDogNTAlO1xuICAgIG1pbi13aWR0aDogNjBweDtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYmFzZS1ib3JkZXItY29sb3I7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogNjBweDtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3JtLXRleHRhcmVhIHtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRiYXNlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm9ybS1yYWRpbyB7XG4gIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAzcHggMCAxcHg7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxufVxuXG5AbWl4aW4gZm9ybS1jaGVja2JveCB7XG4gIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgIG1hcmdpbjogMCAzcHggMCAxcHg7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBsYWJlbCB7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEsIHRydWUpIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtaW4td2lkdGg6IDYwcHg7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICB3aWR0aDogMTAwJTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgQGV4dGVuZCBoNDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMjBweCAwIDVweDtcbn1cblxuQG1peGluIGZvcm0tZGVzY3JpcHRpb24ge1xuICAvL1xufVxuIiwiLy8gTWl4aW5zIC0gdGl0bGVzLlxuLy8gQWRkIGFsbCB0aXRsZSByZWxhdGVkIG1peGlucyBpbiB0aGlzIGZpbGUuXG5cbkBtaXhpbiB0aXRsZSB7XG4gIGNvbG9yOiAkY29sb3ItdGl0bGU7XG4gIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG4iLCJAbWl4aW4gdmlld3MtbGlzdCB7XG4gIC8vIFNob3VsZCBiZSBhcHBsaWVkIG9uIC52aWV3XG5cbiAgJiA+IC52aWV3LWNvbnRlbnQge1xuICAgIC52aWV3cy1yb3cge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRiYXNlLWJvcmRlci1jb2xvcjtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtZmlsdGVyIDMwMG1zIGxpbmVhcjtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLmdyb3VwLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMiBvZiAxMik7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5ncm91cC1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ3JvdXAtcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIgb2YgMTIpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ncm91cC1sZWZ0ICsgLmdyb3VwLXJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDggb2YgMTIpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHZpZXdzLWhvdmVyIHtcbiAgJiA+IC52aWV3LWNvbnRlbnQge1xuICAgIC52aWV3cy1yb3cge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgLmdyb3VwLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIGVmZmVjdFxuICAmID4gLnZpZXctY29udGVudDpob3ZlciB7XG4gICAgLnZpZXdzLXJvdyB7XG4gICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDcwJSk7XG4gICAgICBmaWx0ZXI6IGdyYXlzY2FsZSg3MCUpO1xuICAgIH1cblxuICAgIC52aWV3cy1yb3c6aG92ZXIge1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgwJSk7XG4gICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwJSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB2aWV3cy1taW5pIHtcbiAgJiA+IC52aWV3LWNvbnRlbnQge1xuICAgIC52aWV3cy1yb3cge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRiYXNlLWJvcmRlci1jb2xvcjtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG4gIFxuICAmID4gLm1vcmUtbGluayB7XG4gICAgYSB7XG4gICAgICBAZXh0ZW5kIGg2O1xuICAgICAgY29sb3I6ICRiYXNlLWdyZWVuO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBleHRlbmQgLmljb24tYXJyb3c6YmVmb3JlO1xuICAgICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgaWNvbW9vbjtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHZpZXdzLWNvbGxhcHNpYmxlIHtcbiAgaDIudG9nZ2xlLXRpdGxlIHtcbiAgICBjb2xvcjogJGJhc2UtZ3JlZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYmFzZS1ib3JkZXItY29sb3I7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGV4dGVuZCAuaWNvbi1hcnJvdy1yb3VuZDpiZWZvcmU7XG4gICAgICBAaW5jbHVkZSBpY29tb29uO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcblxuICAgICAgJi5vcGVuIHtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1hcnJvdy1yb3VuZC1kb3duOmJlZm9yZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRvZ2dsZS1ib2R5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLnZpZXdzLXJvdzpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRGVzaWduLlxuLy8gSW1wb3J0IGFsbCB5b3VyIGRlc2lnbiBlbGVtZW50IHNhc3MgZmlsZXMgaW4gdGhpcyBmaWxlLlxuQGltcG9ydCAnbGF5b3V0JztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuQGltcG9ydCAnaGVhZGVyJztcbkBpbXBvcnQgJ2Zvb3Rlcic7XG5AaW1wb3J0ICduYXZpZ2F0aW9uJztcbkBpbXBvcnQgJ2Zvcm1zJztcbkBpbXBvcnQgJ3RhYmxlcyc7XG5cbmlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xufVxuXG5wPmltZyB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0xKSB7XG4gICAgd2lkdGg6IHJldmVydC1sYXllcjtcbiAgfVxufVxuXG4ubWVzc2FnZXMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDJlbSAwO1xufVxuXG4uYmxvY2stcGFnZS10aXRsZS1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5wcmludCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYWdlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgaDQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB1bCB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaS5wYWdlcl9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLCB0cnVlKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCA1cHggNXB4IDA7XG5cbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBidXR0b247XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYXNlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRiYXNlLWdyZWVuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucGFnZXJfX2l0ZW0tLXByZXZpb3VzLFxuICAgICAgJi5wYWdlcl9faXRlbS0tbmV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnVzZXItLXZpZXctbW9kZS1mdWxsIHtcbiAgLmRvd25sb2Fkcy1ibG9jay13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAuYmxvY2stZnJvbnQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG5cbiAgICAgIC5ibG9jay1mcm9udF9faWNvbixcbiAgICAgIC5ibG9jay1mcm9udF9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stZnJvbnRfX2xpbmsgYSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLmRvd25sb2Fkcy1ibG9jay13cmFwcGVyLFxuICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgZmxleDogMTtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBMYXktb3V0LlxuLy8gQWRkIHlvdXIgbGF5LW91dCByZWxhdGVkIHRoZW1pbmcgaW4gdGhpcyBmaWxlLlxuXG4uY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xufVxuXG5oZWFkZXIsXG5mb290ZXIsXG4ubWFpbiB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uY29sdW1uIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSwgdHJ1ZSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0ICBvZiAxMik7XG4gIH1cbn1cblxuLmxheW91dC1vbmUtc2lkZWJhciB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMsIHRydWUpIHtcbiAgICAmLmxheW91dC1zaWRlYmFyLWZpcnN0IHtcbiAgICAgIC5sYXlvdXQtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4IG9mIDEyKTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtc2lkZWJhci1zZWNvbmQge1xuICAgICAgLmxheW91dC1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDggb2YgMTIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFzaWRlIHtcbiAgICAgICYubGF5b3V0LXNpZGViYXItZmlyc3Qge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7XG4gICAgICB9XG5cbiAgICAgICYubGF5b3V0LXNpZGViYXItc2Vjb25kIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxheW91dC10d28tc2lkZWJhcnMge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xLCB0cnVlKSB7XG4gICAgLmxheW91dC1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgICB9XG5cbiAgICAubGF5b3V0LXNpZGViYXItZmlyc3Qge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMgb2YgMTIpO1xuICAgIH1cblxuICAgIC5sYXlvdXQtc2lkZWJhci1zZWNvbmQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMgb2YgMTIpO1xuICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgfVxuICB9XG59XG5cbi5sYXlvdXQtbm8tc2lkZWJhcnMge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xLCB0cnVlKSB7XG4gICAgLm1haW4ge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyIG9mIDEyKTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cbiAgfVxufVxuXG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sge1xuICBjbGVhcjogYm90aDtcbn1cblxuYm9keS5wYXRoLWphYXJ2ZXJzbGFnIHtcbiAgLmxheW91dC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zLCB0cnVlKSB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4ubm9kZS0tdHlwZS1wZXJzb24uZHMtMmNvbC1zdGFja2VkLWZsdWlkIHtcblxuICA+IC5ncm91cC1sZWZ0IHtcbiAgICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgPiAuZ3JvdXAtcmlnaHQge1xuICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmltYWdlLXN0eWxlLXRodW1ibmFpbC1wZXJzb24ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IC8vIHByZXZlbnRzIHRoYXQgdGhlIGltYWdlIHdpbGwgYmUgYmlnZ2VyIHRoZW4gZXhwZWN0ZWQgc2luY2UgdGhlcmUncyBpbmxpbmUgZGVmaW5lZCBoZWlnaHQgJiB3aWR0aFxuICB9XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIDEuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHNcbi8vICAgIFNvdXJjZTogaHR0cDovL2NsYWdudXQuY29tL2Jsb2cvMzQ4LyNjNzkwXG4vLyAyLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbVxuLy8gICAgU291cmNlOiB3d3cuNDU2YmVyZWFzdHJlZXQuY29tL2FyY2hpdmUvMjAxMDEyL2NvbnRyb2xsaW5nX3RleHRfc2l6ZV9pbl9zYWZhcmlfZm9yX2lvc193aXRob3V0X2Rpc2FibGluZ191c2VyX3pvb21cbmh0bWwge1xuICBmb250LXNpemU6IDEwMCUgKiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCk7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8vIEFkZHJlc3NlcyBmb250LWZhbWlseSBpbmNvbnNpc3RlbmN5IGJldHdlZW4gJ3RleHRhcmVhJyBhbmQgb3RoZXIgZm9ybSBlbGVtZW50cy5cbmh0bWwsXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xufVxuXG4vLyBMaW5lLWhlaWdodHMuXG5ib2R5IHtcbiAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgJGJhc2UtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG5oMSB7XG4gIEBpbmNsdWRlIHRpdGxlO1xuICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAkaDEtZm9udC1zaXplKTtcbiAgbWFyZ2luOiAkaDEtbWFyZ2luO1xuICBwYWRkaW5nOiAkaDEtcGFkZGluZztcbn1cblxuaDIge1xuICBAaW5jbHVkZSB0aXRsZTtcbiAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgJGgyLWZvbnQtc2l6ZSk7XG4gIG1hcmdpbjogJGgyLW1hcmdpbjtcbiAgcGFkZGluZzogJGgyLXBhZGRpbmc7XG5cbiAgcCArICYsXG4gIHVsICsgJixcbiAgb2wgKyAmLFxuICBpbWcgKyAmLFxuICAudmlldy1tb2RlLWZ1bGwgZGl2ICsgJiB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgfVxufVxuXG5oMyB7XG4gIEBpbmNsdWRlIHRpdGxlO1xuICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAkaDMtZm9udC1zaXplKTtcbiAgbWFyZ2luOiAkaDMtbWFyZ2luO1xuICBwYWRkaW5nOiAkaDMtcGFkZGluZztcblxuICBwICsgJixcbiAgdWwgKyAmLFxuICBvbCArICYsXG4gIGltZyArICYsXG4gIC52aWV3LW1vZGUtZnVsbCBkaXYgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5cbmg0IHtcbiAgQGluY2x1ZGUgdGl0bGU7XG4gIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsICRoNC1mb250LXNpemUpO1xuICBtYXJnaW46ICRoNC1tYXJnaW47XG4gIHBhZGRpbmc6ICRoNC1wYWRkaW5nO1xuXG4gIHAgKyAmLFxuICB1bCArICYsXG4gIG9sICsgJixcbiAgaW1nICsgJixcbiAgLnZpZXctbW9kZS1mdWxsIGRpdiArICYge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbn1cblxuaDUge1xuICBAaW5jbHVkZSB0aXRsZTtcbiAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgJGg1LWZvbnQtc2l6ZSk7XG4gIG1hcmdpbjogJGg1LW1hcmdpbjtcbiAgcGFkZGluZzogJGg1LXBhZGRpbmc7XG59XG5cbmg2IHtcbiAgQGluY2x1ZGUgdGl0bGU7XG4gIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsICRoNi1mb250LXNpemUpO1xuICBtYXJnaW46ICRoNi1tYXJnaW47XG4gIHBhZGRpbmc6ICRoNi1wYWRkaW5nO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkYmFzZS1ncmVlbjtcbiAgY29sb3I6ICRiYXNlLWdyZWVuO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMTEwJTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogNXB4IDE1cHg7XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCIvLyBIZWFkZXIuXG4vLyBBZGQgeW91ciBoZWFkZXIgcmVsYXRlZCB0aGVtaW5nIGluIHRoaXMgZmlsZS5cblxuaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAmPi5oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBoZWlnaHQ6IDUycHg7XG5cbiAgICA+LmNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zLCB0cnVlKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBuYXYge1xuICAgIC8vICAgZmxvYXQ6IHJpZ2h0O1xuICAgIC8vICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgLy8gfVxuXG4gICAgLmJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgJi5tZW51LS10b3Age1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zLCB0cnVlKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmLm1lbnUtLXNvY2lhbC1tZWRpYSxcbiAgICAgICYubWVudS0tbGFuZ3VhZ2Uge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC00LCB0cnVlKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tb2JpbGUtbWVudSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zLCB0cnVlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cbiAgfVxuXG4gICY+Lm5hdmlnYXRpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMsIHRydWUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGZsb2F0OiByaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIHVsLm1lbnUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cblxuICAuYmFubmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyNzVweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGltZyB7XG4gICAgICAvL21pbi1oZWlnaHQ6IDE4MHB4O1xuICAgIH1cblxuICB9XG5cbiAgLmJsb2NrLXN5c3RlbS1icmFuZGluZy1ibG9jayB7XG4gICAgZmxleDogMTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB6LWluZGV4OiA1O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgIC5zaXRlLWxvZ28ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMsIHRydWUpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNTBweDtcbiAgICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvb3Rlci5cbi8vIEFkZCB5b3VyIGZvb3Rlci1yZWxhdGVkIHRoZW1pbmcgaW4gdGhpcyBmaWxlLlxuXG5mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gIC5ibG9jayB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cblxuICAuYmxvY2stYmxvY2stY29udGVudCB7XG4gICAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5ibG9jay12bGFjby1yZWxhdGVkLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyAoMTIgb2YgMTIpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMiwgdHJ1ZSkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zICg4IG9mIDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zLCB0cnVlKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMgKDkgb2YgMTIpO1xuICAgIH1cblxuICAgIHBhZGRpbmc6IDQwcHggMCAwO1xuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgIH1cblxuICAgIC52aWV3LW1vZGUtcmVsYXRlZCB7XG4gICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0IG9mIDgpO1xuXG4gICAgICAmICsgLnZpZXctbW9kZS1yZWxhdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgICB9XG5cbiAgICAgICYgKyAudmlldy1tb2RlLXJlbGF0ZWQgKyAudmlldy1tb2RlLXJlbGF0ZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zLCB0cnVlKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDkpO1xuXG4gICAgICAgICYgKyAudmlldy1tb2RlLXJlbGF0ZWQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogZmxleC1ndXR0ZXIoOSk7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgLnZpZXctbW9kZS1yZWxhdGVkICsgLnZpZXctbW9kZS1yZWxhdGVkIHtcbiAgICAgICAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsICRiYXNlLWZvbnQtc2l6ZSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAubm9kZS1yZWxhdGVkX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsICRoNi1mb250LXNpemUpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgIH1cblxuICAgICAgLmNvbXBvbmVudC1kYXRlLFxuICAgICAgLmNvbXBvbmVudC1sb2NhdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsICRoNi1mb250LXNpemUpO1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgdGltZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ub2RlLXJlbGF0ZWRfX3RpdGxlICsgLmNvbXBvbmVudC1sb2NhdGlvbixcbiAgICAgIC5ub2RlLXJlbGF0ZWRfX3RpdGxlICsgLmNvbXBvbmVudC1sb2NhdGlvbiArIC5jb21wb25lbnQtZGF0ZSxcbiAgICAgIC5ub2RlLXJlbGF0ZWRfX3RpdGxlICsgLmNvbXBvbmVudC1kYXRlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcgLSAnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJsb2NrLXZsYWNvLXJlbGF0ZWQtY29udGVudCArIC5ibG9jay1ibG9jay1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMgKDEyIG9mIDEyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEsIHRydWUpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyAoNiBvZiAxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMiwgdHJ1ZSkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zICg0IG9mIDEyKTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMsIHRydWUpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyAoMyBvZiAxMik7XG4gICAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICB9XG5cbiAgICBjbGVhcjogbm9uZTtcbiAgICBwYWRkaW5nOiA0MHB4IDAgMDtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmJsb2NrLWZvb3Rlcl9fbGluayB7XG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTVweCA1MHB4IDE1cHggMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBleHRlbmQgLmljb24tYXJyb3ctcm91bmQ6YmVmb3JlO1xuICAgICAgICAgIEBpbmNsdWRlIGljb21vb247XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vL2Nvb2tpZVxuXG4uZXUtY29va2llLWNvbXBsaWFuY2UtYWdyZWUtYnV0dG9uLFxuLmV1LWNvb2tpZS1jb21wbGlhbmNlLW1vcmUtYnV0dG9uLFxuLmV1LWNvb2tpZS1jb21wbGlhbmNlLWhpZGUtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgQGluY2x1ZGUgYnV0dG9uO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG59XG5cbi5ldS1jb29raWUtY29tcGxpYW5jZS1tZXNzYWdlIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEsIHRydWUpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbi5ldS1jb29raWUtY29tcGxpYW5jZS1tZXNzYWdlIHAge1xuICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnNsaWRpbmctcG9wdXAtYm90dG9tIHtcbiAgcGFkZGluZzogMjBweCAwO1xuXG59XG5cbi5ldS1jb29raWUtY29tcGxpYW5jZS1idXR0b25zIHtcbiAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4iLCIvLyBOYXZpZ2F0aW9uLlxuLy8gQWRkIHlvdXIgbmF2aWdhdGlvbiByZWxhdGVkIHRoZW1pbmcgaW4gdGhpcyBmaWxlLlxuXG5oZWFkZXIge1xuXG4gIHVsLmxpbmtzLFxuICB1bC5tZW51IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgPmxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgPmEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJj4uaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICB1bC5tZW51IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDQwMDtcbiAgICAgIGJhY2tnb3J1bmQtY29sb3I6IHJlZDtcblxuICAgICAgbGkgYSB7XG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDExcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTQsIHRydWUpIHtcbiAgICAgICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxMnB4KTtcbiAgICAgICAgICBwYWRkaW5nOiAxOHB4IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgcGFkZGluZzogMThweCA3cHg7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpLm1lbnUtaXRlbS0tYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LS1zb2NpYWwtbWVkaWEge1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICB9XG5cbiAgICAuYmxvY2stbWluaS1zZWFyY2gtZm9ybS1ibG9jayB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMsIHRydWUpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGZvcm0ge1xuICAgICAgICBwYWRkaW5nOiA1cHggNDBweCA1cHggMTBweDtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3NlYXJjaC5wbmcnKSAkd2hpdGUgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLCB0cnVlKSB7XG4gICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQuYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtLWxhbmd1YWdlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0zLCB0cnVlKSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogMTdweCA2cHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS0tc29jaWFsLW1lZGlhIHtcbiAgICAgIHVsLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgcGFkZGluZzogMTJweCA2cHg7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAyN3B4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmPi5uYXZpZ2F0aW9uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICB1bC5tZW51IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTQsIHRydWUpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNnB4KTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMsIHRydWUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE0cHgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTQsIHRydWUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE4cHgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTUsIHRydWUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmFzZS1ncmVlbjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA0cHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICRiYXNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJhc2UtZ3JlZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jb250ZW50IGFzaWRlIHtcbiAgLm5hdmlnYXRpb24ubWVudS0tdG9wIHtcbiAgICBsaS5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRiYXNlLWdyZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29udGVudCBhc2lkZSxcbi5zYi1zbGlkZWJhciB7XG5cbiAgdWwubGlua3MsXG4gIHVsLm1lbnUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICA+bGkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgPmEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5sYXlvdXQtc2lkZWJhci1maXJzdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMywgdHJ1ZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tZW51LS1hY2NvdW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1waW5rO1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBleHRlbmQgLmljb24tYWNjb3VudDpiZWZvcmU7XG4gICAgICAgIEBpbmNsdWRlIGljb21vb247XG5cbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgY29sb3I6ICRiYXNlLWdyZWVuO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLm1lbnUtLW1haW4sXG4gIC5tZW51LS10b3AsXG4gIC5tZW51LS1leHRyYSxcbiAgLm1lbnUtLWxhbmd1YWdlLFxuICAmLnNiLXNsaWRlYmFyIC5tZW51LS1hY2NvdW50IHtcbiAgICB1bC5tZW51IHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRiYXNlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAkYmFzZS1ncmVlbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBleHRlbmQgLmljb24tYXJyb3c6YmVmb3JlO1xuICAgICAgICAgIEBpbmNsdWRlIGljb21vb247XG4gICAgICAgICAgY29sb3I6ICRiYXNlLWdyZWVuO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsLm1lbnUge1xuICAgICAgICBhIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmFzZS1ncmVlbjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LS1leHRyYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRiYXNlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG4jc2Itc2xpZGViYXIge1xuICBiYWNrZ3JvdW5kOiAkY29sb3I7XG5cbiAgdWwubWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGJhc2UtZ3JlZW47XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICRiYXNlLWdyZWVuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkgbGkge1xuICAgICAgJi5tZW51LWl0ZW0tLWV4cGFuZGVkIHtcbiAgICAgICAgJj5hIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkgYSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSBsaSBsaSB7XG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubWVudS1pdGVtLS1leHBhbmRlZCB7XG4gICAgICAgIGxpIGEge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtLWV4dHJhIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG5cbiAgLm1lbnUtLWFjY291bnQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRiYXNlLWJvcmRlci1jb2xvcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5tZW51LS1zb2NpYWwtbWVkaWEge1xuICAgIHVsLm1lbnUge1xuICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAyN3B4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LS1sYW5ndWFnZSB7XG4gICAgdWwubWVudSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgd2hpdGU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm1zLlxuLy8gQWRkIHlvdXIgZm9ybSByZWxhdGVkIHRoZW1pbmcgaW4gdGhpcyBmaWxlLlxuXG4vLyBQcmV2ZW50cyBmb250LWZhbWlseSBpbmNvbnNpc3RlbmN5IGJldHdlZW4gdGV4dGFyZWEgYW5kIG90aGVyIGZvcm0gZWxlbWVudHMuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xufVxuXG5mb3JtIHtcblxuICBpbnB1dFt0eXBlPSd0ZXh0J10sXG4gIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG4gIGlucHV0W3R5cGU9J3VybCddLFxuICBpbnB1dFt0eXBlPSd0ZWwnXSxcbiAgaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG4gIGlucHV0W3R5cGU9J2RhdGUnXSB7XG4gICAgQGluY2x1ZGUgZm9ybS10ZXh0ZmllbGQ7XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS10ZXh0YXJlYTtcbiAgfVxuXG4gIC5mb3JtLXR5cGUtcmFkaW8ge1xuICAgIEBpbmNsdWRlIGZvcm0tcmFkaW87XG4gIH1cblxuICAuZm9ybS10eXBlLWNoZWNrYm94IHtcbiAgICBAaW5jbHVkZSBmb3JtLWNoZWNrYm94O1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuICB9XG5cbiAgZGl2LmRlc2NyaXB0aW9uIHtcbiAgICBAaW5jbHVkZSBmb3JtLWRlc2NyaXB0aW9uO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uLFxuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgfVxufVxuXG4ucGF0aC1jb250YWN0IC5mb3JtLWFjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbi5zZWxlY3Qtc3R5bGUge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xLCB0cnVlKSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCB1cmwoJy4uL2ltZy9hcnJvd2Rvd24uZ2lmJykgbm8tcmVwZWF0IGNlbnRlciByaWdodDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLnNlbGVjdC1zdHlsZSBzZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBwYWRkaW5nOiA1cHggOHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5zZWxlY3Qtc3R5bGUgc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuZm9ybS5jb250YWN0LWZvcm0ge1xuICAuc2VsZWN0LXN0eWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5sYWJlbC5qcy1mb3JtLXJlcXVpcmVkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiICpcIjtcbiAgY29sb3I6ICNlNTNlM2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tbGVmdDogMnB4O1xufVxuIiwiLy8gVGFibGVzLlxuLy8gQWRkIHlvdXIgdGFibGUgcmVsYXRlZCB0aGVtaW5nIGluIHRoaXMgZmlsZS5cblxudGFibGUge1xuICB0ciB7XG4gICAgdGgge1xuICAgICAgLy9cbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICAvL1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU3R5bGVzLlxuLy8gQWRkIHlvdXIgY29udGVudC1zcGVjaWZpYyB0aGVtaW5nIGluIHRoaXMgZmlsZS5cbi8vIEFsbCBnZW5lcmFsIHRoZW1pbmcgc2hvdWxkIGdvIGluIHRoZSBkZXNpZ24gZm9sZGVyLlxuXG5AaW1wb3J0ICdjb21wb25lbnQvY29tcG9uZW50JztcbkBpbXBvcnQgJ25vZGUvbm9kZSc7XG5AaW1wb3J0ICd0ZXJtL3Rlcm0nO1xuQGltcG9ydCAndmlldy92aWV3JztcbkBpbXBvcnQgJ3BhZ2UvcGFnZSc7XG5cbmh0bWwge1xuICBjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcblxuICA6OnNlbGVjdGlvbiB7XG4gICAgY29sb3I6ICRiYXNlLXNlbGVjdGVkLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJhc2Utc2VsZWN0ZWQtdGV4dC1iYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59XG5cbi8vIEJhc2UgcmVzcG9uc2l2ZSBpbWFnZXMuXG5pbWcge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8gQmFzZSBsaW5rIHNldHRpbmdzLlxuYSB7XG4gIGNvbG9yOiAkYmFzZS1saW5rLWNvbG9yO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBTdHlsZXMgPiBDb21wb25lbnRzLlxuLy8gU25pcHBldHMgb2YgcmV1c2FibGUgQ1NTIGNvbmNlcm5pbmcgc3BlY2lmaWMgY29tcG9uZW50cywgZS5nLiAnc29jaWFsLXNoYXJlJ1xuLy8gSW1wb3J0IGFsbCB5b3VyIGNvbXBvbmVudCBzYXNzIGZpbGVzIGluIHRoaXMgZmlsZS5cblxuQGltcG9ydCAnYXR0YWNobWVudCc7XG5AaW1wb3J0ICdicmVhZGNydW1iJztcbkBpbXBvcnQgJ2NvbXBvc3QnO1xuQGltcG9ydCAnY29tbWVyY2UtcHJvZHVjdCc7XG5AaW1wb3J0ICdkYXRlJztcbkBpbXBvcnQgJ2ZiLXBhZ2UnO1xuQGltcG9ydCAnaXNzdXUnO1xuQGltcG9ydCAnbGluayc7XG5AaW1wb3J0ICdzb2NpYWwtc2hhcmUnO1xuQGltcG9ydCAndGFncyc7XG5AaW1wb3J0ICdzdG9yZWxvY2F0b3InO1xuQGltcG9ydCAnY2FsY3VsYXRvci9jYWxjdWxhdG9yJztcbkBpbXBvcnQgJ3R5cGVhaGVhZCc7XG5AaW1wb3J0ICdjaGVja291dCc7XG4iLCIuY29tcG9uZW50LWF0dGFjaG1lbnQge1xuICBhIHtcbiAgICBAaW5jbHVkZSBsaW5rO1xuICB9XG5cbiAgc3Bhbi5maWxlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4uY29va2llc2pzci1iYW5uZXIge1xuICBwYWRkaW5nOiAzMHB4IDMwcHggMTVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJpZ2h0OiAzMHB4O1xuICBib3R0b206IDMwcHg7XG4gIGxlZnQ6IDMwcHg7XG4gIHdpZHRoOiA3ODBweDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICBjb2xvcjogJHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgLjIpO1xuXG4gIC5jb29raWVzanNyLWJhbm5lci0tYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuY29va2llc2pzci1idG4ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uO1xuICAgICAgbWFyZ2luOiAwIDE1cHggMTVweCAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIC8vJi5jb29raWVzanNyLXNldHRpbmdzIHtcbiAgICAgIC8vICBAaW5jbHVkZSBidXR0b24tLXNlY29uZGFyeTtcbiAgICAgIC8vfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb29raWVzanNyLWJhbm5lci0tbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW46IDE1cHggMCAwO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIC8vY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtdGV4dCk7XG4gICAgICAvL2ZvbnQtc2l6ZTogdmFyKC0tYmFzZS1mb250LXNpemUtc21hbGwpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb29raWVzanNyLWJhbm5lci0taW5mbyB7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG4gIH1cbn1cblxuLmNvb2tpZXNqc3ItbGF5ZXItLXdyYXBwZXIge1xuICBoZWFkZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmNvb2tpZXNqc3ItbGF5ZXItLWhlYWRlciB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmFja2dyb3VuZDtcbiAgICBoZWlnaHQ6IDgwcHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIC8vZm9udC1zaXplOiB2YXIoLS1oZWFkaW5nLWZvbnQtc2l6ZS1oMik7XG4gICAgICAvL2xpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkaW5nLWxpbmUtaGVpZ2h0LWgyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XG4gICAgfVxuXG4gICAgLy8uY29va2llc2pzci1sYXllci0tY2xvc2Uge1xuICAgIC8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8vICByaWdodDogMjBweDtcbiAgICAvLyAgdG9wOiAyMHB4O1xuICAgIC8vICBwYWRkaW5nOiAxMnB4O1xuICAgIC8vICBib3JkZXI6IDA7XG4gICAgLy8gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2ljb25fY2xvc2Uuc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAvLyAgYmFja2dyb3VuZC1zaXplOiAyNHB4O1xuICAgIC8vICB3aWR0aDogMjRweDtcbiAgICAvLyAgaGVpZ2h0OiAzOHB4O1xuICAgIC8vICB0ZXh0LWluZGVudDogMTAxJTtcbiAgICAvLyAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvLyAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyAgei1pbmRleDogMTAwO1xuICAgIC8vICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgLy9cbiAgICAvLyAgJjpob3ZlcixcbiAgICAvLyAgJjpmb2N1cyB7XG4gICAgLy8gICAgb3BhY2l0eTogLjg7XG4gICAgLy8gIH1cbiAgICAvL31cbiAgfVxuXG4gIC5jb29raWVzanNyLWxheWVyLS1ib2R5IHtcbiAgICB0b3A6IDgwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgLmNvb2tpZXNqc3Itc3dpdGNoOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1ncmVlbjtcbiAgICB9XG5cbiAgICAuY29va2llc2pzci1zZXJ2aWNlLWdyb3VwICB7XG4gICAgICAuY29va2llc2pzci1zZXJ2aWNlLWdyb3VwLS10YWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIC5jb29raWVzanNyLXNlcnZpY2UtZ3JvdXAtLWNvbnRlbnQge1xuICAgICAgICAvL2NvbG9yOiB2YXIoLS1jb2xvci1iYXNlLXRleHQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIC8vZm9udC1zaXplOiB2YXIoLS1iYXNlLWZvbnQtc2l6ZS1zbWFsbCk7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgLmNvb2tpZXNqc3Itc2VydmljZS1ncm91cC0tdGFiIHtcbiAgICAgICAgICBjb2xvcjogJGJhc2UtZ3JlZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29va2llc2pzci1zZXJ2aWNlLS1kZXNjcmlwdGlvbiB7XG4gICAgICBoMyxcbiAgICAgIGEge1xuICAgICAgICAvL2NvbG9yOiB2YXIoLS1jb2xvci1iYXNlLXRleHQpO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgLy9AaW5jbHVkZSBsaXN0LWNsZWFuO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvb2tpZXNqc3ItbGF5ZXItLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlcjogMDtcblxuICAgIC5jb29raWVzanNyLWxheWVyLS1sYWJlbC1hbGwge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtdGV4dCk7XG4gICAgICBmb250LXNpemU6IHZhcigtLWJhc2UtZm9udC1zaXplLXNtYWxsKTtcbiAgICB9XG5cbiAgICAuY29va2llc2pzci1sYXllci0tYWN0aW9ucyB7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWdyZWVuICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJhc2UtZ3JlZW4gIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBidXR0b24ge1xuICAgICAgICAvL0BpbmNsdWRlIGJ1dHRvbjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVuc2V0O1xuXG4gICAgICAgICYuZGVueUFsbCxcbiAgICAgICAgJi5hbGxvd0FsbCB7XG4gICAgICAgICAgLy9AaW5jbHVkZSBidXR0b24tLXNlY29uZGFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gU3R5bGVzID4gQ29tcG9uZW50cyA+IEJyZWFkY3J1bWIuXG4vLyBBZGQgeW91ciBicmVhZGNydW1iLXJlbGF0ZWQgdGhlbWluZyBpbiB0aGlzIGZpbGUuXG5cbi5icmVhZGNydW1iIHtcbiAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgJGg2LWZvbnQtc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRiYXNlLXRleHQtY29sb3I7XG4gIH1cbn1cbiIsIlxuLy9Db250ZW50dHlwZSBDb21wb3N0XG4ubm9kZS0tdHlwZS1jb21wb3N0IHtcbiAgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuXG4udGF4b25vbXktdGVybS0tdHlwZS1jb21wb3N0IHtcbiAgJi50YXhvbm9teS10ZXJtLS12aWV3LW1vZGUtdGVhc2VyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC1maWx0ZXIgMzAwbXMgbGluZWFyO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5jb21wb3N0LXRvcF9faGVhZCB7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLCB0cnVlKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4uY29tcG9zdC10b3BfX2hlYWRfX3RpdGxlIHtcbiAgaDIge1xuICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsICRoNS1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNweDtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIEBleHRlbmQgLmljb24tYXJyb3c6YmVmb3JlO1xuICAgIEBpbmNsdWRlIGljb21vb247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDVweDtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gIH1cbn1cblxuLmNvbXBvc3QtdG9wX19oZWFkX19ydWxlIHtcbiAgY29sb3I6ICRiYXNlLWdyZWVuO1xuICBmb250LXdlaWdodDogNjAwO1xuXG4gIGRpdiB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG4gIC5ub3RfcmVjb21tZW5kZWQge1xuICAgIGNvbG9yOiAkYmFzZS1yZWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFzZS1yZWQ7XG4gIH1cblxuICAucG9zc2libGVfd2l0aF9jYXV0aW9uIHtcbiAgICBjb2xvcjogJGJhc2Utb3JhbmdlO1xuICAgIGJvcmRlci1jb2xvcjogJGJhc2Utb3JhbmdlO1xuICB9XG5cbiAgLmFsbG93ZWQge1xuICAgIGNvbG9yOiAkYmFzZS1ncmVlbjtcbiAgICBib3JkZXItY29sb3I6ICRiYXNlLWdyZWVuO1xuICB9XG5cbn1cblxuLmNvbXBvc3QtYm90dG9tIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMiwgdHJ1ZSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uY29tcG9zdC1ib3R0b21fX2xlZnQge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLCB0cnVlKSB7XG4gICAgZmxleDogMCAwIDIzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cblxuLmNvbXBvc3QtYm90dG9tX19yaWdodCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICBmbGV4OiAxIDEgYXV0b1xuICB9XG59XG5cbi5jb21wb3N0LWJvdHRvbV9fcmlnaHRfX3J1bGUge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLCB0cnVlKSB7XG4gICAgZmxleDogMSAxIGF1dG9cbiAgfVxufVxuXG4uY29tcG9zdC1ib3R0b21fX3JpZ2h0X19tYXJrIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cblxuLy9TZWFyY2guXG5cbiNibG9jay12aWV3c2V4cG9zZWRmaWx0ZXJibG9jayxcbiNibG9jay12aWV3c2V4cG9zZWRmaWx0ZXJibG9jay0yIHtcbiAgLmZvcm0tLWlubGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRiYXNlLWdyZWVuO1xuICAgIHBhZGRpbmc6IDBweCAyNHB4IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuXG4gICAgLmZvcm0taXRlbS10ZXh0IHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDlweDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0LmJ1dHRvbiB7XG4gICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvcm0tdHlwZS1zZWFyY2gtYXBpLWF1dG9jb21wbGV0ZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEsIHRydWUpIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy9CYWNrIGJ1dHRvbiBibG9ja1xuXG4jYmxvY2stYmFja3RvaG9tZWNvbXBvc3Rpbmd7XG4gIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICY6YmVmb3Jle1xuICAgICAgQGV4dGVuZCAuaWNvbi1hcnJvdzpiZWZvcmU7XG4gICAgICBAaW5jbHVkZSBpY29tb29uO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiA1cHg7XG4gICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICBjb2xvcjogZGFya2VuKCRiYXNlLWdyZWVuLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuXG4vL0JhY2sgYnV0dG9uIGJsb2NrIGJ1dHRvbi5cblxuI2Jsb2NrLWJhY2tjb21wb3N0aW5nZ3VpZGVidG4ge1xuICBhIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweCAxNXB4IDUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgaWNvbW9vbjtcbiAgICAgIEBleHRlbmQgLmljb24tYXJyb3ctcm91bmQ6YmVmb3JlO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMTVweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4vL3NlYXJjaCBhcGlcblxuLy8gRHJ1cGFsIFNlYXJjaCBhdXRvY29tcGxldGUuIE92ZXJyaWRlIHN5c3RlbSwgaGlkZSB0aHJvYmJlciBpY29uIHdoZW4gaW5hY3RpdmUuXG4uanMgaW5wdXQuZm9ybS1hdXRvY29tcGxldGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIGNlbnRlcjtcbn1cblxuLy8gQXV0b2NvbXBsZXRlIHN1Z2dlc3Rpb25zXG4uc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc3VnZ2VzdGlvbiB7XG4gIHBhZGRpbmc6IDEycHggMThweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDE0cHg7XG5cblxuICBhIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5hdXRvY29tcGxldGUtc3VnZ2VzdGlvbi1ub3RlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICAuYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb24tdXNlci1pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cblxuXG4uc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc2VhcmNoIHtcbiAgJi51aS13aWRnZXQge1xuICB9XG4gICYudWktd2lkZ2V0LnVpLXdpZGdldC1jb250ZW50IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYmFzZS1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuXG4gIC51aS1tZW51LWl0ZW0td3JhcHBlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgICAuc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc3VnZ2VzdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYigxMzQsIDE4NCwgMjMpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC51aS1tZW51LWl0ZW0ge1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYigxMzQsIDE4NCwgMjMpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4udWktYXV0b2NvbXBsZXRlIHtcbiAgLnVpLW1lbnUtaXRlbSB7XG4gICAgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLnVpLWF1dG9jb21wbGV0ZS1maWVsZC1ncm91cHtcbiAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNHB4KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gIH1cblxuICBsaS51aS1tZW51LWl0ZW0ge1xuICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsICRiYXNlLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAudWktbWVudS1kaXZpZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIuY29tbWVyY2UtcHJvZHVjdCB7XG4gICYuY29tbWVyY2UtcHJvZHVjdC0tdmlldy1tb2RlLWZ1bGwge1xuICAgIC5ncm91cC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyIG9mIDEyKTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuZ3JvdXAtbGVmdCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JvdXAtcmlnaHQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyIG9mIDEyKTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkX19sYWJlbCB7XG4gICAgICAgIEBleHRlbmQgaDM7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogM2VtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ncm91cC1sZWZ0Ky5ncm91cC1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCBvZiAxMik7XG4gICAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICB9XG5cbiAgICAuZmllbGRfX2xhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGxhYmVsO1xuICAgIH1cblxuICAgIC5jb21tZXJjZS1vcmRlci1pdGVtLWFkZC10by1jYXJ0LWZvcm0ge1xuXG4gICAgICAuZmllbGQtLW5hbWUtdGl0bGUsXG4gICAgICAucHJvZHVjdC0tcmVuZGVyZWQtYXR0cmlidXRlIGxlZ2VuZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC0tbmFtZS1wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTE1JTtcbiAgICAgIH1cblxuICAgICAgLmZvcm0tYWN0aW9ucyxcbiAgICAgIC5maWVsZC0tbmFtZS1wcmljZSxcbiAgICAgIC5maWVsZC0tbmFtZS1xdWFudGl0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd19hZGR0b2NhcnQge1xuXG4gICAgICAgIC5mb3JtLWFjdGlvbnMsXG4gICAgICAgIC5maWVsZC0tbmFtZS1wcmljZSxcbiAgICAgICAgLmZpZWxkLS1uYW1lLXF1YW50aXR5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm91dG9mc3RvY2sge1xuICAgICAgICBpbnB1dC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLXByb2R1Y3QtYXR0YWNobWVudCxcbiAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1wcm9kdWN0LWlzc3V1IHtcbiAgICAgICAgLmZpZWxkX19sYWJlbCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMWVtIDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pc3N1dS1lbWJlZCB7XG4gICAgICAgICAgaGVpZ2h0OiA0MDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC0tbmFtZS1xdWFudGl0eSB7XG4gICAgICAgIG1hcmdpbjogMmVtIDA7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIEBleHRlbmQgaDM7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLXJhZGlvcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmZvcm0tdHlwZS1yYWRpbyB7XG4gICAgICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgQGV4dGVuZCBoMztcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgM3B4IDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvZHVjdC0tcmVuZGVyZWQtYXR0cmlidXRlX19zZWxlY3RlZCtsYWJlbCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJhc2UtZ3JlZW47XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLXR5cGUtcmFkaW86b25seS1jaGlsZCBsYWJlbCB7XG4gICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFqYXgtcHJvZ3Jlc3Mge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGxlZnQ6IC02cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb21tZXJjZS1wcm9kdWN0X19ub3ByaW50LW5vdGlmaWNhdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luOiAxZW0gMCA0ZW0gMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb21tZXJjZS1wcm9kdWN0X19maXJzdGZvcmZyZWUtbm90aWZpY2F0aW9uLFxuICAgIC5jb21tZXJjZS1wcm9kdWN0X19hZG1pbmlzdHJhdGl2ZWNvc3Qtbm90aWZpY2F0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG4gIH1cblxuICAmLmNvbW1lcmNlLXByb2R1Y3QtLXZpZXctbW9kZS10ZWFzZXIge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcblxuICAgIC5jb21tZXJjZS1wcm9kdWN0X19ib3gge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb21tZXJjZS1wcm9kdWN0X19pbWFnZSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDkwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbW1lcmNlLXByb2R1Y3RfX3RpdGxlIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogMTBweCAwIDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LXRhZ3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb21wb25lbnQtZGF0ZSxcbi5jb21wb25lbnQtbG9jYXRpb24ge1xuICBAaW5jbHVkZSBsaW5rO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNvbXBvbmVudC1sb2NhdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29tcG9uZW50LWRhdGUgKyAuY29tcG9uZW50LWRhdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgLmZpZWxkLWxhYmVsLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG59XG4iLCIuZmItcGFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIHNwYW4sXG4gIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLmlzc3V1LWVtYmVkIHtcblxuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yKSB7XG4gICAgaGVpZ2h0OiA1MDBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgaGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDczNXB4O1xuICBtYXJnaW46IDAgYXV0bztcblxuICBkaXYgKyBkaXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZpZWxkLS1uYW1lLWZpZWxkLW1hZ2F6aW5lLWlzc3V1IHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn0iLCIuY29tcG9uZW50LWxpbmsge1xuICBhIHtcbiAgICBAaW5jbHVkZSBsaW5rO1xuICB9XG59XG4iLCIuc29jaWFsLXNoYXJlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiA1MHB4IDAgMDtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGxpbms7XG4gICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbWFyZ2luOiAwIDEwcHggMTBweCAwO1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDFweCAxcHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY29tcG9uZW50LXRhZ3Mge1xuICBAaW5jbHVkZSBsaW5rO1xuICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAkaDYtZm9udC1zaXplKTtcbiAgY29sb3I6ICRiYXNlLXRleHQtY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAwIDEwcHggNXB4IDA7XG59XG4iLCIubGVkZW5saWpzdC10YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDJkMWNlO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDJkMWNlO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICB0aCxcbiAgdGQge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiA2cHggMTBweCA1cHggMTBweDtcblxuICAgICY6bnRoLWNoaWxkKDFuKSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xMDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLCB0cnVlKSB7XG4gICAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0bikge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMiwgdHJ1ZSkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG4gIH1cblxuICB0aFtuZy1jbGljayo9XCJzZXRPcmRlclwiXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICBpbWcge1xuICAgIGhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMjRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICAgIGhlaWdodDogMzVweDtcbiAgICAgIHdpZHRoOiAzNXB4O1xuICAgIH1cbiAgICB9XG5cbiAgLmljb25saXN0IHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5maWx0ZXJzLFxuLm5vZGUtbG9jYXRpb24gLml0ZW0tbGlzdCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIG1hcmdpbjogMjBweCAwO1xuXG4gIC5jb2wtNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLCB0cnVlKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiAxMik7XG4gICAgfVxuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuXG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBwYWRkaW5nOiA1cHggMCAzcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICAgIC5sYWJlbC1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xOHB4O1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbC10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgfVxuXG4gICAgICAubGFiZWwtaW1hZ2UgKyAubGFiZWwtdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMTJweCAwIDEwcHggNDJweDtcbiAgICAgIH1cblxuICAgICAgJi5oYXMtY2hlY2sge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IC0yNHB4O1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5vZGUtbG9jYXRpb24gLml0ZW0tbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLm1hcC13aW5kb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtMykge1xuICAgICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgfVxuICB9XG5cbiAgLndpbmRvdy1sb2dvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtMykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICByaWdodDogNXB4O1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAud2luZG93LWNvbnRlbnQge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LTMpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgdWwucHJvZHVjdHMucGVyc29uYWwsXG4gIHVsLm1vcmVpbmZvIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtMykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgfVxuXG4gIHVsLnByb2R1Y3RzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtMykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAmLmJ1c2luZXNzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAzNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgdWwubW9yZWluZm8ge1xuICAgIGxpIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDM1cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLnZsYWNvLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0zMHB4O1xuICAgIGJvdHRvbTogNXB4O1xuICAgIHdpZHRoOiAyNXB4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtMykge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgfVxuICB9XG59XG5cbi5nbS1zdHlsZS1pdyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cbiAgPiBkaXYge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm9yZGVyLWNhcmV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG5cbiAgLnN0MCB7XG4gICAgZmlsbDogI2QzZDNkMztcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICAuc3QwIHtcbiAgICAgIGZpbGw6ICRiYXNlLWdyZWVuO1xuICAgIH1cbiAgfVxufVxuXG4uYmxvY2stb3JpZ2luLWpzb24tZ21hcC5jb250ZXh0dWFsLXJlZ2lvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgLmNvbnRleHR1YWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmFuZ3VsYXItZ29vZ2xlLW1hcC1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LTIpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDMyMHB4O1xuICAgIHRvcDogNTJweDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LTMpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIHRvcDogMTUycHg7XG4gIH1cbn1cblxuLmxvY2F0aW9uZmluZGVyIC5iYW5uZXIge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0yKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubG9jYXRpb25maW5kZXIgLmNvbnRlbnQge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC0yKSB7XG4gICAgcGFkZGluZy10b3A6IDMyMHB4O1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtMykge1xuICAgIHBhZGRpbmctdG9wOiA1MDBweDtcbiAgfVxufVxuXG4uc2VsZWN0LXN0eWxlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB3aWR0aDogMTcwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoJy4uL2ltZy9hcnJvd2Rvd24uZ2lmJykgbm8tcmVwZWF0IDEwMCUgNTAlO1xufVxuXG4uc2VsZWN0LXN0eWxlIHNlbGVjdCB7XG4gIHBhZGRpbmc6IDVweCA4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLnNlbGVjdC1zdHlsZSBzZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc3RvcmVsb2NhdG9yLWNvbW1lbnRzIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW4tbGVmdDogNnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMnB4O1xufVxuXG4uc3RvcmVsb2NhdG9yLWNvbW1lbnRzX19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuXG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBpY29tb29uO1xuICAgIEBleHRlbmQgLmljb24taW5mb3JtYXRpb247XG4gICAgY29sb3I6ICRiYXNlLWJvcmRlci1jb2xvcjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuLnN0b3JlbG9jYXRvci1jb21tZW50c19fdG9vbHRpcCB7XG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBpY29tb29uO1xuICAgIEBleHRlbmQgLmljb24taW5mb3JtYXRpb247XG4gICAgY29sb3I6ICRiYXNlLWJvcmRlci1jb2xvcjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGVmdDogOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDhweDtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA5OTg7XG4gICAgdG9wOiAtM3B4O1xuICAgIGxlZnQ6IC0zcHg7XG4gICAgcmlnaHQ6IC0zcHg7XG4gICAgYm90dG9tOiAtM3B4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogLTlweDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMTBweCAxNnB4IDEwcHggMzZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdG9wOiAtMTBweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMjAwcHg7XG4gIHotaW5kZXg6IDk5OTtcblxuICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDE1MG1zIGxpbmVhciwgb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG4gIC1vLXRyYW5zaXRpb246IHZpc2liaWxpdHkgMTUwbXMgbGluZWFyLCBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbiAgLW1zLXRyYW5zaXRpb246IHZpc2liaWxpdHkgMTUwbXMgbGluZWFyLCBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLnN0b3JlbG9jYXRvci1jb21tZW50czpob3ZlciAuc3RvcmVsb2NhdG9yLWNvbW1lbnRzX190b29sdGlwIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLnN0b3JlbG9jYXRvci1maWx0ZXItLWxvY2F0aW9uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpbnB1dCNjaXRpZXNBdXRvY29tcGxldGUge1xuICAgIEBpbmNsdWRlIGZvcm0tdGV4dGZpZWxkO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHdpZHRoOiAyNDBweDtcbiAgfVxuXG4gIC5zZWxlY3Qtc3R5bGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRiYXNlLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgIHNlbGVjdCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG4gIH1cblxuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGhlaWdodDogNDJweDtcbiAgfVxufVxuXG4vKiBISURFIElURU1TIE9OIE1PQklMRSAqL1xuLmxvY2F0aW9uZmluZGVyIC5ibG9jay1vcmlnaW4tanNvbi1nbWFwLXBlcnNvbmFsIC5maWx0ZXJzIC5jb2wtNC5leHRyYS1pbmZvLFxuLmxvY2F0aW9uZmluZGVyIC5ibG9jay1vcmlnaW4tanNvbi1nbWFwLWJ1c2luZXNzIC5maWx0ZXJzIC5jb2wtNC5wcm9kdWN0ZW4ge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LTIpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ubG9jYXRpb25maW5kZXIgLmNvbnRlbnQgLmNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG5cbiAgaDEsXG4gIC5maWx0ZXJzLFxuICAuc29jaWFsLXNoYXJlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LTIpIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgICBoMSxcbiAgICAuZmlsdGVycyxcbiAgICAuc29jaWFsLXNoYXJlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59IiwiQGltcG9ydCAnY28yLWZvcm0nO1xuQGltcG9ydCAnY29tcG9zdC1mb3JtJztcbkBpbXBvcnQgJ2NvbXBvc3QtcmVzdWx0cyc7XG5AaW1wb3J0ICdkaW1hLWZvcm0nO1xuQGltcG9ydCAnZGltYS1yZXN1bHRzJztcbiIsIi5jb250YWN0LW1lc3NhZ2UtY28yLWNhbGN1bGF0b3ItZm9ybSB7XG4gIC5mb3JtLWl0ZW0tZmllbGQtY28yLXR5cGUtZ2Z0LWNvbXBvc3Qge1xuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb250YWN0LW1lc3NhZ2UtY29tcG9zdC1jYWxjdWxhdG9yLWZvcm0ge1xuICAuZmllbGQtLXR5cGUtZGVjaW1hbCB7XG4gICAgQGluY2x1ZGUgY29tcG9zdC1pbnB1dDtcblxuICAgIC5jb21wb3N0LWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBjb21wb3N0LWNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG4iLCIuY29tcG9zdC1yZXN1bHRzIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNvbXBvc3QtcmVzdWx0c19faGVhZGVyIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSwgdHJ1ZSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0IG9mIDEyKTtcbiAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuLmNvbXBvc3QtcmVzdWx0c19faGVhZGVyX19jYXQxLFxuLmNvbXBvc3QtcmVzdWx0c19faGVhZGVyX19jYXQyIHtcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgNCk7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEsIHRydWUpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBpbWcge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgfVxufVxuXG4uY29tcG9zdC1yZXN1bHRzX19yb3cge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNvbXBvc3QtcmVzdWx0c19fbGFiZWwge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xLCB0cnVlKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xuICB9XG5cbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gIC5kb2N1bWVudGF0aW9uIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG59XG5cbi5jb21wb3N0LXJlc3VsdHNfX3N1cmZhY2Uge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xLCB0cnVlKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBmbGV4LWd1dHRlcigxMik7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tbGVmdDogNXB4O1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSwgdHJ1ZSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBjb250ZW50OiAnIC0gJztcbiAgfVxufVxuXG4uY29tcG9zdC1yZXN1bHRzX19jYXQxIHtcbiAgQGluY2x1ZGUgY29tcG9zdC1jb2x1bW47XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEsIHRydWUpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL21vZHVsZXMvY3VzdG9tL29yaWdpbl9qc29uX2dtYXAvYXBwL2Fzc2V0cy9pbWcvcHJvZHVjdC0tZ3JvZW5jb21wb3N0LnBuZycpO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmNvbXBvc3QtcmVzdWx0c19fY2F0MiB7XG4gIEBpbmNsdWRlIGNvbXBvc3QtY29sdW1uO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9tb2R1bGVzL2N1c3RvbS9vcmlnaW5fanNvbl9nbWFwL2FwcC9hc3NldHMvaW1nL3Byb2R1Y3QtLWdmdGNvbXBvc3QucG5nJyk7XG59XG5cbi5jb21wb3N0LXJlc3VsdHNfX2NhdDMge1xuICBAaW5jbHVkZSBjb21wb3N0LWNvbHVtbjtcbiAgQGluY2x1ZGUgb21lZ2E7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL21vZHVsZXMvY3VzdG9tL29yaWdpbl9qc29uX2dtYXAvYXBwL2Fzc2V0cy9pbWcvcHJvZHVjdC0tZ2Z0Y29tcG9zdC1uYWNvbXBvc3RlcmluZy5wbmcnKTtcbn1cblxuLmNvbXBvc3QtcmVzdWx0c19fdG90YWwge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY29tcG9zdC1yZXN1bHRzX190b3RhbF9fbGFiZWwge1xuICBAaW5jbHVkZSBjb21wb3N0LXJlc3VsdDtcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDggb2YgMTIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEsIHRydWUpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmNvbXBvc3QtcmVzdWx0c19fdG90YWxfX2NhdDEge1xuICBAaW5jbHVkZSBjb21wb3N0LWNvbHVtbjtcbiAgQGluY2x1ZGUgY29tcG9zdC1yZXN1bHQ7XG5cbiAgYm9yZGVyLWNvbG9yOiAjMDA2ZDJjO1xufVxuXG4uY29tcG9zdC1yZXN1bHRzX190b3RhbF9fY2F0MiB7XG4gIEBpbmNsdWRlIGNvbXBvc3QtY29sdW1uO1xuICBAaW5jbHVkZSBjb21wb3N0LXJlc3VsdDtcblxuICBib3JkZXItY29sb3I6ICNiZjUwMjU7XG59XG5cbi5jb21wb3N0LXJlc3VsdHNfX3RvdGFsX19jYXQzIHtcbiAgQGluY2x1ZGUgY29tcG9zdC1jb2x1bW47XG4gIEBpbmNsdWRlIGNvbXBvc3QtcmVzdWx0O1xuICBAaW5jbHVkZSBvbWVnYTtcblxuICBib3JkZXItY29sb3I6ICNmMzk4MjU7XG59XG5cbi5jb21wb3N0LXJlc3VsdHNfX2xlZ2VuZGEge1xuICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAkaDYtZm9udC1zaXplKTtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSwgdHJ1ZSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5jb21wb3N0LXJlc3VsdHNfX2xlZ2VuZGFfX2NhdDEsXG4uY29tcG9zdC1yZXN1bHRzX19sZWdlbmRhX19jYXQyLFxuLmNvbXBvc3QtcmVzdWx0c19fbGVnZW5kYV9fY2F0Myxcbi5jb21wb3N0LXJlc3VsdHNfX2stZ2FyZGVuLW11bGNoIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNHB4IDA7XG5cbiAgaW1nIHtcbiAgICBib3R0b206IC0ycHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTZweDtcbiAgfVxufVxuXG4uY29tcG9zdC1yZXN1bHRzX19rLWdhcmRlbi1tdWxjaCB7XG4gIG1hcmdpbi10b3A6IDgwcHg7XG59XG5cbi5jb21wb3N0LXJlc3VsdHNfX2N0YSB7XG4gIGEge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgICBtYXJnaW46IDE2cHggMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEsIHRydWUpIHtcbiAgICAgIG1hcmdpbjogMTZweCAxMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4ucGF0aC1jb21wb3N0LWNhbGN1bGF0b3IgLm1lc3NhZ2VzLS1zdGF0dXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29tcG9zdC1yZXN1bHRzX19rLWdhcmRlbi1tdWxjaC1sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uY29tcG9zdC1yZXN1bHRzX19rLWdhcmRlbi1tdWxjaC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG5cbi8vQzAyIGNhbGN1bGF0b3Jcbi5yZXN1bHRzLWNvMiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uY29tcG9zdC1yZXN1bHRzX19yb3ctLWZpcnN0IHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG59XG5cbi5jb21wb3N0LXJlc3VsdHNfX2xhYmVsLS1jbzIge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbiIsIi5jb250YWN0LW1lc3NhZ2UtZGltYS1jYWxjdWxhdG9yLWZvcm0ge1xuICBoMiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRiYXNlLWJvcmRlci1jb2xvcjtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb2xvcjogJGJhc2UtZ3JlZW47XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmZpZWxkZ3JvdXAge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmFzZS1ib3JkZXItY29sb3I7XG4gICAgcGFkZGluZzogMjVweCAwIDIwcHg7XG4gIH1cblxuICAuZmllbGQtY3VzdG9tIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5mb3JtLXR5cGUtdGV4dGZpZWxkLFxuICAuZm9ybS10eXBlLW51bWJlciB7XG4gICAgaW5wdXQge1xuICAgICAgbWFyZ2luOiAuNWVtIDEwcHggMWVtIDA7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgfVxuXG4gICAgLmZpZWxkLXN1ZmZpeCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMTdweDtcbiAgICB9XG4gIH1cblxuICAuZm9ybS10eXBlLXNlbGVjdCB7XG4gICAgc2VsZWN0IHtcbiAgICAgIG1hcmdpbjogLjVlbSAxMHB4IDFlbSAwO1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXR5cGUtY2hlY2tib3gge1xuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDtcbiAgICB9XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtZGltYS1zYW1lbnN0ZWxsaW5nLW1lc3QsXG4gIC5maWVsZC0tbmFtZS1maWVsZC1kaW1hLXNhbWVuc3RlbGxpbmctb2JhLFxuICAuZmllbGQtLW5hbWUtZmllbGQtZGltYS1zYW1lbnN0ZWxsaW5nLWVnIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZC0tbmFtZS1maWVsZC1kaW1hLWRyb2dlLXN0b2YsXG4gIC5maWVsZC0tbmFtZS1maWVsZC1kaW1hLWFkZGl0aWVmLXR5cGUsXG4gIC5maWVsZC0tbmFtZS1maWVsZC1kaW1hLWFkZGl0aWVmLWRyb2dlLXN0b2YsXG4gIC5maWVsZC0tbmFtZS1maWVsZC1kaW1hLXBlcmMtZGlnaXN0YWF0LWRyb2dlbiB7XG4gICAgbGFiZWwge1xuICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWRpbWEtZHJvZ2Utc3RvZixcbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWRpbWEtbi10b3QsXG4gIC5maWVsZC0tbmFtZS1maWVsZC1kaW1hLXAtdG90LWFscy1wMm81LFxuICAuZmllbGQtLW5hbWUtZmllbGQtZGltYS16b3V0Z2VoYWx0ZS1lYyxcbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWRpbWEtYWRkaXRpZWYtdHlwZSxcbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWRpbWEtYWRkaXRpZWYta29zdCxcbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWRpbWEtYWRkaXRpZWYtaG9ldmVlbGhlaWQsXG4gIC5maWVsZC0tbmFtZS1maWVsZC1kaW1hLWFkZGl0aWVmLWRyb2dlLXN0b2YsXG4gIC5maWVsZC0tbmFtZS1maWVsZC1kaW1hLWFkZGl0aWVmLW4tdG90LFxuICAuZmllbGQtLW5hbWUtZmllbGQtZGltYS1hZGRpdGllZi1wLXRvdC1wMm81LFxuICAuZmllbGQtLW5hbWUtZmllbGQtZGltYS1hZGRpdGllZi16b3V0Z2VoYWx0ZSB7XG4gICAgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtZGltYS1hZGRpdGllZi10b2V2b2VnZW4ge1xuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdG9wOiAycHg7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gIH1cblxuICAvL0NvbGxhcHNlIGFkZGl0aWVmXG4gICNlZGl0LWZpZWxkLWRpbWEtYWRkaXRpZWYtdHlwZS13cmFwcGVyLFxuICAjZWRpdC1maWVsZC1kaW1hLWFkZGl0aWVmLWtvc3Qtd3JhcHBlcixcbiAgI2VkaXQtZmllbGQtZGltYS1hZGRpdGllZi1ob2V2ZWVsaGVpZC13cmFwcGVyLFxuICAjc2FtZW5zdGVsbGluZy1hZGRpdGllZiA+IGxhYmVsLFxuICAjZWRpdC1maWVsZC1kaW1hLWFkZGl0aWVmLWRyb2dlLXN0b2Ytd3JhcHBlcixcbiAgI2VkaXQtZmllbGQtZGltYS1hZGRpdGllZi1uLXRvdC13cmFwcGVyLFxuICAjZWRpdC1maWVsZC1kaW1hLWFkZGl0aWVmLXAtdG90LXAybzUtd3JhcHBlcixcbiAgI2VkaXQtZmllbGQtZGltYS1hZGRpdGllZi16b3V0Z2VoYWx0ZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgI3NhbWVuc3RlbGxpbmctYWRkaXRpZWYge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICYgPiBsYWJlbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICB9XG5cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtZGltYS1hZGRpdGllZi16b3V0Z2VoYWx0ZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG5cbn1cbiIsIi5kaW1hLXJlc3VsdHMge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG4vL1NQQU4tQ09MVU1OUyA9PiA4IE9GIDEyXG4uZGltYS1yZXN1bHRzX19oZWFkZXIge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0xLCB0cnVlKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xuICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG4vL1NQQU4tQ09MVU1OUyA9PiAyIE9GIDhcbi5kaW1hLXJlc3VsdHNfX2hlYWRlcl9fY2F0MSxcbi5kaW1hLXJlc3VsdHNfX2hlYWRlcl9fY2F0Mixcbi5kaW1hLXJlc3VsdHNfX2hlYWRlcl9fY2F0Myxcbi5kaW1hLXJlc3VsdHNfX2hlYWRlcl9fY2F0NCB7XG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyIG9mIDYpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmRpbWEtcmVzdWx0c19fcm93LFxuLmRpbWEtcmVzdWx0c19fdG90YWwge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cbn1cblxuLmRpbWEtcmVzdWx0c19faGVhZGVyICsgLmRpbWEtcmVzdWx0c19fcm93ID4gaDMge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vL1NQQU4tQ09MVU1OUyA9PiA0IE9GIDEyXG4uZGltYS1yZXN1bHRzX19sYWJlbCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEsIHRydWUpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiAxMik7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZGltYS1yZXN1bHRzX19jYXQxLFxuLmRpbWEtcmVzdWx0c19fY2F0Mixcbi5kaW1hLXJlc3VsdHNfX2NhdDMsXG4uZGltYS1yZXN1bHRzX19jYXQ0LFxuLmRpbWEtcmVzdWx0c19fZW1wdHkge1xuICBAaW5jbHVkZSBkaW1hLWNvbHVtbjtcbn1cblxuLmRpbWEtcmVzdWx0c19fdG90YWwge1xuICAuZGltYS1yZXN1bHRzX19sYWJlbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSwgdHJ1ZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgfVxuXG4gIC5kaW1hLXJlc3VsdHNfX2NhdDEsXG4gIC5kaW1hLXJlc3VsdHNfX2NhdDIsXG4gIC5kaW1hLXJlc3VsdHNfX2NhdDMsXG4gIC5kaW1hLXJlc3VsdHNfX2NhdDQge1xuICAgIEBpbmNsdWRlIGRpbWEtcmVzdWx0O1xuICB9XG59XG5cbi5kaW1hLXJlbWFya3Mge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xuICBjb2xvcjogIzg4ODtcbiAgZm9udC1zaXplOiA5MCU7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuXG4gIGg0IHtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLmRpbWEtcmVzdWx0c19fY3RhIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMSwgdHJ1ZSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgfVxuXG4gIGEge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ucGF0aC1kaW1hLWNhbGN1bGF0b3IgLm1lc3NhZ2VzLS1zdGF0dXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuI2VkaXQtZmllbGQtd3JnLWFkZHJlc3MtMC12YWx1ZSxcbi50dC1xdWVyeSxcbi50dC1oaW50IHtcbiAgd2lkdGg6IDM5NnB4O1xuICAvL2hlaWdodDogMzBweDtcbiAgLy9wYWRkaW5nOiA4cHggMTJweDtcbiAgLy9mb250LXNpemU6IDI0cHg7XG4gIC8vbGluZS1oZWlnaHQ6IDMwcHg7XG4vKiAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7Ki9cbiAgb3V0bGluZTogbm9uZTtcbn1cblxuI2VkaXQtZmllbGQtd3JnLWFkZHJlc3MtMC12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbiNlZGl0LWZpZWxkLXdyZy1hZGRyZXNzLTAtdmFsdWU6Zm9jdXMge1xufVxuXG4udHQtcXVlcnkge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cblxuLnR0LWhpbnQge1xuICBjb2xvcjogIzk5OVxufVxuXG4udHQtbWVudSB7XG4gIHdpZHRoOiA0MjJweDtcbiAgbWFyZ2luOiAxMnB4IDA7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogOHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMik7XG4gIC1tb3otYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKTtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKTtcbn1cblxuLnR0LXN1Z2dlc3Rpb24ge1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLnR0LXN1Z2dlc3Rpb246aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE1MzI4O1xufVxuXG4udHQtc3VnZ2VzdGlvbi50dC1jdXJzb3Ige1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExNTMyODtcblxufVxuXG4udHQtc3VnZ2VzdGlvbiBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZ2lzdCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbiIsIi5jaGVja291dC1vcmRlci1zdW1tYXJ5IHtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgY29sb3I6ICMzMzM7XG5cbiAgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtLW5hbWUtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICB9XG5cbiAgLmZpZWxkLS1uYW1lLXByb2R1Y3QtaWQgYSB7XG4gICAgY29sb3I6ICM0YTdjMmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBmb250LXNpemU6IDAuOTVlbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZC0tbmFtZS1wcmljZSB7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICAub3JkZXItdG90YWwtbGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogMjRweDtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuXG4gICAgJi1sYWJlbCB7XG4gICAgICBjb2xvcjogIzY2NjtcbiAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAmLXZhbHVlIHtcbiAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgICZfX3RvdGFsIHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMzMzO1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFN0eWxlcyA+IE5vZGUuXG4vLyBTbmlwcGV0cyBvZiByZXVzYWJsZSBDU1MgY29uY2VybmluZyBzcGVjaWZpYyBub2RlcywgZS5nLiAnbm9kZS1uZXdzJ1xuLy8gSW1wb3J0IGFsbCB5b3VyIG5vZGUgc2FzcyBmaWxlcyBpbiB0aGlzIGZpbGUuXG5cbkBpbXBvcnQgJ25vZGUtY2FsZW5kYXInO1xuQGltcG9ydCAnbm9kZS1jb21wYW55JztcbkBpbXBvcnQgJ25vZGUtZG93bmxvYWQnO1xuQGltcG9ydCAnbm9kZS1sb2NhdGlvbic7XG5AaW1wb3J0ICdub2RlLW5ld3MnO1xuQGltcG9ydCAnbm9kZS1wYWdlJztcbkBpbXBvcnQgJ25vZGUtcGVyc29uJztcbkBpbXBvcnQgJ25vZGUtcGljdHVyZSc7XG5cbi5maWVsZC0tbmFtZS1maWVsZC1wYWdlLWJvZHksXG4uZmllbGQtLW5hbWUtZmllbGQtY2FsZW5kYXJ5LWJvZHksXG4uZmllbGQtLW5hbWUtZmllbGQtZG93bmxvYWQtYm9keSxcbi5maWVsZC0tbmFtZS1maWVsZC1mYXEtYm9keSxcbi5maWVsZC0tbmFtZS1maWVsZC1jb21wYW55LWJvZHksXG4uZmllbGQtLW5hbWUtZmllbGQtY29tcGFueS1pbmZvLFxuLmZpZWxkLS1uYW1lLWZpZWxkLWxvY2F0aW9uLWluZm8sXG4uZmllbGQtLW5hbWUtZmllbGQtcGVyc29uLWJvZHksXG4uZmllbGQtLW5hbWUtZmllbGQtbmV3cy1ib2R5LFxuLmZpZWxkLS1uYW1lLWZpZWxkLWludHJvIHtcbiAgaW1nLmFsaWduLWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgfVxuICBpbWcuYWxpZ24tcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICB9XG59XG4iLCIubm9kZS1jYWxlbmRhciB7XG4gICYudmlldy1tb2RlLXRlYXNlcixcbiAgJi5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIHtcbiAgICAmLmFjY2Vzcy1tZW1iZXIge1xuICAgICAgLmNvbXBvbmVudC1kYXRlLFxuICAgICAgLmNvbXBvbmVudC1sb2NhdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkYmFzZS1waW5rO1xuICAgICAgfVxuXG4gICAgICAuY29tcG9uZW50LWRhdGU6bGFzdC1jaGlsZCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBleHRlbmQgLmljb24tYWNjb3VudDpiZWZvcmU7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbW9vbjtcblxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnZpZXctbW9kZS1mcm9udCB7XG4gICAgaDMge1xuICAgICAgQGV4dGVuZCBoNDtcbiAgICAgIGNvbG9yOiAkYmFzZS1ncmVlbjtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLWFycm93OmJlZm9yZTtcbiAgICAgICAgQGluY2x1ZGUgaWNvbW9vbjtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWNjZXNzLW1lbWJlciB7XG4gICAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAkYmFzZS1waW5rO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBleHRlbmQgLmljb24tYWNjb3VudDpiZWZvcmU7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbW9vbjtcblxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWRhdGUsXG4gICAgLmNvbXBvbmVudC1sb2NhdGlvbiB7XG4gICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIC5jb21wb25lbnQtbG9jYXRpb24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgfVxuICB9XG5cbiAgJi5ub2RlLS12aWV3LW1vZGUtZnVsbCB7XG4gICAgLmZpZWxkX19sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBsYWJlbDtcbiAgICB9XG4gIH1cbn1cblxuLmZpZWxkLS1uYW1lLWZpZWxkLWNhbGVuZGFyLXNoIHtcbiAgQGluY2x1ZGUgc2gtd2FybmluZztcbn1cbiIsIi5ub2RlLWNvbXBhbnkge1xuICAmLnZpZXctbW9kZS1mdWxsIHtcbiAgICAuZ3JvdXAtbGVmdCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOSBvZiAxMik7XG4gICAgfVxuXG4gICAgLmdyb3VwLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDEyKTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cblxuICAgIC5ncm91cC1mb290ZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuLm5vZGUtY29tcGFueV9fdGVsZXBob25lIHtcbiAgQGluY2x1ZGUgbGluaztcbiAgY29sb3I6ICRiYXNlLXRleHQtY29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5ub2RlLWNvbXBhbnlfX2VtYWlsIHtcbiAgQGluY2x1ZGUgbGluaztcbiAgY29sb3I6ICRiYXNlLXRleHQtY29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5ub2RlLWNvbXBhbnlfX3dlYnNpdGUge1xuICBAaW5jbHVkZSBsaW5rO1xuICBjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLm5vZGUtY29tcGFueV9fYm9keSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5ub2RlLWNvbXBhbnlfX2luZm8ge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufSIsIi5ub2RlLWRvd25sb2FkX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cbiIsIi5ub2RlLWxvY2F0aW9uIHtcbiAgQGluY2x1ZGUgdmlld3MtY29sbGFwc2libGU7XG5cbiAgaDIudG9nZ2xlLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAkaDMtZm9udC1zaXplKTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMzVweCAwIDI1cHg7XG4gIH1cblxuICAudG9nZ2xlLWJvZHkge1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICB9XG5cbiAgLmZpZWxkX19sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gIH1cbn1cblxuLm5vZGUtbG9jYXRpb25fX25hbWUge1xuICBAZXh0ZW5kIGg1O1xufVxuXG4ubm9kZS1sb2NhdGlvbl9fYWRkcmVzcyB7XG4gIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLm5vZGUtbG9jYXRpb25fX3Byb2R1Y3RzLFxuLm5vZGUtbG9jYXRpb25fX3Byb2Nlc3NlcyB7XG4gIHVsLmxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLnBhZ2Utbm9kZS10eXBlLWNvbXBhbnkgLmNvbnRlbnQgLmJsb2NrLXZpZXdzID4gaDIge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuIiwiLm5vZGUtbmV3cyB7XG4gICYudmlldy1tb2RlLXRlYXNlcixcbiAgJi5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIHtcbiAgICAmLmFjY2Vzcy1tZW1iZXIge1xuICAgICAgLmNvbXBvbmVudC1kYXRlIHtcbiAgICAgICAgY29sb3I6ICRiYXNlLXBpbms7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGV4dGVuZCAuaWNvbi1hY2NvdW50OmJlZm9yZTtcbiAgICAgICAgICBAaW5jbHVkZSBpY29tb29uO1xuXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYudmlldy1tb2RlLWZyb250IHtcbiAgICBhIHtcbiAgICAgIGgzIHtcbiAgICAgICAgQGV4dGVuZCBoNDtcbiAgICAgICAgY29sb3I6ICRiYXNlLWdyZWVuO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAZXh0ZW5kIC5pY29uLWFycm93OmJlZm9yZTtcbiAgICAgICAgICBAaW5jbHVkZSBpY29tb29uO1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgICYuYWNjZXNzLW1lbWJlciB7XG4gICAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAkYmFzZS1waW5rO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBleHRlbmQgLmljb24tYWNjb3VudDpiZWZvcmU7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbW9vbjtcblxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWRhdGUge1xuICAgICAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gIH1cblxuICAmLm5vZGUtLXZpZXctbW9kZS1mdWxsIHtcbiAgICAuZmllbGRfX2xhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGxhYmVsO1xuICAgIH1cbiAgfVxuXG4gICYubm9kZS0tdmlldy1tb2RlLWphYXJ2ZXJzbGFnIHtcbiAgICBAaW5jbHVkZSBib3goKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLmhpZ2hsaWdodC0tZ3JlZW4ge1xuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjYTZlMzFmO1xuICAgICAgQGluY2x1ZGUgYm94KDJweCw1KTtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhc2UtZ3JlZW47XG4gICAgICBib3gtc2hhZG93OiAwIDJweCAyNXB4IHJnYmEoMTM0LCAxODQsIDIzLCAuMSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzllMWJkNjE7XG4gICAgfVxuXG4gICAgLnllYXJyZXBvcnRfX2xpbmt0b25vZGUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB1bnNldDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDAgNXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC55ZWFycmVwb3J0X19yZWFkbW9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDE4cHg7XG4gICAgfVxuXG4gICAgLnllYXJyZXBvcnRfX3N1bW1hcnkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDM2cHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wb25lbnQtZGF0ZXtcbiAgICAgICY6OmFmdGVye1xuICAgICAgICBjb250ZW50OiAnIHwgJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAueWVhcnJlcG9ydF9fbmV3cy10YWdzIHtcbiAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsMTJweCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bnNldDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGJveCgycHgsMik7XG4gICAgICAmLmhpZ2hsaWdodC0tZ3JlZW4ge1xuICAgICAgICBib3JkZXItY29sb3I6ICRiYXNlLWdyZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubm9kZS1uZXdzX19nYWxsZXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNDBweCAwIDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgYS5jb2xvcmJveCB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xuXG4gICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDEyKTtcblxuICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBmbGV4LWd1dHRlcigxMik7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDRuKSB7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgfVxuICAgIH1cblxuICAgIG1hcmdpbi1ib3R0b206IGZsZXgtZ3V0dGVyKDEyKTtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLmZpZWxkLS1uYW1lLWZpZWxkLW5ld3Mtc2gge1xuICBAaW5jbHVkZSBzaC13YXJuaW5nO1xufVxuIiwiLm5vZGUtcGFnZSB7XG4gICYubm9kZS0tdmlldy1tb2RlLWZ1bGwge1xuICAgIC5maWVsZF9fbGFiZWwge1xuICAgICAgQGluY2x1ZGUgbGFiZWw7XG4gICAgfVxuICB9XG5cbiAgJi5ub2RlLS12aWV3LW1vZGUtZnVsbDphZnRlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbn1cbiIsIi5ub2RlLXBlcnNvbl9fZnVuY3Rpb24ge1xuICBAaW5jbHVkZSBsaW5rO1xuICBjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW46IDAgMTBweCA1cHggMDtcbn1cbiIsIi5ub2RlLXBpY3R1cmUge1xuICAmLnZpZXctbW9kZS1mdWxsIHtcbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU3R5bGVzID4gTm9kZS5cbi8vIFNuaXBwZXRzIG9mIHJldXNhYmxlIENTUyBjb25jZXJuaW5nIHNwZWNpZmljIG5vZGVzLCBlLmcuICdub2RlLW5ld3MnXG4vLyBJbXBvcnQgYWxsIHlvdXIgbm9kZSBzYXNzIGZpbGVzIGluIHRoaXMgZmlsZS5cblxuQGltcG9ydCAndGVybS15ZWFyJztcbkBpbXBvcnQgJ3Rlcm0tdHJlZSc7XG5AaW1wb3J0ICd0ZXJtLWxvY2F0aW9uJzsiLCJib2R5IHtcbiAgJi50YXhvbm9teS10ZXJtLS10eXBlLWphYXJ0YWwge1xuICAgIC5sYXlvdXQtY29udGVudCB7XG4gICAgICB3aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4udGF4b25vbXktdGVybS0tdmlldy1tb2RlLWZ1bGwge1xuICAueWVhcnJlcG9ydF9faGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzExNTMyODtcbiAgICBvcGFjaXR5OiAuODtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuIiwiLnRlcm0tdHJlZS1saXN0IHtcbiAgPi5pdGVtLWxpc3Q+dWwudGVybT5saTpoYXMoPiAuaXRlbS1saXN0KSB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn0iLCIuZmllbGQtLW5hbWUtZmllbGQtZXh0cmEtaW5mbyB7XG4gIC5maWVsZF9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgfVxuXG4gIC52b2NhYnVsYXJ5LWxvY2F0aW9uLWV4dHJhLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjVyZW07XG4gIH1cbn0iLCIvLyBTdHlsZXMgPiBWaWV3LlxuLy8gU25pcHBldHMgb2YgcmV1c2FibGUgQ1NTIGNvbmNlcm5pbmcgc3BlY2lmaWMgdmlld3MsIGUuZy4gJ3ZpZXctbmV3cydcbi8vIEltcG9ydCBhbGwgeW91ciB2aWV3IHNhc3MgZmlsZXMgaW4gdGhpcyBmaWxlLlxuQGltcG9ydCAndmlldy1jYWxlbmRhcic7XG5AaW1wb3J0ICd2aWV3LWRvd25sb2FkJztcbkBpbXBvcnQgJ3ZpZXctZmFxJztcbkBpbXBvcnQgJ3ZpZXctbmV3cyc7XG5AaW1wb3J0ICd2aWV3LXBlcnNvbic7XG5AaW1wb3J0ICd2aWV3LXBpY3R1cmVzJztcbkBpbXBvcnQgJ3ZpZXctdGFncyc7XG5AaW1wb3J0ICd2aWV3LXdlYnNob3AnO1xuQGltcG9ydCAndmlldy15ZWFybHlyZXBvcnQnO1xuXG4udmlldy1tb2RlLXRlYXNlcixcbi52aWV3LW1vZGUtcmVsYXRlZCxcbi52aWV3LW1vZGUtZnJvbnQge1xuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLnZpZXcgLnBhZ2VyIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1hcnJvdy1yb3VuZC1kb3duOmJlZm9yZTtcbiAgICAgICAgQGluY2x1ZGUgaWNvbW9vbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52aWV3LWVtcHR5IHtcbiAgbWFyZ2luOiAyZW0gMDtcbn1cbiIsIi52aWV3LWNhbGVuZGFyIHtcbiAgJi52aWV3LWRpc3BsYXktaWQtcGFnZSB7XG4gICAgQGluY2x1ZGUgdmlld3MtbGlzdDtcbiAgICBAaW5jbHVkZSB2aWV3cy1ob3ZlcjtcbiAgfVxuXG4gICYudmlldy1kaXNwbGF5LWlkLWZyb250IHtcbiAgICBAaW5jbHVkZSB2aWV3cy1taW5pO1xuICB9XG59XG5cbi5ibG9jay12aWV3cy1ibG9ja2NhbGVuZGFyLWZyb250IHtcbiAgaDI6YmVmb3JlIHtcbiAgICBAZXh0ZW5kIC5pY29uLWNhbGVuZGFyOmJlZm9yZTtcbiAgICBAaW5jbHVkZSBpY29tb29uO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxufVxuIiwiLnZpZXctZG93bmxvYWQge1xuICAmLnZpZXctZGlzcGxheS1pZC1wYWdlIHtcbiAgICBAaW5jbHVkZSB2aWV3cy1saXN0O1xuICAgIEBpbmNsdWRlIHZpZXdzLWNvbGxhcHNpYmxlO1xuXG4gICAgbWFyZ2luLXRvcDogMzVweDtcbiAgfVxufVxuIiwiLnZpZXctZmFxIHtcbiAgJi52aWV3LWRpc3BsYXktaWQtcGFnZSB7XG4gICAgQGluY2x1ZGUgdmlld3MtbGlzdDtcbiAgICBAaW5jbHVkZSB2aWV3cy1jb2xsYXBzaWJsZTtcblxuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gIH1cbn1cbiIsIi52aWV3LW5ld3Mge1xuICAmLnZpZXctZGlzcGxheS1pZC1wYWdlIHtcbiAgICBAaW5jbHVkZSB2aWV3cy1saXN0O1xuICAgIEBpbmNsdWRlIHZpZXdzLWhvdmVyO1xuICB9XG5cbiAgJi52aWV3LWRpc3BsYXktaWQtZnJvbnQge1xuICAgIEBpbmNsdWRlIHZpZXdzLW1pbmk7XG4gIH1cbn1cblxuLmJsb2NrLXZpZXdzLWJsb2NrbmV3cy1mcm9udCB7XG4gIGgyOmJlZm9yZSB7XG5cbiAgICBcbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAudmlldy1oZWFkZXIgaDIgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGV4dGVuZCAuaWNvbi1uZXdzOmJlZm9yZTtcbiAgICAgIEBpbmNsdWRlIGljb21vb247XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkYmFzZS1waW5rO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi52aWV3LW5ld3Mudmlldy1kaXNwbGF5LWlkLXBhZ2UgPiAudmlldy1jb250ZW50IC52aWV3cy1yb3cgLmdyb3VwLWxpbms6aG92ZXIge1xuICBjb2xvcjogIzAwMDtcbn1cbiIsIi52aWV3LXBlcnNvbiB7XG4gICYudmlldy1kaXNwbGF5LWlkLXBhZ2Uge1xuICAgIEBpbmNsdWRlIHZpZXdzLWxpc3Q7XG4gICAgQGluY2x1ZGUgdmlld3MtY29sbGFwc2libGU7XG5cbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuXG4gICAgJiA+IC52aWV3LWNvbnRlbnQge1xuICAgICAgLnZpZXdzLXJvdyB7XG4gICAgICAgIC5ncm91cC1sZWZ0IHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAuZ3JvdXAtbGVmdCArIC5ncm91cC1yaWdodCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkgb2YgMTIpO1xuICAgICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnZpZXctcGljdHVyZXMge1xuICAmLnZpZXctZGlzcGxheS1pZC1wYWdlIHtcblxuICAgICYgPiAudmlldy1oZWFkZXIge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgLnZpZXctdGFncyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+IC52aWV3LWNvbnRlbnQge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAgIC52aWV3cy1yb3cge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiAxMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGZsZXgtZ3V0dGVyKDEyKTtcblxuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLCB0cnVlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZmxleC1ndXR0ZXIoMTIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIudmlldy10YWdzIHtcbiAgLnZpZXctY29udGVudCxcbiAgLnZpZXctZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cblxuICAudmlld3Mtcm93LFxuICAudmlldy1mb290ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgICAgIG1hcmdpbjogMCAycHggNXB4IDA7XG4gICAgfVxuICB9XG59XG5cblxuLnZpZXctdGFncyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgID4gLnZpZXctaGVhZGVyIHtcbiAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICB0b3A6IC00MnB4O1xuICAgICByaWdodDogMDtcblxuICAgICAudGFnLS1jbGVhci1hbGwgYSB7XG4gICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgIH1cbiAgfVxufSIsIi52aWV3LXdlYnNob3Age1xuICAmLnZpZXctZGlzcGxheS1pZC1wYWdlIHtcbiAgICAmID4gLnZpZXctY29udGVudCxcbiAgICAmID4gLnZpZXctaGVhZGVyIC52aWV3LWRpc3BsYXktaWQtYmxvY2sge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAgIC52aWV3cy1yb3cge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiAxMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGZsZXgtZ3V0dGVyKDEyKTtcblxuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLCB0cnVlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZmxleC1ndXR0ZXIoMTIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi52aWV3LWRpc3BsYXktaWQtYmxvY2sge1xuICAgIG1hcmdpbjogMCAwIDEwcHggIWltcG9ydGFudDtcblxuICAgIGgzIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgLmNvbW1lcmNlLXByb2R1Y3RfX2JveCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzRweDtcbiAgICB9XG5cbiAgICAuY29tbWVyY2UtcHJvZHVjdF9fdGl0bGUge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5jb21wb25lbnQtdGFncyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC52aWV3cy1yb3c6bGFzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCBoMztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgLnNlbGVjdC1zdHlsZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5NSUgNTAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgbWF4LXdpZHRoOiAyMDBweDtcblxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZm9ybS10eXBlLXNlbGVjdCxcbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgaW5wdXQuYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZm9ybS10eXBlLXRleHRmaWVsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cblxuICAgICAgaW5wdXQuZm9ybS10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMiwgdHJ1ZSkge1xuICAgICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYm9keS5wYXRoLWphYXJ2ZXJzbGFnIHtcbiAgLmxheW91dC1zaWRlYmFyLWZpcnN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi52aWV3LXllYXJseXJlcG9ydCB7XG4gIC8vQGluY2x1ZGUgdmlld3MtbGlzdDtcbiAgLy9AaW5jbHVkZSB2aWV3cy1ob3ZlcjtcblxuICAudmlldy1maWx0ZXJzIHtcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAuc2VsZWN0LXN0eWxlIHtcbiAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgfVxuICB9XG5cbiAgLnZpZXctY29udGVudCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAmLnZpZXctLTJjb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLnZpZXctY29udGVudCB7XG5cbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWF1dG8tcm93czogbWlubWF4KDEyNXB4LCBhdXRvKTtcbiAgICAgIGdyaWQtZ2FwOiAxcmVtO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLHRydWUpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgZ3JpZC1nYXA6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMsdHJ1ZSkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICBncmlkLWdhcDogMXJlbTtcbiAgICAgIH1cblxuICAgICAgLnZpZXdzLXJvdzpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ueWVhcmx5cmVwb3J0ID4gLnZpZXctY29udGVudCAudmlld3Mtcm93IC5ncm91cC1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi52aWV3LWphYXJ0YWwge1xuXG4gIC52aWV3LWNvbnRlbnQge1xuICAgIG1hcmdpbjozMHB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5idXR0b255ZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggNTBweCAxNXB4IDIwcHg7XG4gICAgbWFyZ2luOiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBAZXh0ZW5kIC5pY29uLWFycm93LXJvdW5kOmJlZm9yZTtcbiAgICAgIEBpbmNsdWRlIGljb21vb247XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgfVxuICB9XG59XG5cbi8vIExFRlQgU0lERSBCTE9DSyBUTyBESVNQTEFZIFlFQVJTXG4uY29udGVudCBhc2lkZS5sYXlvdXQtc2lkZWJhci1maXJzdCB7XG5cblxuXG4gIC52aWV3LWphYXJ0YWwge1xuXG4gICAgLnZpZXctY29udGVudCB7XG4gICAgICBhIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYmRhZDc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRiYXNlLWdyZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAkYmFzZS1ncmVlbjtcbiAgICAgICAgICBAZXh0ZW5kIC5pY29uLWFycm93OmJlZm9yZTtcbiAgICAgICAgICBAaW5jbHVkZSBpY29tb29uO1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gU3R5bGVzID4gUGFnZS5cbi8vIFNuaXBwZXRzIG9mIHJldXNhYmxlIENTUyBjb25jZXJuaW5nIHNwZWNpZmljIHBhZ2VzLCBlLmcuICdwYWdlLXNlYXJjaCdcbi8vIEltcG9ydCBhbGwgeW91ciBwYWdlIHNhc3MgZmlsZXMgaW4gdGhpcyBmaWxlLlxuXG5AaW1wb3J0ICdwYWdlLWNhcnQnO1xuQGltcG9ydCAncGFnZS1jaGVja291dCc7XG5AaW1wb3J0ICdwYWdlLWZyb250JztcbkBpbXBvcnQgJ3BhZ2UtdXNlcic7XG5AaW1wb3J0ICdwYWdlLXNlYXJjaCc7XG4iLCIucGF0aC1jYXJ0IHtcbiAgdGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHRoIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgZGl2IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRiYXNlLXRleHQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogMTVweCA1cHggMDtcblxuICAgICAgLy8gSW5wdXQgZmllbGQgaGFzIHdpZHRoIDEwMCUsIHNvIGFkZCB0aGUgcGFkZGluZyBvbiB0aGUgY29udGFpbmluZyB0YWJsZSBjZWxsLlxuICAgICAgJi52aWV3cy1maWVsZC1lZGl0LXF1YW50aXR5IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnZpZXctY29tbWVyY2UtY2FydC1mb3JtIHtcbiAgLy8gUmVtb3ZlIHRoZSBtYXgtd2lkdGggZm9yIHNtYWxsZXIgdGFibGUgY2VsbHMsIHNvIG51bWJlcnMgd2l0aCAzIGRpZ2l0cyBhcmUgY29tcGxldGVseSB2aXNpYmxlLlxuICBmb3JtIGlucHV0W3R5cGU9J251bWJlciddIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuI2Jsb2NrLWNvbW1lcmNlLWNhcnQtYmxvY2sge1xuICAudmlldy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDIwcHggMjBweDtcbiAgfVxuXG4gIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6IDNweCAxMHB4IDNweCAwO1xuXG4gICAgICAmLnZpZXdzLWZpZWxkLXRvdGFsLXByaWNlX19udW1iZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjdmlld3MtZm9ybS1jb21tZXJjZS1jYXJ0LWJsb2NrLWJsb2NrLTEge1xuICAgIC8vIFRoZSAnT3BzbGFhbicgQnV0dG9uLlxuICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZGVsZXRlLW9yZGVyLWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgbWFyZ2luOiA2cHggMCA2cHggNnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvY2xlYXIucG5nJykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG4gIH1cblxuICAudmlldy1mb290ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBidXR0b247XG4gICAgfVxuICB9XG59XG5cbi5jYXJ0LWNvbnRpbnVlLXNob3BwaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDJlbSAwO1xuXG4gIGEge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgfVxufVxuIiwiLnBhdGgtY2hlY2tvdXQge1xuICAuZm9ybS13cmFwcGVyIGxlZ2VuZCAuZmllbGRzZXQtbGVnZW5kIHtcbiAgICBAZXh0ZW5kIGgyO1xuICB9XG5cbiAgLmZvcm0td3JhcHBlcjpmaXJzdC1jaGlsZCBsZWdlbmQgLmZpZWxkc2V0LWxlZ2VuZCB7XG4gICAgQGV4dGVuZCBoMTtcbiAgfVxuXG4gIC5sYXlvdXQtcmVnaW9uLWNoZWNrb3V0LW1haW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmxheW91dC1yZWdpb24tY2hlY2tvdXQtc2Vjb25kYXJ5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBsZWdlbmQge1xuICAgICAgQGV4dGVuZCBoMTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1pdGVtLW9yZGVyLXJlbWFyay1jb21tZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLmZvcm0td3JhcHBlciAuZm9ybS1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5hZGRyZXNzLWxpbmUxIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gIH1cblxuICAjZWRpdC1yZXZpZXctY29udGFjdC1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICNibG9jay1jb21tZXJjZS1jaGVja291dC1vcmRlci1zdW1tYXJ5IHtcbiAgICBoMiB7XG4gICAgICBAZXh0ZW5kIGgxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogM3B4IDEwcHggM3B4IDA7XG5cbiAgICAgICAgJi52aWV3cy1maWVsZC10b3RhbC1wcmljZV9fbnVtYmVyIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNlZGl0LXJldmlldy1iaWxsaW5nLWluZm9ybWF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzZW07XG4gICAgbGVnZW5kIHtcbiAgICAgIEBleHRlbmQgaDM7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLXNoaXBtZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG59XG5cbm9sLmNoZWNrb3V0LXByb2dyZXNzIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5cbi5maWVsZC0tbmFtZS1maWVsZC1zaGlwbWVudCBzdW1tYXJ5IHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIucGF0aC1mcm9udHBhZ2Uge1xuICAuY29udGVudCB7XG4gICAgYXNpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubGF5b3V0LWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgaDEge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcmVjb250ZW50IHtcbiAgICAuYmxvY2stYmxvY2stY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBmcm9udC1ibG9jaygkYmFzZS1ncmVlbik7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuXG4gICAgICAmI2Jsb2NrLWZyb250bG9naW5wdWJsaWMge1xuICAgICAgICBAaW5jbHVkZSBmcm9udC1ibG9jaygkYmFzZS1waW5rKTtcblxuICAgICAgICBzcGFuLmJsb2NrLWZyb250X19zcGFuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1waW5rO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICAgICAgJiNibG9jay1mcm9udHB1YmxpYzEge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYjYmxvY2stZnJvbnRwdWJsaWM3IHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmI2Jsb2NrLWZyb250cHVibGljdGh1aXNjb21wb3N0ZWVyd2lqemVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmI2Jsb2NrLWZyb250cHVibGljMyB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMgb2YgMTIpO1xuICAgICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgICBwYWRkaW5nLXRvcDogZmxleC1ndXR0ZXIoMTIpO1xuXG4gICAgLmJsb2NrLWJsb2NrLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgZnJvbnQtYmxvY2soJGJhc2UtcGluayk7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgICAmI2Jsb2NrLWZyb250bWVtYmVyczEsXG4gICAgICAmI2Jsb2NrLWZyb250bWVtYmVyczIsXG4gICAgICAmI2Jsb2NrLWZyb250bG9naW5tZW1iZXJzIHtcbiAgICAgICAgQGluY2x1ZGUgZnJvbnQtYmxvY2soJGJhc2UtcGluayk7XG5cbiAgICAgICAgc3Bhbi5ibG9jay1mcm9udF9fc3BhbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtcGluaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zb2NpYWwtc2hhcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBTdWJjb250ZW50LlxuICAuc3ViY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG5cbiAgICAuYmxvY2stdmlld3Mge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyIG9mIDEyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgLmJsb2NrLXZsYWNvIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMiBvZiAxMik7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTEsIHRydWUpIHtcbiAgICAgIC5ibG9jay12aWV3cyB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgICAgIH1cblxuICAgICAgLmJsb2NrLXZpZXdzKy5ibG9jay12aWV3cyB7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICAgIC5ibG9jay12aWV3cyB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0IG9mIDEyKTtcbiAgICAgIH1cblxuICAgICAgLmJsb2NrLXZpZXdzKy5ibG9jay12aWV3cyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZmxleC1ndXR0ZXIoMTIpO1xuICAgICAgfVxuXG4gICAgICAuYmxvY2stdmxhY28ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZvb3Rlci5cbiAgZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi8vIEJsb2NrIGZyb250LlxuLmJsb2NrLWZyb250IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA1cHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMiwgdHJ1ZSkge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5cbi5ibG9jay1mcm9udF9faWNvbiB7XG4gIEBpbmNsdWRlIGZyb250LWJsb2NrLWhpZGVtb2JpbGU7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuXG4gIC5pY29uIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAuaWNvbjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogNzVweDtcbiAgfVxuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJsb2NrLWZyb250X19pbWFnZSB7XG4gIEBpbmNsdWRlIGZyb250LWJsb2NrLWhpZGVtb2JpbGU7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuYmxvY2stZnJvbnRfX2ljb24rJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYmxvY2stZnJvbnRfX3RpdGxlIHtcbiAgQGluY2x1ZGUgZnJvbnQtYmxvY2staGlkZW1vYmlsZTtcbiAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgJGg0LWZvbnQtc2l6ZSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtMiwgdHJ1ZSkge1xuICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsICRoMi1mb250LXNpemUpO1xuICB9XG5cbiAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luOiAxNXB4IDAgMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmxvY2stZnJvbnRfX2Rlc2NyaXB0aW9uIHtcbiAgQGluY2x1ZGUgZnJvbnQtYmxvY2staGlkZW1vYmlsZTtcbiAgY29sb3I6ICRjb2xvcjtcbiAgbWFyZ2luOiAxLjNlbSAwIC41ZW07XG59XG5cbi5ibG9jay1mcm9udF9fbGluayB7XG4gIGEge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICBsZWZ0OiAtMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIG1hcmdpbjogLTIwcHg7XG4gICAgcGFkZGluZzogMTVweCA1MHB4IDE1cHggMjBweDtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBAZXh0ZW5kIC5pY29uLWFycm93LXJvdW5kOmJlZm9yZTtcbiAgICAgIEBpbmNsdWRlIGljb21vb247XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTIsIHRydWUpIHtcbiAgICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICB9XG5cbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgfVxuICB9XG5cbiAgc3Bhbi5ibG9jay1mcm9udF9fc3BhbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgbWFyZ2luOiAtMjBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDUwcHggMTVweCAyMHB4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTUzMjg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLCB0cnVlKSB7XG4gICAgICBib3R0b206IC0yMHB4O1xuICAgICAgbGVmdDogLTIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTIwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBAZXh0ZW5kIC5pY29uLWFycm93LXJvdW5kOmJlZm9yZTtcbiAgICAgIEBpbmNsdWRlIGljb21vb247XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgIHRvcDogNTAlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC0yLCB0cnVlKSB7XG4gICAgICAgIHJpZ2h0OiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5hLmJsb2NrLWZyb250X19jYXJkLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBzcGFuLmJsb2NrLWZyb250X19zcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYXNlLWxpbmstY29sb3I7XG4gICAgfVxuXG4gIH1cbn1cbiIsIi5wYXRoLXVzZXIge1xuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC5maWVsZF9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICc6ICc7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAucHJlY29udGVudCAubWVzc2FnZXMtLXdhcm5pbmcge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LTMsIHRydWUpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4IG9mIDEyKTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gIH1cbn1cbiIsIi5wYXRoLXNlYXJjaCB7XG4gIC52aWV3cy1leHBvc2VkLWZvcm0ge1xuICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogN3B4IDEwcHggMCAwO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cblxuICAgIGlucHV0LmZvcm0tdGV4dHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAzcHggN3B4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cblxuICAgIGlucHV0LmZvcm0tc3VibWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1oZWxwLWxpbmssXG4gIC5zZWFyY2gtYWR2YW5jZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBoMiB7XG4gICAgQGV4dGVuZCBoMTtcbiAgfVxuXG4gIC5pdGVtLWxpc3QgaDMge1xuICAgIEBleHRlbmQgaDU7XG4gIH1cblxuICAudmlldy1jb250ZW50IHtcbiAgICAudmlld3Mtcm93IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmFzZS1ib3JkZXItY29sb3I7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LWZpbHRlciAzMDBtcyBsaW5lYXI7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zZWFyY2gtcmVzdWx0X19zbmlwcGV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNlYXJjaC1yZXN1bHRfX2luZm8ge1xuICBkaXNwbGF5OiBub25lO1xufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQXdHR0EsT0FBTyxDQUFDLHdIQUFJO0FkQVYsQUFBQSxJQUFJLENBQUM7RUFDSCxVQUFVLEVBQUUsVUFBVSxHQUN2Qjs7QUFFRCxBQUNFLENBREQsRUFBRCxDQUFDLEFBRUUsT0FBTyxFQUZWLENBQUMsQUFHRSxRQUFRLENBQUM7RUFDUixVQUFVLEVBQUUsT0FBTyxHQUNwQjs7QWNITCxVQUFVO0VBQ1IsV0FBVyxFQUFFLFNBQVM7RUFDdEIsR0FBRyxFQUFFLCtCQUErQjtFQUNwQyxHQUFHLEVBQUUscUNBQXFDLENBQUMsMkJBQTJCLEVBQ3BFLCtCQUErQixDQUFDLGtCQUFrQixFQUNsRCxnQ0FBZ0MsQ0FBQyxjQUFjLEVBQy9DLHVDQUF1QyxDQUFDLGFBQWE7RUFDdkQsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFQUFFLE1BQU07O0NBZXBCLEFBQUEsQUFBQSxLQUFDLEVBQU8sT0FBTyxBQUFkLENBQWUsT0FBTztDQUN2QixBQUFBLEtBQUMsRUFBTyxRQUFRLEFBQWYsQ0FBZ0IsT0FBTyxDQUFDO0VBWnZCLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsTUFBTTtFQUNuQixZQUFZLEVBQUUsTUFBTTtFQUNwQixjQUFjLEVBQUUsSUFBSTtFQUNwQixXQUFXLEVBQUUsQ0FBQztFQUNkLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUyxHQU1uQzs7QUFFRCxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBRUQsQUFBQSxjQUFjLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELEFBQUEsZ0JBQWdCLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELEFBQUEsZUFBZSxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFFRCxBQUFBLFdBQVcsQUFBQSxPQUFPLENBQUM7RUFDakIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBRUQsQUFBQSxhQUFhLEFBQUEsT0FBTyxDQUFDO0VBQ25CLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELEFBQUEsV0FBVyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFFRCxBQUFBLFdBQVcsQUFBQSxPQUFPLENBQUM7RUFDakIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBRUQsQUFBQSxrQkFBa0IsQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBRUQsQUFBQSxVQUFVLEFBQUEsT0FBTyxDQUFDO0VBQ2hCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELEFBQUEsYUFBYSxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFFRCxBQUFBLGlCQUFpQixBQUFBLE9BQU8sRThCb1N4Qiw0QkFBNEIsQTlCcFNYLE9BQU8sRThCaVR4QiwrQkFBK0IsQTlCalRkLE9BQU8sQ0FBQztFQUN2QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFFRCxBQUFBLGNBQWMsQUFBQSxPQUFPLEVxRDFFckIsZ0NBQWdDLENBQzlCLEVBQUUsQUFBQSxPQUFPLEVBRFgsZ0NBQWdDLENXWGhDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixBWFduQyxPQUFPLEVXWlgsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENYVXRCLGdDQUFnQyxDV1ZULGdCQUFnQixBWFduQyxPQUFPLENyRHlFVztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFFRCxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDaEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBRUQsQUFBQSxjQUFjLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELEFBQUEsY0FBYyxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFFRCxBQUFBLHNCQUFzQixBQUFBLE9BQU8sRTJDckc3QixjQUFjLENsQytHWixFQUFFLEFBQUEsYUFBYSxBQXFCVixLQUFLLEFBUlAsTUFBTSxFa0M1SFgsY0FBYyxDcUJBZCxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3ZEOEdsQixhQUFhLEFBcUJWLEtBQUssQXVEbklXLGdCQUFnQixBdkQySGxDLE1BQU0sRXVENUhYLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDckJEdEIsY0FBYyxDbEMrR1YsYUFBYSxBQXFCVixLQUFLLEF1RG5JVyxnQkFBZ0IsQXZEMkhsQyxNQUFNLEU2QzVIWCxjQUFjLEFBQ1gscUJBQXFCLEM3QzhHdEIsRUFBRSxBQUFBLGFBQWEsQUFxQlYsS0FBSyxBQVJQLE1BQU0sRTZDNUhYLGNBQWMsQUFDWCxxQkFBcUIsQ1VEeEIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLEN2RDhHbEIsYUFBYSxBQXFCVixLQUFLLEF1RG5JVyxnQkFBZ0IsQXZEMkhsQyxNQUFNLEV1RDVIWCxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ1ZEdEIsY0FBYyxBQUNYLHFCQUFxQixDN0M4R3BCLGFBQWEsQUFxQlYsS0FBSyxBdURuSVcsZ0JBQWdCLEF2RDJIbEMsTUFBTSxFOEM1SFgsU0FBUyxBQUNOLHFCQUFxQixDOUM4R3RCLEVBQUUsQUFBQSxhQUFhLEFBcUJWLEtBQUssQUFSUCxNQUFNLEU4QzVIWCxTQUFTLEFBQ04scUJBQXFCLENTRHhCLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDdkQ4R2xCLGFBQWEsQUFxQlYsS0FBSyxBdURuSVcsZ0JBQWdCLEF2RDJIbEMsTUFBTSxFdUQ1SFgsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENURHRCLFNBQVMsQUFDTixxQkFBcUIsQzlDOEdwQixhQUFhLEFBcUJWLEtBQUssQXVEbklXLGdCQUFnQixBdkQySGxDLE1BQU0sRWdENUhYLFlBQVksQUFDVCxxQkFBcUIsQ2hEOEd0QixFQUFFLEFBQUEsYUFBYSxBQXFCVixLQUFLLEFBUlAsTUFBTSxFZ0Q1SFgsWUFBWSxBQUNULHFCQUFxQixDT0R4QixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3ZEOEdsQixhQUFhLEFBcUJWLEtBQUssQXVEbklXLGdCQUFnQixBdkQySGxDLE1BQU0sRXVENUhYLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDUER0QixZQUFZLEFBQ1QscUJBQXFCLENoRDhHcEIsYUFBYSxBQXFCVixLQUFLLEF1RG5JVyxnQkFBZ0IsQXZEMkhsQyxNQUFNLEUyQ2pHWCxLQUFLLENBQUMsTUFBTSxDQUtWLEVBQUUsQ0FJQSxDQUFDLEFBR0UsTUFBTSxDcEQ4RGlCO0VBQzVCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELEFBQUEsQ0FBQyxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDakIsT0FBTyxFQUFFLE9BQU87RUFDaEIsS0FBSyxFQUFFLE9BQU8sR0FDZjs7QUFFRCxBQUFBLGFBQWEsQUFBQSxPQUFPLEVlZ0dwQixRQUFRLENBQUMsS0FBSyxDQWtDWixjQUFjLENBS1osRUFBRSxBQVFDLE1BQU0sRUEvQ2IsUUFBUSxDQUFDLEtBQUssQ0FrQ1osY0FBYyxDaURoUGhCLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixBakQ0UGhDLE1BQU0sRWlEN1BiLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDakQ2TXRCLFFBQVEsQ0FBQyxLQUFLLENBa0NaLGNBQWMsQ2lEL09PLGdCQUFnQixBakQ0UGhDLE1BQU07QUE5Q2IsWUFBWSxDQWlDVixjQUFjLENBS1osRUFBRSxBQVFDLE1BQU0sRUE5Q2IsWUFBWSxDQWlDVixjQUFjLENpRGhQaEIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEFqRDRQaEMsTUFBTSxFaUQ3UGIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENqRDhNdEIsWUFBWSxDQWlDVixjQUFjLENpRC9PTyxnQkFBZ0IsQWpENFBoQyxNQUFNLEV5QjdQYixjQUFjLEFBQ1gsaUJBQWlCLEFBRWYsY0FBYyxDQU1iLGVBQWUsQUFBQSxXQUFXLEFBQ3ZCLE1BQU0sRUFWZixjQUFjLEFBRVgsdUJBQXVCLEFBQ3JCLGNBQWMsQ0FNYixlQUFlLEFBQUEsV0FBVyxBQUN2QixNQUFNLEVBVmYsY0FBYyxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLENBQ2IsRUFBRSxBQUdDLE1BQU0sRUF2Q2YsY0FBYyxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLENqQm5DbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYSxBaUJhVixNQUFNLEVqQnZDZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ2lCbEJoQixjQUFjLEFBdUJYLGdCQUFnQixBQVlkLGNBQWMsQ2pCVGIsYUFBYSxBaUJhVixNQUFNLEVBdkNmLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDakJuQ25CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ0FHbkIsS0FBSyxBaUJ2REosTUFBTSxFakJ2Q2YsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDaUIzRjNCLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDakIyRFgsS0FBSyxBaUJ2REosTUFBTSxFQXZDZixjQUFjLEFBdUJYLGdCQUFnQixBQVlkLGNBQWMsQ2pCbkNuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDQUtkLEtBQUssQWlCNUVOLE1BQU0sRWpCdkNmLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENpQjlHeEIsY0FBYyxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLENqQmdGVCxLQUFLLEFpQjVFTixNQUFNLEVBdkNmLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDb0JuQ25CLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssQXBCeENBLE1BQU0sRW9CdkNmLGFBQWEsQ0E0RVgsbUJBQW1CLENwQjVFckIsY0FBYyxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLENvQjRDZixLQUFLLEFwQnhDQSxNQUFNLEVBdkNmLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDd0JuQ25CLGNBQWMsQ0FnRVosZ0NBQWdDLENBRTlCLE1BQU0sQXhCM0JELE1BQU0sRXdCdkNmLGNBQWMsQ0FnRVosZ0NBQWdDLEN4QmhFbEMsY0FBYyxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLEN3QitCZixNQUFNLEF4QjNCRCxNQUFNLEVJdkNmLFVBQVUsQUFDUCxpQkFBaUIsQUFFZixjQUFjLENBQ2IsZUFBZSxBQUdaLE1BQU0sRUFQZixVQUFVLEFBRVAsdUJBQXVCLEFBQ3JCLGNBQWMsQ0FDYixlQUFlLEFBR1osTUFBTSxFQVBmLFVBQVUsQUFvQlAsZ0JBQWdCLEFBcUJkLGNBQWMsQ0FDYixFQUFFLEFBR0MsTUFBTSxFQTdDZixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENyQnpDbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYSxBaUJhVixNQUFNLEVqQnZDZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ3FCbEJoQixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENyQmZiLGFBQWEsQWlCYVYsTUFBTSxFSXZDZixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENyQnpDbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLLEFpQnZESixNQUFNLEVqQnZDZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENxQjNGM0IsVUFBVSxBQW9CUCxnQkFBZ0IsQUFxQmQsY0FBYyxDckJxRFgsS0FBSyxBaUJ2REosTUFBTSxFSXZDZixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENyQnpDbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ0FLZCxLQUFLLEFpQjVFTixNQUFNLEVqQnZDZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDcUI5R3hCLFVBQVUsQUFvQlAsZ0JBQWdCLEFBcUJkLGNBQWMsQ3JCMEVULEtBQUssQWlCNUVOLE1BQU0sRUl2Q2YsVUFBVSxBQW9CUCxnQkFBZ0IsQUFxQmQsY0FBYyxDZ0J6Q25CLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssQXBCeENBLE1BQU0sRW9CdkNmLGFBQWEsQ0E0RVgsbUJBQW1CLENoQjVFckIsVUFBVSxBQW9CUCxnQkFBZ0IsQUFxQmQsY0FBYyxDZ0JzQ2YsS0FBSyxBcEJ4Q0EsTUFBTSxFSXZDZixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENvQnpDbkIsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxBeEIzQkQsTUFBTSxFd0J2Q2YsY0FBYyxDQWdFWixnQ0FBZ0MsQ3BCaEVsQyxVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENvQnlCZixNQUFNLEF4QjNCRCxNQUFNLEN4Q3VFTTtFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFFRCxBQUFBLGlCQUFpQixBQUFBLE9BQU8sRWMvR3hCLE1BQU0sQ0FnSEosNEJBQTRCLEdBQUcsb0JBQW9CLENBMkJqRCxtQkFBbUIsQ0FDakIsQ0FBQyxBQU9FLE1BQU0sRVEyQmYsNkJBQTZCLENBQzNCLENBQUMsQUFRRSxPQUFPLEVxQjFMWixjQUFjLENsQytHWixFQUFFLEFBQUEsYUFBYSxBQWFaLE1BQU0sRWtDNUhYLGNBQWMsQ3FCQWQsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLEN2RDhHbEIsYUFBYSxBdUQ5R00sZ0JBQWdCLEF2RDJIbEMsTUFBTSxFdUQ1SFgsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENyQkR0QixjQUFjLENsQytHVixhQUFhLEF1RDlHTSxnQkFBZ0IsQXZEMkhsQyxNQUFNLEU2QzVIWCxjQUFjLEFBQ1gscUJBQXFCLEM3QzhHdEIsRUFBRSxBQUFBLGFBQWEsQUFhWixNQUFNLEU2QzVIWCxjQUFjLEFBQ1gscUJBQXFCLENVRHhCLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDdkQ4R2xCLGFBQWEsQXVEOUdNLGdCQUFnQixBdkQySGxDLE1BQU0sRXVENUhYLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDVkR0QixjQUFjLEFBQ1gscUJBQXFCLEM3QzhHcEIsYUFBYSxBdUQ5R00sZ0JBQWdCLEF2RDJIbEMsTUFBTSxFOEM1SFgsU0FBUyxBQUNOLHFCQUFxQixDOUM4R3RCLEVBQUUsQUFBQSxhQUFhLEFBYVosTUFBTSxFOEM1SFgsU0FBUyxBQUNOLHFCQUFxQixDU0R4QixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3ZEOEdsQixhQUFhLEF1RDlHTSxnQkFBZ0IsQXZEMkhsQyxNQUFNLEV1RDVIWCxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ1REdEIsU0FBUyxBQUNOLHFCQUFxQixDOUM4R3BCLGFBQWEsQXVEOUdNLGdCQUFnQixBdkQySGxDLE1BQU0sRWdENUhYLFlBQVksQUFDVCxxQkFBcUIsQ2hEOEd0QixFQUFFLEFBQUEsYUFBYSxBQWFaLE1BQU0sRWdENUhYLFlBQVksQUFDVCxxQkFBcUIsQ09EeEIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLEN2RDhHbEIsYUFBYSxBdUQ5R00sZ0JBQWdCLEF2RDJIbEMsTUFBTSxFdUQ1SFgsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENQRHRCLFlBQVksQUFDVCxxQkFBcUIsQ2hEOEdwQixhQUFhLEF1RDlHTSxnQkFBZ0IsQXZEMkhsQyxNQUFNLEVvRHBFWCxhQUFhLENBUVgsV0FBVyxBQVNSLE1BQU0sRUk0R1gsa0JBQWtCLENBQ2hCLENBQUMsQUFpQkUsTUFBTSxFQWxCWCxrQkFBa0IsQ0FrQ2hCLElBQUksQUFBQSxrQkFBa0IsQUFtQm5CLE1BQU0sQ2pFeEhjO0VBQ3ZCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELEFBQUEsV0FBVyxBQUFBLE9BQU8sRWV3RmxCLFFBQVEsQ0FBQyxLQUFLLENBbUVaLFdBQVcsQ0FLVCxFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFnQkUsTUFBTTtBQTdGZixRQUFRLENBQUMsS0FBSyxDQW9FWixVQUFVLENBSVIsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLEFBZ0JFLE1BQU07QUE3RmYsUUFBUSxDQUFDLEtBQUssQ0FxRVosWUFBWSxDQUdWLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQWdCRSxNQUFNO0FBN0ZmLFFBQVEsQ0FBQyxLQUFLLENBc0VaLGVBQWUsQ0FFYixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFnQkUsTUFBTTtBQTdGZixRQUFRLENBQUMsS0FBSyxBQXVFWCxZQUFZLENBQUMsY0FBYyxDQUMxQixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFnQkUsTUFBTTtBQTVGZixZQUFZLENBa0VWLFdBQVcsQ0FLVCxFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFnQkUsTUFBTTtBQTVGZixZQUFZLENBbUVWLFVBQVUsQ0FJUixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFnQkUsTUFBTTtBQTVGZixZQUFZLENBb0VWLFlBQVksQ0FHVixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFnQkUsTUFBTTtBQTVGZixZQUFZLENBcUVWLGVBQWUsQ0FFYixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFnQkUsTUFBTTtBQTVGZixZQUFZLEFBc0VULFlBQVksQ0FBQyxjQUFjLENBQzFCLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQWdCRSxNQUFNLEVPOVFmLHlCQUF5QixBQVN0QixNQUFNLEVBZ0hULDJCQUEyQixDQUt6QixDQUFDLEFBSUUsT0FBTyxFa0IvSlosY0FBYyxBQXVCWCxnQkFBZ0IsQ0FDZixFQUFFLEFBSUMsT0FBTyxFQTVCZCxjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDQVFWLGFBQWEsQWlCRVosT0FBTyxFakI1QmQsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENpQmxCaEIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCR2IsYUFBYSxBaUJFWixPQUFPLEVBNUJkLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLLEFpQmxFTixPQUFPLEVqQjVCZCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENpQjNGM0IsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdUVYLEtBQUssQWlCbEVOLE9BQU8sRUE1QmQsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDQUtkLEtBQUssQWlCdkZSLE9BQU8sRWpCNUJkLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENpQjlHeEIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCNEZULEtBQUssQWlCdkZSLE9BQU8sRUE1QmQsY0FBYyxBQXVCWCxnQkFBZ0IsQ29CdkJuQixhQUFhLENBNEVYLG1CQUFtQixDQUdqQixLQUFLLEFwQm5ERixPQUFPLEVvQjVCZCxhQUFhLENBNEVYLG1CQUFtQixDcEI1RXJCLGNBQWMsQUF1QlgsZ0JBQWdCLENvQndEZixLQUFLLEFwQm5ERixPQUFPLEVBNUJkLGNBQWMsQUF1QlgsZ0JBQWdCLEN3QnZCbkIsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxBeEJ0Q0gsT0FBTyxFd0I1QmQsY0FBYyxDQWdFWixnQ0FBZ0MsQ3hCaEVsQyxjQUFjLEFBdUJYLGdCQUFnQixDd0IyQ2YsTUFBTSxBeEJ0Q0gsT0FBTyxFSTVCZCxVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ0FDQyxFQUFFLEFBSUMsT0FBTyxFQTFCaEIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ0FRVixhQUFhLEFpQkVaLE9BQU8sRWpCNUJkLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDcUJsQmhCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJLQyxhQUFhLEFpQkVaLE9BQU8sRUk1QmQsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENBR25CLEtBQUssQWlCbEVOLE9BQU8sRWpCNUJkLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ3FCM0YzQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCeUVHLEtBQUssQWlCbEVOLE9BQU8sRUk1QmQsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDQUtkLEtBQUssQWlCdkZSLE9BQU8sRWpCNUJkLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENxQjlHeEIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQjhGSyxLQUFLLEFpQnZGUixPQUFPLEVJNUJkLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDZ0JyQkwsYUFBYSxDQTRFWCxtQkFBbUIsQ0FHakIsS0FBSyxBcEJuREYsT0FBTyxFb0I1QmQsYUFBYSxDQTRFWCxtQkFBbUIsQ2hCNUVyQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2dCMERELEtBQUssQXBCbkRGLE9BQU8sRUk1QmQsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENvQnJCTCxjQUFjLENBZ0VaLGdDQUFnQyxDQUU5QixNQUFNLEF4QnRDSCxPQUFPLEV3QjVCZCxjQUFjLENBZ0VaLGdDQUFnQyxDcEJoRWxDLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDb0I2Q0QsTUFBTSxBeEJ0Q0gsT0FBTyxFYTVCZCxjQUFjLEFBTVgsc0JBQXNCLEc1Q2lGbkIsVUFBVSxDQUNaLENBQUMsQUFRRSxPQUFPLEUrQ2hHZCxVQUFVLEFBTVAsc0JBQXNCLEcvQ2lGbkIsVUFBVSxDQUNaLENBQUMsQUFRRSxPQUFPLEVvRFZkLFFBQVEsQ0FBQyxLQUFLLEFBQUEscUJBQXFCLENBSWpDLGFBQWEsQ0FFWCxhQUFhLENBQ1gsQ0FBQyxBQWVFLE9BQU8sQzdEVUc7RUFDakIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBRUQsQUFBQSxjQUFjLEFBQUEsT0FBTyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELEFBQUEsVUFBVSxBQUFBLE9BQU8sRXdEbkhqQiw0QkFBNEIsQ0FTMUIsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEFBR2QsT0FBTyxFQVpaLDRCQUE0QixDQVMxQixZQUFZLENRcEJkLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDUm1CckIsQ0FBQyxBQUdkLE9BQU8sRVF2QlosY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENSVXRCLDRCQUE0QixDQVMxQixZQUFZLENRbkJTLGdCQUFnQixDUm1CckIsQ0FBQyxBQUdkLE9BQU8sQ3hEdUdNO0VBQ2hCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELEFBQUEsYUFBYSxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFFRCxBQUFBLGVBQWUsQUFBQSxPQUFPLENBQUM7RUFDckIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FDL0hELEFBQUEsT0FBTztBQUNQLEtBQUs7QUFDTCxPQUFPO0FBQ1AsVUFBVTtBQUNWLE1BQU07QUFDTixNQUFNO0FBQ04sTUFBTTtBQUNOLE1BQU07QUFDTixHQUFHO0FBQ0gsT0FBTztBQUNQLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBR0QsQUFBQSxLQUFLO0FBQ0wsTUFBTTtBQUNOLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxZQUFZLEdBTXRCOztBQUlELEFBQUEsS0FBSyxBQUFBLElBQUssRUFBQSxBQUFBLFFBQUMsQUFBQSxHQUFXO0VBQ3BCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFQUFFLENBQUMsR0FDVjs7Q0FJRCxBQUFBLEFBQUEsTUFBQyxBQUFBO0FBQ0QsUUFBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLElBQUksR0FDZDs7QWY1Q0MsQUFBQSxJQUFJLENlc0REO0VBS0gsVUFBVSxFRnZEQyxJQUFJO0VFd0RmLEtBQUssRUZ2REMsT0FBTztFRXdEYix3QkFBd0IsRUFBRSxJQUFJO0VBQzlCLG9CQUFvQixFQUFFLElBQUksR0FDM0I7O0FBR0QsQUFBQSxJQUFJO0FBQ0osTUFBTTtBQUNOLEtBQUs7QUFDTCxNQUFNO0FBQ04sUUFBUSxDQUFDO0VBQ1AsV0FBVyxFRG5FWSxVQUFVLEdDb0VsQzs7QUFHRCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBVUQsQUFBQSxDQUFDLENBQUM7RUFFQSxVQUFVLEVBQUUsV0FBVyxHQVl4QjtFQWRELEFBS0UsQ0FMRCxBQUtFLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxXQUFXLEdBQ3JCO0VBUEgsQUFVRSxDQVZELEFBVUUsTUFBTSxFQVZULENBQUMsQUFXRSxPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUlILEFBQUEsSUFBSSxDQUFBLEFBQUEsS0FBQyxBQUFBLEVBQU87RUFDVixhQUFhLEVBQUUsVUFBVSxHQUMxQjs7QUFHRCxBQUFBLENBQUM7QUFDRCxNQUFNLENBQUM7RUFDTCxXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFTRCxBQUFBLEdBQUcsQ0FBQztFQUNGLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQUdELEFBQUEsSUFBSSxDQUFDO0VBQ0gsVUFBVSxFQUFFLElBQUk7RUFDaEIsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFhRCxBQUFBLElBQUk7QUFDSixHQUFHO0FBQ0gsR0FBRztBQUNILElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxnQkFBZ0I7RUFNN0IsU0FBUyxFQUFFLEdBQUcsR0FDZjs7QUFHRCxBQUFBLEdBQUcsQ0FBQztFQUNGLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxRQUFRO0VBQ3JCLFNBQVMsRUFBRSxVQUFVLEdBQ3RCOztBQUdELEFBQUEsQ0FBQyxDQUFDO0VBQ0EsTUFBTSxFQUFFLCtCQUErQixHQUN4Qzs7QUFhRCxBQUFBLENBQUMsQUFBQSxPQUFPO0FBQ1IsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFHRCxBQUFBLEtBQUssQ0FBQztFQUNKLFNBQVMsRUFBRSxHQUFHLEdBQ2Y7O0FBSUQsQUFBQSxHQUFHO0FBQ0gsR0FBRyxDQUFDO0VBQ0YsU0FBUyxFQUFFLEdBQUc7RUFDZCxXQUFXLEVBQUUsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGNBQWMsRUFBRSxRQUFRLEdBQ3pCOztBQUVELEFBQUEsR0FBRyxDQUFDO0VBQ0YsR0FBRyxFQUFFLEtBQUssR0FDWDs7QUFFRCxBQUFBLEdBQUcsQ0FBQztFQUNGLE1BQU0sRUFBRSxNQUFNLEdBQ2Y7O0FBb0RELEFBQUEsR0FBRyxDQUFDO0VBQ0YsTUFBTSxFQUFFLENBQUMsR0FLVjs7QUFHRCxBQUFBLEdBQUcsQUFBQSxJQUFLLENBQUEsS0FBSyxFQUFFO0VBQ2IsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBT0QsQUFBQSxNQUFNLENBQUM7RUFDTCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQWNELEFBQUEsUUFBUSxDQUFDO0VBQ1AsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixNQUFNLEVBQUUsS0FBSztFQUNiLE9BQU8sRUFBRSxrQkFBa0IsR0FDNUI7O0FBTUQsQUFBQSxNQUFNLENBQUM7RUFDTCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsV0FBVyxFQUFFLE1BQU0sR0FLcEI7O0FBTUQsQUFBQSxNQUFNO0FBQ04sS0FBSztBQUNMLE1BQU07QUFDTixRQUFRLENBQUM7RUFDUCxXQUFXLEVBQUUsT0FBTztFQUNwQixTQUFTLEVBQUUsSUFBSTtFQUNmLE1BQU0sRUFBRSxDQUFDO0VBQ1QsY0FBYyxFQUFFLFFBQVEsR0FLekI7O0FBR0QsQUFBQSxNQUFNO0FBQ04sS0FBSyxDQUFDO0VBQ0osV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBTUQsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUFDO0VBQ0wsY0FBYyxFQUFFLElBQUksR0FDckI7O0FBU0QsQUFBQSxNQUFNO0FBQ04sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYjtBQUNOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVo7QUFDTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQWU7RUFDbkIsa0JBQWtCLEVBQUUsTUFBTTtFQUMxQixNQUFNLEVBQUUsT0FBTyxHQUtoQjs7QUFHRCxBQUFBLE1BQU0sQ0FBQSxBQUFBLFFBQUMsQUFBQTtBQUNQLEtBQUssQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUFVO0VBQ2QsTUFBTSxFQUFFLE9BQU8sR0FDaEI7O0FBTUQsQUFBQSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmO0FBQ04sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQUFjO0VBQ2xCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE9BQU8sRUFBRSxDQUFDLEdBTVg7O0FBSUQsQUFBQSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQWU7RUFDbkIsa0JBQWtCLEVBQUUsU0FBUztFQUM3QixlQUFlLEVBQUUsV0FBVztFQUM1QixrQkFBa0IsRUFBRSxXQUFXO0VBQy9CLFVBQVUsRUFBRSxXQUFXLEdBQ3hCOztBQUdELEFBQUEsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLDhCQUE4QjtBQUNsRCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsMkJBQTJCLENBQUM7RUFDOUMsa0JBQWtCLEVBQUUsSUFBSSxHQUN6Qjs7QUFJRCxBQUVFLE1BRkksQUFFSCxrQkFBa0I7QUFEckIsS0FBSyxBQUNGLGtCQUFrQixDQUFDO0VBQ2xCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFLSCxBQUFBLFFBQVEsQ0FBQztFQUNQLFFBQVEsRUFBRSxJQUFJO0VBQ2QsY0FBYyxFQUFFLEdBQUcsR0FDcEI7O0FBT0QsQUFBQSxLQUFLLENBQUM7RUFDSixlQUFlLEVBQUUsUUFBUTtFQUN6QixjQUFjLEVBQUUsQ0FBQyxHQUNsQjs7QUFqVkQsQUFLRSxDQUxELEFBS0UsTUFBTSxDQStVQztFQUNOLE9BQU8sRUFBRSw0QkFBNEI7RUFDckMsY0FBYyxFQUFFLGNBQWMsR0FDL0I7O0FBSkgsQUFNRSxDQU5ELEFBTUUsTUFBTSxBQUFBLElBQUssQ0FBQSxjQUFjLEVBQUU7RUFDMUIsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFSSCxBQVVFLENBVkQsQUFVRSxjQUFjLENBQUM7RUFDZCxPQUFPLEVBQUUsNEJBQTRCO0VBQ3JDLGNBQWMsRUFBRSxjQUFjLEdBQy9COztBQ2hhSCxBQUFBLFNBQVMsQ0FBQztFQVpSLElBQUksRUFBRSxDQUFDLEdBY1I7RUFGRCxBQVZFLFNBVU8sQUFWTixNQUFNLENBQUM7SUFDTixLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxHQUFHO0lBQ1osT0FBTyxFQUFFLEtBQUs7SUFDZCxTQUFTLEVBQUUsQ0FBQztJQUNaLE1BQU0sRUFBRSxDQUFDO0lBQ1QsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FTcEJILEFBQUEsVUFBVSxDQUFDO0VUV1QsSUFBSSxFQUFFLENBQUM7RUFrQlAsVUFBVSxFQUFFLFdBQVc7RUFDdkIsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUk7RUFDbEIsU0FBUyxFekd0QkMsTUFBTTtFeUd1QmhCLE9BQU8sRUFBRSxNQUFNLEdTL0JoQjtFQUZELEFUYUUsVVNiUSxBVGFQLE1BQU0sQ0FBQztJQUNOLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEdBQUc7SUFDWixPQUFPLEVBQUUsS0FBSztJQUNkLFNBQVMsRUFBRSxDQUFDO0lBQ1osTUFBTSxFQUFFLENBQUM7SUFDVCxVQUFVLEVBQUUsTUFBTSxHQUNuQjs7QVNoQkgsQUFBQSxNQUFNO0FBQ04sTUFBTTtBQUNOLEtBQUssQ0FBQztFVEtKLElBQUksRUFBRSxDQUFDLEdTSFI7RUFKRCxBVFNFLE1TVEksQVRTSCxNQUFNO0VTUlQsTUFBTSxBVFFILE1BQU07RVNQVCxLQUFLLEFUT0YsTUFBTSxDQUFDO0lBQ04sS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsR0FBRztJQUNaLE9BQU8sRUFBRSxLQUFLO0lBQ2QsU0FBUyxFQUFFLENBQUM7SUFDWixNQUFNLEVBQUUsQ0FBQztJQUNULFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQTZCQyxBQUFBLE9BQU8sQ1N2Q1gsT0FBTyxDVHVDTztFYmVWLEtBQUssRUFBQyxJQUFDO0VBR0wsT0FBTyxFQUFFLEtBQUs7RUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7RUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsR2lCK0MxQztFQUxELEFib0NFLE9hcENLLENTdkNYLE9BQU8sQXRCMkVBLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QWE3QkgsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztFU2hEcEMsQUFBQSxPQUFPLENBQUM7SXRCc0RKLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsRzBCTzlDO0lBSkQsQXRCMkVNLE9zQjNFQyxBdEIyRUEsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9COztBYXRDSCxBUzlCRSxPVDhCSyxDU2pDWCxtQkFBbUIsQUFFZCxxQkFBcUIsQ0FDcEIsZUFBZSxDQUFDO0V0QjZDbEIsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKdEVoQixPQUFzQztFSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztFRTZDekMsWUFBb0IsRUFBUyxDQUFDLEd3QjlCN0I7RVQyQkgsQWJvQ0UsT2FwQ0ssQ1NqQ1gsbUJBQW1CLEFBRWQscUJBQXFCLENBQ3BCLGVBQWUsQXRCa0VkLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QWF0Q0gsQVN2QkUsT1R1QkssQ1NqQ1gsbUJBQW1CLEFBU2Qsc0JBQXNCLENBQ3JCLGVBQWUsQ0FBQztFdEJzQ2xCLEtBQUssRUFBQyxJQUFDO0VBR0wsT0FBTyxFQUFFLEtBQUs7RUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7RUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsRzBCcUJ4QztFVHFCSCxBYm9DRSxPYXBDSyxDU2pDWCxtQkFBbUIsQUFTZCxzQkFBc0IsQ0FDckIsZUFBZSxBdEIyRGQsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9COztBYXRDSCxBU2pCRSxPVGlCSyxDU2pDWCxtQkFBbUIsQ0FlZixLQUFLLEFBQ0YscUJBQXFCLENBQUM7RXRCZ0N6QixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0VJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEcwQjJCeEM7RVRlSCxBYm9DRSxPYXBDSyxDU2pDWCxtQkFBbUIsQ0FlZixLQUFLLEFBQ0YscUJBQXFCLEF0QnFEckIsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9COztBYXRDSCxBU2JFLE9UYUssQ1NqQ1gsbUJBQW1CLENBZWYsS0FBSyxBQUtGLHNCQUFzQixDQUFDO0V0QjRCMUIsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKdEVoQixPQUFzQztFSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztFRTZDekMsWUFBb0IsRUFBUyxDQUFDLEd3QmI3QjtFVFVILEFib0NFLE9hcENLLENTakNYLG1CQUFtQixDQWVmLEtBQUssQUFLRixzQkFBc0IsQXRCaUR0QixXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0FhN0JILE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7RVMxQ3BDLEFBR00sbUJBSGEsQUFFZCxxQkFBcUIsQ0FDcEIsZUFBZSxDQUFDO0l0QjZDbEIsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztJRTZDekMsWUFBb0IsRUFBUyxDQUFDLEd3QjlCN0I7SUFOUCxBdEJxRU0sbUJzQnJFYSxBQUVkLHFCQUFxQixDQUNwQixlQUFlLEF0QmtFZCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RXNCdkVQLEFBVU0sbUJBVmEsQUFTZCxzQkFBc0IsQ0FDckIsZUFBZSxDQUFDO0l0QnNDbEIsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHMEJxQnhDO0lBWlAsQXRCcUVNLG1Cc0JyRWEsQUFTZCxzQkFBc0IsQ0FDckIsZUFBZSxBdEIyRGQsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VzQnZFUCxBQWdCTSxtQkFoQmEsQ0FlZixLQUFLLEFBQ0YscUJBQXFCLENBQUM7SXRCZ0N6QixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEcwQjJCeEM7SUFsQlAsQXRCcUVNLG1Cc0JyRWEsQ0FlZixLQUFLLEFBQ0YscUJBQXFCLEF0QnFEckIsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VzQnZFUCxBQW9CTSxtQkFwQmEsQ0FlZixLQUFLLEFBS0Ysc0JBQXNCLENBQUM7SXRCNEIxQixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0lFNkN6QyxZQUFvQixFQUFTLENBQUMsR3dCYjdCO0lBdkJQLEF0QnFFTSxtQnNCckVhLENBZWYsS0FBSyxBQUtGLHNCQUFzQixBdEJpRHRCLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QWF0Q0gsQVNIQSxPVEdPLENTTFgsb0JBQW9CLENBRWhCLGVBQWUsQ0FBQztFdEJrQmhCLEtBQUssRUFBQyxJQUFDO0VBR0wsT0FBTyxFQUFFLEtBQUs7RUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7RUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsRzBCeUMxQztFVENELEFib0NFLE9hcENLLENTTFgsb0JBQW9CLENBRWhCLGVBQWUsQXRCdUNaLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QWF0Q0gsQVNDQSxPVERPLENTTFgsb0JBQW9CLENBTWhCLHFCQUFxQixDQUFDO0V0QmN0QixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0VJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEcwQjZDMUM7RVRIRCxBYm9DRSxPYXBDSyxDU0xYLG9CQUFvQixDQU1oQixxQkFBcUIsQXRCbUNsQixXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0FhdENILEFTS0EsT1RMTyxDU0xYLG9CQUFvQixDQVVoQixzQkFBc0IsQ0FBQztFdEJVdkIsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKdEVoQixPQUFzQztFSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztFRTZDekMsWUFBb0IsRUFBUyxDQUFDLEd3QksvQjtFVFJELEFib0NFLE9hcENLLENTTFgsb0JBQW9CLENBVWhCLHNCQUFzQixBdEIrQm5CLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QWE3QkgsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztFU2RwQyxBQUVJLG9CQUZnQixDQUVoQixlQUFlLENBQUM7SXRCa0JoQixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEcwQnlDMUM7SUFKTCxBdEJ5Q00sb0JzQnpDYyxDQUVoQixlQUFlLEF0QnVDWixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RXNCM0NQLEFBTUksb0JBTmdCLENBTWhCLHFCQUFxQixDQUFDO0l0QmN0QixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEcwQjZDMUM7SUFSTCxBdEJ5Q00sb0JzQnpDYyxDQU1oQixxQkFBcUIsQXRCbUNsQixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RXNCM0NQLEFBVUksb0JBVmdCLENBVWhCLHNCQUFzQixDQUFDO0l0QlV2QixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0lFNkN6QyxZQUFvQixFQUFTLENBQUMsR3dCSy9CO0lBYkwsQXRCeUNNLG9Cc0J6Q2MsQ0FVaEIsc0JBQXNCLEF0QitCbkIsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9COztBYXRDSCxBU2NBLE9UZE8sQ1NZWCxtQkFBbUIsQ0FFZixLQUFLLENBQUM7RXRCQ04sS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKdEVoQixPQUFzQztFSXVFMUMsS0FBSyxFSjVFRCxJQUFxQztFRTZDekMsWUFBb0IsRUFBUyxDQUFDLEd3QmMvQjtFVGpCRCxBYm9DRSxPYXBDSyxDU1lYLG1CQUFtQixDQUVmLEtBQUssQXRCc0JGLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QWE3QkgsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztFU0dwQyxBQUVJLG1CQUZlLENBRWYsS0FBSyxDQUFDO0l0QkNOLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsSUFBcUM7SUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHd0JjL0I7SUFMTCxBdEJ3Qk0sbUJzQnhCYSxDQUVmLEtBQUssQXRCc0JGLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QXNCakJQLEFBQUEsd0JBQXdCLENBQUM7RUFDdkIsS0FBSyxFQUFFLElBQUksR0FDWjs7QVR2QkcsQUFBQSxPQUFPLENTeUJYLElBQUksQUFBQSxpQkFBaUIsQ0FDbkIsZUFBZSxDVDFCSDtFUzRCUixLQUFLLEVBQUUsZUFBZSxHVHZCdkI7O0FBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztFU2dCcEMsQUFDRSxJQURFLEFBQUEsaUJBQWlCLENBQ25CLGVBQWUsQ0FBQztJQUVaLEtBQUssRUFBRSxlQUFlLEdBRXpCOztBQUdILEFBRUUsa0JBRmdCLEFBQUEsc0JBQXNCLEdBRXBDLFdBQVcsQ0FBQztFQUNaLEtBQUssRUFBRSxjQUFjO0VBQ3JCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFVBQVUsRUFBRSxVQUFVLEdBQ3ZCOztBQU5ILEFBUUUsa0JBUmdCLEFBQUEsc0JBQXNCLEdBUXBDLFlBQVksQ0FBQztFQUNiLEtBQUssRUFBRSxjQUFjO0VBQ3JCLFVBQVUsRUFBRSxVQUFVLEdBQ3ZCOztBQVhILEFBYUUsa0JBYmdCLEFBQUEsc0JBQXNCLENBYXRDLDZCQUE2QixDQUFDO0VBQzVCLEtBQUssRUFBRSxlQUFlO0VBQ3RCLE1BQU0sRUFBRSxlQUFlLEdBQ3hCOztBekJsR0QsQUFBQSxJQUFJLEMwQkdEO0VBQ0gsU0FBUyxFQUFFLE1BQStCO0VBQzFDLHdCQUF3QixFQUFFLElBQUk7RUFDOUIsb0JBQW9CLEVBQUUsSUFBSTtFQUMxQixzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLFNBQVMsRUFBRSxVQUFVLEdBQ3RCOztBWHlERCxBQUFBLElBQUk7QUFDSixNQUFNO0FBQ04sS0FBSztBQUNMLE1BQU07QUFDTixRQUFRLENXdERDO0VBQ1AsV0FBVyxFWmZNLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsR1lnQjNEOztBWHlERCxBQUFBLElBQUksQ1d0REM7RVZ3RkgsU0FBUyxFSHhGTSxJQUFJO0VHeUZuQixTQUFTLEVBQUUsSUFBZ0M7RVV2RjNDLFdBQVcsRWJETSxHQUFHO0VhRXBCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUVELEFBQUEsRUFBRSxFb0Q5QkYsY0FBYyxDQUtaLGFBQWEsQUFBQSxZQUFZLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUxuRCxjQUFjLENBaUJaLFFBQVEsQ0FLTixNQUFNLEVBdEJWLGNBQWMsQ0E2Q1osc0NBQXNDLENBQ3BDLEVBQUUsRUE5Q04sY0FBYyxDQTZDWixzQ0FBc0MsQ0E1Q3RDLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQTRDcEIsc0NBQXNDLENBNUNqQixnQkFBZ0IsRUdEdkMsWUFBWSxDQW1DVixFQUFFLEVBbkNKLFlBQVksQ0hBWixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFEdkMsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENHRHRCLFlBQVksQ0hDVyxnQkFBZ0IsQ3BENkJwQztFSjFCRCxLQUFLLEVUSUMsT0FBTztFU0hiLFdBQVcsRVJDTyxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0VRQTNELFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0VOeUdoQixTQUFTLEVIbkZJLElBQUk7RUdvRmpCLFNBQVMsRUFBRSxVQUFnQztFVWhGM0MsTUFBTSxFYkdJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7RWFGcEIsT0FBTyxFYlNJLENBQUMsR2FSYjs7QUFFRCxBQUFBLEVBQUUsRW9EckNGLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDcERvQ3BDO0VKakNELEtBQUssRVRJQyxPQUFPO0VTSGIsV0FBVyxFUkNPLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7RVFBM0QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLEdBQUc7RU55R2hCLFNBQVMsRUhsRkksSUFBSTtFR21GakIsU0FBUyxFQUFFLFVBQWdDO0VVekUzQyxNQUFNLEViSEksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztFYUlwQixPQUFPLEViR0ksQ0FBQyxHYU1iO0VBUEMsQUFBQSxDQUFDLEdBTkgsRUFBRSxFb0RyQ0YsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENwRDBDcEIsQ0FBQyxHb0QxQ29CLGdCQUFnQjtFcEQyQ3JDLEVBQUUsR0FQSixFQUFFO0VvRHJDRixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3BEMkNwQixFQUFFLEdvRDNDbUIsZ0JBQWdCO0VwRDRDckMsRUFBRSxHQVJKLEVBQUU7RW9EckNGLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDcEQ0Q3BCLEVBQUUsR29ENUNtQixnQkFBZ0I7RXBENkNyQyxHQUFHLEdBVEwsRUFBRTtFb0RyQ0YsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENwRDZDcEIsR0FBRyxHb0Q3Q2tCLGdCQUFnQjtFcEQ4Q3JDLGVBQWUsQ0FBQyxHQUFHLEdBVnJCLEVBQUU7RUFVQSxlQUFlLENvRC9DakIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENwRDhDSixHQUFHLEdvRDlDRSxnQkFBZ0I7RUFEdkMsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENwRDhDcEIsZUFBZSxDQUFDLEdBQUcsR29EOUNFLGdCQUFnQixDcEQ4Q2I7SUFDdEIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBR0gsQUFBQSxFQUFFLEVXcERGLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDQVFWLGFBQWEsRUExQm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ0FHbkIsS0FBSyxFQTlGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDQUtkLEtBQUssRXFDbkhmLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssRUkvRVQsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxDcERkUDtFSmhERCxLQUFLLEVUSUMsT0FBTztFU0hiLFdBQVcsRVJDTyxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0VRQTNELFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0VOeUdoQixTQUFTLEVIakZJLElBQUk7RUdrRmpCLFNBQVMsRUFBRSxVQUFnQztFVTFEM0MsTUFBTSxFYmpCSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0Vha0JwQixPQUFPLEViWEksQ0FBQyxHYW9CYjtFQVBDLEFBQUEsQ0FBQyxHQU5ILEVBQUUsRVdwREYsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENYd0NkLENBQUMsR1doQ0csYUFBYSxFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDWGpDekIsQ0FBQyxHV29DSyxLQUFLLEVBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENYcER0QixDQUFDLEdXeURPLEtBQUssRXFDbkhmLGFBQWEsQ0E0RVgsbUJBQW1CLENoRGxCbkIsQ0FBQyxHZ0RxQkMsS0FBSyxFSS9FVCxjQUFjLENBZ0VaLGdDQUFnQyxDcEROaEMsQ0FBQyxHb0RRQyxNQUFNO0VwRFBSLEVBQUUsR0FQSixFQUFFO0VXcERGLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDWHlDZCxFQUFFLEdXakNFLGFBQWE7RUExQm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ1hoQ3pCLEVBQUUsR1dtQ0ksS0FBSztFQTlGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDWG5EdEIsRUFBRSxHV3dETSxLQUFLO0VxQ25IZixhQUFhLENBNEVYLG1CQUFtQixDaERqQm5CLEVBQUUsR2dEb0JBLEtBQUs7RUkvRVQsY0FBYyxDQWdFWixnQ0FBZ0MsQ3BETGhDLEVBQUUsR29ET0EsTUFBTTtFcEROUixFQUFFLEdBUkosRUFBRTtFV3BERixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ1gwQ2QsRUFBRSxHV2xDRSxhQUFhO0VBMUJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENYL0J6QixFQUFFLEdXa0NJLEtBQUs7RUE5RmIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ1hsRHRCLEVBQUUsR1d1RE0sS0FBSztFcUNuSGYsYUFBYSxDQTRFWCxtQkFBbUIsQ2hEaEJuQixFQUFFLEdnRG1CQSxLQUFLO0VJL0VULGNBQWMsQ0FnRVosZ0NBQWdDLENwREpoQyxFQUFFLEdvRE1BLE1BQU07RXBETFIsR0FBRyxHQVRMLEVBQUU7RVdwREYsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENYMkNkLEdBQUcsR1duQ0MsYUFBYTtFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDWDlCekIsR0FBRyxHV2lDRyxLQUFLO0VBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENYakR0QixHQUFHLEdXc0RLLEtBQUs7RXFDbkhmLGFBQWEsQ0E0RVgsbUJBQW1CLENoRGZuQixHQUFHLEdnRGtCRCxLQUFLO0VJL0VULGNBQWMsQ0FnRVosZ0NBQWdDLENwREhoQyxHQUFHLEdvREtELE1BQU07RXBESlIsZUFBZSxDQUFDLEdBQUcsR0FWckIsRUFBRTtFQVVBLGVBQWUsQ1c5RGpCLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDWDRDRSxHQUFHLEdXcENmLGFBQWE7RUExQm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDWDRDZCxlQUFlLENBQUMsR0FBRyxHV3BDZixhQUFhO0VYb0NqQixlQUFlLENXOURqQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENYN0JULEdBQUcsR1dnQ2IsS0FBSztFQTlGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENYN0J6QixlQUFlLENBQUMsR0FBRyxHV2dDYixLQUFLO0VYaENYLGVBQWUsQ1c5RGpCLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENYaEROLEdBQUcsR1dxRFgsS0FBSztFQW5IZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDWGhEdEIsZUFBZSxDQUFDLEdBQUcsR1dxRFgsS0FBSztFWHJEYixlQUFlLENnRDlEakIsYUFBYSxDQTRFWCxtQkFBbUIsQ2hEZEgsR0FBRyxHZ0RpQmpCLEtBQUs7RUEvRVQsYUFBYSxDQTRFWCxtQkFBbUIsQ2hEZG5CLGVBQWUsQ0FBQyxHQUFHLEdnRGlCakIsS0FBSztFaERqQlAsZUFBZSxDb0Q5RGpCLGNBQWMsQ0FnRVosZ0NBQWdDLENwREZoQixHQUFHLEdvRElqQixNQUFNO0VBbEVWLGNBQWMsQ0FnRVosZ0NBQWdDLENwREZoQyxlQUFlLENBQUMsR0FBRyxHb0RJakIsTUFBTSxDcERKZ0I7SUFDdEIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBR0gsQUFBQSxFQUFFLEVJeERGLElBQUksQ0E0QkYsS0FBSyxFd0J2Q1AsY0FBYyxBQXVCWCxnQkFBZ0IsQ0FDZixFQUFFLEVBeEJOLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYSxFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENpQmxCaEIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCR2IsYUFBYSxFaUIxQm5CLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLLEVBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ2lCM0YzQixjQUFjLEFBdUJYLGdCQUFnQixDakJ1RVgsS0FBSyxFaUI5RmIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDQUtkLEtBQUssRUFuSGYsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ2lCOUd4QixjQUFjLEFBdUJYLGdCQUFnQixDakI0RlQsS0FBSyxFaUJuSGYsY0FBYyxBQXVCWCxnQkFBZ0IsQ29CdkJuQixhQUFhLENBNEVYLG1CQUFtQixDQUdqQixLQUFLLEVBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLENwQjVFckIsY0FBYyxBQXVCWCxnQkFBZ0IsQ29Cd0RmLEtBQUssRXBCL0VULGNBQWMsQUF1QlgsZ0JBQWdCLEN3QnZCbkIsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDeEJoRWxDLGNBQWMsQUF1QlgsZ0JBQWdCLEN3QjJDZixNQUFNLEVwQmxFVixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ0FDQyxFQUFFLEVBdEJSLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYSxFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENxQmxCaEIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQktDLGFBQWEsRXFCMUJuQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ0FHbkIsS0FBSyxFQTlGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENxQjNGM0IsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnlFRyxLQUFLLEVxQjlGYixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENBS2QsS0FBSyxFQW5IZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDcUI5R3hCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckI4RkssS0FBSyxFcUJuSGYsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENnQnJCTCxhQUFhLENBNEVYLG1CQUFtQixDQUdqQixLQUFLLEVBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLENoQjVFckIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENnQjBERCxLQUFLLEVoQi9FVCxVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ29CckJMLGNBQWMsQ0FnRVosZ0NBQWdDLENBRTlCLE1BQU0sRUFsRVYsY0FBYyxDQWdFWixnQ0FBZ0MsQ3BCaEVsQyxVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ29CNkNELE1BQU0sQ3BEQ1A7RUovREQsS0FBSyxFVElDLE9BQU87RVNIYixXQUFXLEVSQ08sV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtFUUEzRCxXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsR0FBRztFTnlHaEIsU0FBUyxFSGhGSSxJQUFJO0VHaUZqQixTQUFTLEVBQUUsTUFBZ0M7RVUzQzNDLE1BQU0sRWIvQkksQ0FBQztFYWdDWCxPQUFPLEViekJJLENBQUMsR2FrQ2I7RUFQQyxBQUFBLENBQUMsR0FOSCxFQUFFLEVJeERGLElBQUksQ0o4REYsQ0FBQyxHSWxDRCxLQUFLLEV3QnZDUCxjQUFjLEFBdUJYLGdCQUFnQixDNUJrRGpCLENBQUMsRzRCakRDLEVBQUUsRUF4Qk4sY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ1h1RGQsQ0FBQyxHVy9DRyxhQUFhLEVBMUJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ2lCbEJoQixjQUFjLEFBdUJYLGdCQUFnQixDNUJrRGpCLENBQUMsR1cvQ0csYUFBYSxFaUIxQm5CLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDWGxCekIsQ0FBQyxHV3FCSyxLQUFLLEVBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ2lCM0YzQixjQUFjLEFBdUJYLGdCQUFnQixDNUJrRGpCLENBQUMsR1dxQkssS0FBSyxFaUI5RmIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDWHJDdEIsQ0FBQyxHVzBDTyxLQUFLLEVBbkhmLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENpQjlHeEIsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCa0RqQixDQUFDLEdXMENPLEtBQUssRWlCbkhmLGNBQWMsQUF1QlgsZ0JBQWdCLENvQnZCbkIsYUFBYSxDQTRFWCxtQkFBbUIsQ2hESG5CLENBQUMsR2dETUMsS0FBSyxFQS9FVCxhQUFhLENBNEVYLG1CQUFtQixDcEI1RXJCLGNBQWMsQUF1QlgsZ0JBQWdCLEM1QmtEakIsQ0FBQyxHZ0RNQyxLQUFLLEVwQi9FVCxjQUFjLEFBdUJYLGdCQUFnQixDd0J2Qm5CLGNBQWMsQ0FnRVosZ0NBQWdDLENwRFNoQyxDQUFDLEdvRFBDLE1BQU0sRUFsRVYsY0FBYyxDQWdFWixnQ0FBZ0MsQ3hCaEVsQyxjQUFjLEFBdUJYLGdCQUFnQixDNUJrRGpCLENBQUMsR29EUEMsTUFBTSxFcEJsRVYsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ29ESCxDQUFDLEdnQ25ERyxFQUFFLEVBdEJSLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENYdURkLENBQUMsR1cvQ0csYUFBYSxFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENxQmxCaEIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ29ESCxDQUFDLEdXL0NHLGFBQWEsRXFCMUJuQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ1hsQnpCLENBQUMsR1dxQkssS0FBSyxFQTlGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENxQjNGM0IsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ29ESCxDQUFDLEdXcUJLLEtBQUssRXFCOUZiLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ1hyQ3RCLENBQUMsR1cwQ08sS0FBSyxFQW5IZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDcUI5R3hCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDaENvREgsQ0FBQyxHVzBDTyxLQUFLLEVxQm5IZixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2dCckJMLGFBQWEsQ0E0RVgsbUJBQW1CLENoREhuQixDQUFDLEdnRE1DLEtBQUssRUEvRVQsYUFBYSxDQTRFWCxtQkFBbUIsQ2hCNUVyQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2hDb0RILENBQUMsR2dETUMsS0FBSyxFaEIvRVQsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENvQnJCTCxjQUFjLENBZ0VaLGdDQUFnQyxDcERTaEMsQ0FBQyxHb0RQQyxNQUFNLEVBbEVWLGNBQWMsQ0FnRVosZ0NBQWdDLENwQmhFbEMsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ29ESCxDQUFDLEdvRFBDLE1BQU07RXBEUVIsRUFBRSxHQVBKLEVBQUU7RUl4REYsSUFBSSxDSitERixFQUFFLEdJbkNGLEtBQUs7RXdCdkNQLGNBQWMsQUF1QlgsZ0JBQWdCLEM1Qm1EakIsRUFBRSxHNEJsREEsRUFBRTtFQXhCTixjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDWHdEZCxFQUFFLEdXaERFLGFBQWE7RUExQm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDaUJsQmhCLGNBQWMsQUF1QlgsZ0JBQWdCLEM1Qm1EakIsRUFBRSxHV2hERSxhQUFhO0VpQjFCbkIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENYakJ6QixFQUFFLEdXb0JJLEtBQUs7RUE5RmIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDaUIzRjNCLGNBQWMsQUF1QlgsZ0JBQWdCLEM1Qm1EakIsRUFBRSxHV29CSSxLQUFLO0VpQjlGYixjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENYcEN0QixFQUFFLEdXeUNNLEtBQUs7RUFuSGYsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ2lCOUd4QixjQUFjLEFBdUJYLGdCQUFnQixDNUJtRGpCLEVBQUUsR1d5Q00sS0FBSztFaUJuSGYsY0FBYyxBQXVCWCxnQkFBZ0IsQ29CdkJuQixhQUFhLENBNEVYLG1CQUFtQixDaERGbkIsRUFBRSxHZ0RLQSxLQUFLO0VBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLENwQjVFckIsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCbURqQixFQUFFLEdnREtBLEtBQUs7RXBCL0VULGNBQWMsQUF1QlgsZ0JBQWdCLEN3QnZCbkIsY0FBYyxDQWdFWixnQ0FBZ0MsQ3BEVWhDLEVBQUUsR29EUkEsTUFBTTtFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDeEJoRWxDLGNBQWMsQUF1QlgsZ0JBQWdCLEM1Qm1EakIsRUFBRSxHb0RSQSxNQUFNO0VwQmxFVixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2hDcURILEVBQUUsR2dDcERFLEVBQUU7RUF0QlIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ1h3RGQsRUFBRSxHV2hERSxhQUFhO0VBMUJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ3FCbEJoQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2hDcURILEVBQUUsR1doREUsYUFBYTtFcUIxQm5CLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDWGpCekIsRUFBRSxHV29CSSxLQUFLO0VBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ3FCM0YzQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2hDcURILEVBQUUsR1dvQkksS0FBSztFcUI5RmIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDWHBDdEIsRUFBRSxHV3lDTSxLQUFLO0VBbkhmLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENxQjlHeEIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ3FESCxFQUFFLEdXeUNNLEtBQUs7RXFCbkhmLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDZ0JyQkwsYUFBYSxDQTRFWCxtQkFBbUIsQ2hERm5CLEVBQUUsR2dES0EsS0FBSztFQS9FVCxhQUFhLENBNEVYLG1CQUFtQixDaEI1RXJCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDaENxREgsRUFBRSxHZ0RLQSxLQUFLO0VoQi9FVCxVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ29CckJMLGNBQWMsQ0FnRVosZ0NBQWdDLENwRFVoQyxFQUFFLEdvRFJBLE1BQU07RUFsRVYsY0FBYyxDQWdFWixnQ0FBZ0MsQ3BCaEVsQyxVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2hDcURILEVBQUUsR29EUkEsTUFBTTtFcERTUixFQUFFLEdBUkosRUFBRTtFSXhERixJQUFJLENKZ0VGLEVBQUUsR0lwQ0YsS0FBSztFd0J2Q1AsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCb0RqQixFQUFFLEc0Qm5EQSxFQUFFO0VBeEJOLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENYeURkLEVBQUUsR1dqREUsYUFBYTtFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENpQmxCaEIsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCb0RqQixFQUFFLEdXakRFLGFBQWE7RWlCMUJuQixjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ1hoQnpCLEVBQUUsR1dtQkksS0FBSztFQTlGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENpQjNGM0IsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCb0RqQixFQUFFLEdXbUJJLEtBQUs7RWlCOUZiLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ1huQ3RCLEVBQUUsR1d3Q00sS0FBSztFQW5IZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDaUI5R3hCLGNBQWMsQUF1QlgsZ0JBQWdCLEM1Qm9EakIsRUFBRSxHV3dDTSxLQUFLO0VpQm5IZixjQUFjLEFBdUJYLGdCQUFnQixDb0J2Qm5CLGFBQWEsQ0E0RVgsbUJBQW1CLENoRERuQixFQUFFLEdnRElBLEtBQUs7RUEvRVQsYUFBYSxDQTRFWCxtQkFBbUIsQ3BCNUVyQixjQUFjLEFBdUJYLGdCQUFnQixDNUJvRGpCLEVBQUUsR2dESUEsS0FBSztFcEIvRVQsY0FBYyxBQXVCWCxnQkFBZ0IsQ3dCdkJuQixjQUFjLENBZ0VaLGdDQUFnQyxDcERXaEMsRUFBRSxHb0RUQSxNQUFNO0VBbEVWLGNBQWMsQ0FnRVosZ0NBQWdDLEN4QmhFbEMsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCb0RqQixFQUFFLEdvRFRBLE1BQU07RXBCbEVWLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDaENzREgsRUFBRSxHZ0NyREUsRUFBRTtFQXRCUixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDWHlEZCxFQUFFLEdXakRFLGFBQWE7RUExQm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDcUJsQmhCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDaENzREgsRUFBRSxHV2pERSxhQUFhO0VxQjFCbkIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENYaEJ6QixFQUFFLEdXbUJJLEtBQUs7RUE5RmIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDcUIzRjNCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDaENzREgsRUFBRSxHV21CSSxLQUFLO0VxQjlGYixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENYbkN0QixFQUFFLEdXd0NNLEtBQUs7RUFuSGYsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ3FCOUd4QixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2hDc0RILEVBQUUsR1d3Q00sS0FBSztFcUJuSGYsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENnQnJCTCxhQUFhLENBNEVYLG1CQUFtQixDaEREbkIsRUFBRSxHZ0RJQSxLQUFLO0VBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLENoQjVFckIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ3NESCxFQUFFLEdnRElBLEtBQUs7RWhCL0VULFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDb0JyQkwsY0FBYyxDQWdFWixnQ0FBZ0MsQ3BEV2hDLEVBQUUsR29EVEEsTUFBTTtFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDcEJoRWxDLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDaENzREgsRUFBRSxHb0RUQSxNQUFNO0VwRFVSLEdBQUcsR0FUTCxFQUFFO0VJeERGLElBQUksQ0ppRUYsR0FBRyxHSXJDSCxLQUFLO0V3QnZDUCxjQUFjLEFBdUJYLGdCQUFnQixDNUJxRGpCLEdBQUcsRzRCcERELEVBQUU7RUF4Qk4sY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ1gwRGQsR0FBRyxHV2xEQyxhQUFhO0VBMUJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ2lCbEJoQixjQUFjLEFBdUJYLGdCQUFnQixDNUJxRGpCLEdBQUcsR1dsREMsYUFBYTtFaUIxQm5CLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDWGZ6QixHQUFHLEdXa0JHLEtBQUs7RUE5RmIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDaUIzRjNCLGNBQWMsQUF1QlgsZ0JBQWdCLEM1QnFEakIsR0FBRyxHV2tCRyxLQUFLO0VpQjlGYixjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENYbEN0QixHQUFHLEdXdUNLLEtBQUs7RUFuSGYsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ2lCOUd4QixjQUFjLEFBdUJYLGdCQUFnQixDNUJxRGpCLEdBQUcsR1d1Q0ssS0FBSztFaUJuSGYsY0FBYyxBQXVCWCxnQkFBZ0IsQ29CdkJuQixhQUFhLENBNEVYLG1CQUFtQixDaERBbkIsR0FBRyxHZ0RHRCxLQUFLO0VBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLENwQjVFckIsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCcURqQixHQUFHLEdnREdELEtBQUs7RXBCL0VULGNBQWMsQUF1QlgsZ0JBQWdCLEN3QnZCbkIsY0FBYyxDQWdFWixnQ0FBZ0MsQ3BEWWhDLEdBQUcsR29EVkQsTUFBTTtFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDeEJoRWxDLGNBQWMsQUF1QlgsZ0JBQWdCLEM1QnFEakIsR0FBRyxHb0RWRCxNQUFNO0VwQmxFVixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2hDdURILEdBQUcsR2dDdERDLEVBQUU7RUF0QlIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ1gwRGQsR0FBRyxHV2xEQyxhQUFhO0VBMUJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ3FCbEJoQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2hDdURILEdBQUcsR1dsREMsYUFBYTtFcUIxQm5CLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDWGZ6QixHQUFHLEdXa0JHLEtBQUs7RUE5RmIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDcUIzRjNCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDaEN1REgsR0FBRyxHV2tCRyxLQUFLO0VxQjlGYixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENYbEN0QixHQUFHLEdXdUNLLEtBQUs7RUFuSGYsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ3FCOUd4QixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2hDdURILEdBQUcsR1d1Q0ssS0FBSztFcUJuSGYsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENnQnJCTCxhQUFhLENBNEVYLG1CQUFtQixDaERBbkIsR0FBRyxHZ0RHRCxLQUFLO0VBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLENoQjVFckIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ3VESCxHQUFHLEdnREdELEtBQUs7RWhCL0VULFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDb0JyQkwsY0FBYyxDQWdFWixnQ0FBZ0MsQ3BEWWhDLEdBQUcsR29EVkQsTUFBTTtFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDcEJoRWxDLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDaEN1REgsR0FBRyxHb0RWRCxNQUFNO0VwRFdSLGVBQWUsQ0FBQyxHQUFHLEdBVnJCLEVBQUU7RUFVQSxlQUFlLENJbEVqQixJQUFJLENKa0VjLEdBQUcsR0l0Q25CLEtBQUs7RUE1QlAsSUFBSSxDSmtFRixlQUFlLENBQUMsR0FBRyxHSXRDbkIsS0FBSztFSnNDTCxlQUFlLEM0QjdFakIsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCc0RELEdBQUcsRzRCckRqQixFQUFFO0VBeEJOLGNBQWMsQUF1QlgsZ0JBQWdCLEM1QnNEakIsZUFBZSxDQUFDLEdBQUcsRzRCckRqQixFQUFFO0U1QnFESixlQUFlLEM0QjdFakIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ1gyREUsR0FBRyxHV25EZixhQUFhO0VpQjFCbkIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ1gyRGQsZUFBZSxDQUFDLEdBQUcsR1duRGYsYUFBYTtFWG1EakIsZUFBZSxDVzdFakIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENpQmxCaEIsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCc0RELEdBQUcsR1duRGYsYUFBYTtFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENpQmxCaEIsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCc0RqQixlQUFlLENBQUMsR0FBRyxHV25EZixhQUFhO0VYbURqQixlQUFlLEM0QjdFakIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENYZFQsR0FBRyxHV2lCYixLQUFLO0VpQjlGYixjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ1hkekIsZUFBZSxDQUFDLEdBQUcsR1dpQmIsS0FBSztFWGpCWCxlQUFlLENXN0VqQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENpQjNGM0IsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCc0RELEdBQUcsR1dpQmIsS0FBSztFQTlGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENpQjNGM0IsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCc0RqQixlQUFlLENBQUMsR0FBRyxHV2lCYixLQUFLO0VYakJYLGVBQWUsQzRCN0VqQixjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENYakNOLEdBQUcsR1dzQ1gsS0FBSztFaUJuSGYsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDWGpDdEIsZUFBZSxDQUFDLEdBQUcsR1dzQ1gsS0FBSztFWHRDYixlQUFlLENXN0VqQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDaUI5R3hCLGNBQWMsQUF1QlgsZ0JBQWdCLEM1QnNERCxHQUFHLEdXc0NYLEtBQUs7RUFuSGYsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ2lCOUd4QixjQUFjLEFBdUJYLGdCQUFnQixDNUJzRGpCLGVBQWUsQ0FBQyxHQUFHLEdXc0NYLEtBQUs7RVh0Q2IsZUFBZSxDNEI3RWpCLGNBQWMsQUF1QlgsZ0JBQWdCLENvQnZCbkIsYUFBYSxDQTRFWCxtQkFBbUIsQ2hEQ0gsR0FBRyxHZ0RFakIsS0FBSztFcEIvRVQsY0FBYyxBQXVCWCxnQkFBZ0IsQ29CdkJuQixhQUFhLENBNEVYLG1CQUFtQixDaERDbkIsZUFBZSxDQUFDLEdBQUcsR2dERWpCLEtBQUs7RWhERlAsZUFBZSxDZ0Q3RWpCLGFBQWEsQ0E0RVgsbUJBQW1CLENwQjVFckIsY0FBYyxBQXVCWCxnQkFBZ0IsQzVCc0RELEdBQUcsR2dERWpCLEtBQUs7RUEvRVQsYUFBYSxDQTRFWCxtQkFBbUIsQ3BCNUVyQixjQUFjLEFBdUJYLGdCQUFnQixDNUJzRGpCLGVBQWUsQ0FBQyxHQUFHLEdnREVqQixLQUFLO0VoREZQLGVBQWUsQzRCN0VqQixjQUFjLEFBdUJYLGdCQUFnQixDd0J2Qm5CLGNBQWMsQ0FnRVosZ0NBQWdDLENwRGFoQixHQUFHLEdvRFhqQixNQUFNO0V4QmxFVixjQUFjLEFBdUJYLGdCQUFnQixDd0J2Qm5CLGNBQWMsQ0FnRVosZ0NBQWdDLENwRGFoQyxlQUFlLENBQUMsR0FBRyxHb0RYakIsTUFBTTtFcERXUixlQUFlLENvRDdFakIsY0FBYyxDQWdFWixnQ0FBZ0MsQ3hCaEVsQyxjQUFjLEFBdUJYLGdCQUFnQixDNUJzREQsR0FBRyxHb0RYakIsTUFBTTtFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDeEJoRWxDLGNBQWMsQUF1QlgsZ0JBQWdCLEM1QnNEakIsZUFBZSxDQUFDLEdBQUcsR29EWGpCLE1BQU07RXBEV1IsZUFBZSxDZ0M3RWpCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDaEN3RGEsR0FBRyxHZ0N2RGYsRUFBRTtFQXRCUixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2hDd0RILGVBQWUsQ0FBQyxHQUFHLEdnQ3ZEZixFQUFFO0VoQ3VETixlQUFlLENnQzdFakIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ1gyREUsR0FBRyxHV25EZixhQUFhO0VxQjFCbkIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ1gyRGQsZUFBZSxDQUFDLEdBQUcsR1duRGYsYUFBYTtFWG1EakIsZUFBZSxDVzdFakIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENxQmxCaEIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ3dEYSxHQUFHLEdXbkRmLGFBQWE7RUExQm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDcUJsQmhCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDaEN3REgsZUFBZSxDQUFDLEdBQUcsR1duRGYsYUFBYTtFWG1EakIsZUFBZSxDZ0M3RWpCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDWGRULEdBQUcsR1dpQmIsS0FBSztFcUI5RmIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENYZHpCLGVBQWUsQ0FBQyxHQUFHLEdXaUJiLEtBQUs7RVhqQlgsZUFBZSxDVzdFakIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDcUIzRjNCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDaEN3RGEsR0FBRyxHV2lCYixLQUFLO0VBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ3FCM0YzQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2hDd0RILGVBQWUsQ0FBQyxHQUFHLEdXaUJiLEtBQUs7RVhqQlgsZUFBZSxDZ0M3RWpCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ1hqQ04sR0FBRyxHV3NDWCxLQUFLO0VxQm5IZixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENYakN0QixlQUFlLENBQUMsR0FBRyxHV3NDWCxLQUFLO0VYdENiLGVBQWUsQ1c3RWpCLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENxQjlHeEIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ3dEYSxHQUFHLEdXc0NYLEtBQUs7RUFuSGYsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ3FCOUd4QixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2hDd0RILGVBQWUsQ0FBQyxHQUFHLEdXc0NYLEtBQUs7RVh0Q2IsZUFBZSxDZ0M3RWpCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDZ0JyQkwsYUFBYSxDQTRFWCxtQkFBbUIsQ2hEQ0gsR0FBRyxHZ0RFakIsS0FBSztFaEIvRVQsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENnQnJCTCxhQUFhLENBNEVYLG1CQUFtQixDaERDbkIsZUFBZSxDQUFDLEdBQUcsR2dERWpCLEtBQUs7RWhERlAsZUFBZSxDZ0Q3RWpCLGFBQWEsQ0E0RVgsbUJBQW1CLENoQjVFckIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ3dEYSxHQUFHLEdnREVqQixLQUFLO0VBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLENoQjVFckIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ3dESCxlQUFlLENBQUMsR0FBRyxHZ0RFakIsS0FBSztFaERGUCxlQUFlLENnQzdFakIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENvQnJCTCxjQUFjLENBZ0VaLGdDQUFnQyxDcERhaEIsR0FBRyxHb0RYakIsTUFBTTtFcEJsRVYsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENvQnJCTCxjQUFjLENBZ0VaLGdDQUFnQyxDcERhaEMsZUFBZSxDQUFDLEdBQUcsR29EWGpCLE1BQU07RXBEV1IsZUFBZSxDb0Q3RWpCLGNBQWMsQ0FnRVosZ0NBQWdDLENwQmhFbEMsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ3dEYSxHQUFHLEdvRFhqQixNQUFNO0VBbEVWLGNBQWMsQ0FnRVosZ0NBQWdDLENwQmhFbEMsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENoQ3dESCxlQUFlLENBQUMsR0FBRyxHb0RYakIsTUFBTSxDcERXZ0I7SUFDdEIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBR0gsQUFBQSxFQUFFLEUrQjlERixvQkFBb0IsRXdCcEJwQixZQUFZLENBdUNWLFVBQVUsQ0FBQyxFQUFFLEVBdkNmLFlBQVksQ0F1Q1YsVUFBVSxDNUN2Q1osaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYSxFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLEM0Q2xCaEIsWUFBWSxDQXVDVixVQUFVLEM1Q2JOLGFBQWEsRTRDMUJuQixZQUFZLENBdUNWLFVBQVUsQzVDdkNaLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ0FHbkIsS0FBSyxFQTlGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLEM0QzNGM0IsWUFBWSxDQXVDVixVQUFVLEM1Q3VESixLQUFLLEU0QzlGYixZQUFZLENBdUNWLFVBQVUsQzVDdkNaLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENBS2QsS0FBSyxFQW5IZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDNEM5R3hCLFlBQVksQ0F1Q1YsVUFBVSxDNUM0RUYsS0FBSyxFNENuSGYsWUFBWSxDQXVDVixVQUFVLENQdkNaLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssRUEvRVQsYUFBYSxDQTRFWCxtQkFBbUIsQ081RXJCLFlBQVksQ0F1Q1YsVUFBVSxDUHdDUixLQUFLLEVPL0VULFlBQVksQ0F1Q1YsVUFBVSxDSHZDWixjQUFjLENBZ0VaLGdDQUFnQyxDQUU5QixNQUFNLEVBbEVWLGNBQWMsQ0FnRVosZ0NBQWdDLENHaEVsQyxZQUFZLENBdUNWLFVBQVUsQ0gyQlIsTUFBTSxDcERnQlA7RUo5RUQsS0FBSyxFVElDLE9BQU87RVNIYixXQUFXLEVSQ08sV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtFUUEzRCxXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsR0FBRztFTnlHaEIsU0FBUyxFSC9FSSxJQUFJO0VHZ0ZqQixTQUFTLEVBQUUsVUFBZ0M7RVU1QjNDLE1BQU0sRWI3Q0ksQ0FBQztFYThDWCxPQUFPLEVidkNJLENBQUMsR2F3Q2I7O0FBRUQsQUFBQSxFQUFFLEV5Q3pGRixjQUFjLEFBTVgsc0JBQXNCLEc1Q2lGbkIsVUFBVSxDQUNaLENBQUMsRStDeEZMLFVBQVUsQUFNUCxzQkFBc0IsRy9DaUZuQixVQUFVLENBQ1osQ0FBQyxDR0NGO0VKckZELEtBQUssRVRJQyxPQUFPO0VTSGIsV0FBVyxFUkNPLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7RVFBM0QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLEdBQUc7RU55R2hCLFNBQVMsRUg5RUksSUFBSTtFRytFakIsU0FBUyxFQUFFLE1BQWdDO0VVckIzQyxNQUFNLEVibkRJLENBQUM7RWFvRFgsT0FBTyxFYjdDSSxDQUFDLEdhOENiOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsV0FBVyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENieEZYLE9BQU87RWF5RmxCLEtBQUssRWJ6Rk0sT0FBTztFYTBGbEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztFQUNoQixNQUFNLEVBQUUsS0FBSztFQUNiLE9BQU8sRUFBRSxRQUFRLEdBS2xCO0VBWkQsQUFTRSxVQVRRLENBU1IsQ0FBQyxDQUFDO0lBQ0EsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUN4R0gsQUFBQSxNQUFNLENBQUM7RUFDTCxhQUFhLEVBQUUsSUFBSSxHQTZHcEI7RUE5R0QsQUFHRSxNQUhJLEdBR0YsT0FBTyxDQUFDO0lBQ1IsVUFBVSxFZENOLE9BQU87SWNBWCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJLEdBa0RiO0lYUEMsQUFBQSxPQUFPLENXakRYLE1BQU0sR0FHRixPQUFPLEdBS04sVUFBVSxDWHlDRDtNV3ZDTixPQUFPLEVBQUUsSUFBSTtNQUNiLFdBQVcsRUFBRSxNQUFNO01BQ25CLE1BQU0sRUFBRSxJQUFJLEdYMENmO0lBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztNVzFEcEMsQUFRSSxNQVJFLEdBR0YsT0FBTyxHQUtOLFVBQVUsQ0FBQztRQUVSLE9BQU8sRUFBRSxJQUFJO1FBQ2IsV0FBVyxFQUFFLE1BQU07UUFDbkIsTUFBTSxFQUFFLElBQUksR0FFZjtJQWRMLEFBcUJJLE1BckJFLEdBR0YsT0FBTyxDQWtCUCxNQUFNLENBQUM7TUFDTCxPQUFPLEVBQUUsWUFBWSxHQWtCdEI7TUF4Q0wsQUF3Qk0sTUF4QkEsR0FHRixPQUFPLENBa0JQLE1BQU0sQUFHSCxVQUFVLENBQUM7UUFLVixPQUFPLEVBQUUsSUFBSSxHQUNkO1FYbUJILEFBQUEsT0FBTyxDV2pEWCxNQUFNLEdBR0YsT0FBTyxDQWtCUCxNQUFNLEFBR0gsVUFBVSxDWHlCSDtVV3ZCSixPQUFPLEVBQUUsS0FBSyxHWDRCbkI7UUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO1VXMURwQyxBQXdCTSxNQXhCQSxHQUdGLE9BQU8sQ0FrQlAsTUFBTSxBQUdILFVBQVUsQ0FBQztZQUVSLE9BQU8sRUFBRSxLQUFLLEdBSWpCO01BOUJQLEFBZ0NNLE1BaENBLEdBR0YsT0FBTyxDQWtCUCxNQUFNLEFBV0gsbUJBQW1CLEVBaEMxQixNQUFNLEdBR0YsT0FBTyxDQWtCUCxNQUFNLEFBWUgsZUFBZSxDQUFDO1FBS2YsT0FBTyxFQUFFLElBQUksR0FDZDtRWFVILEFBQUEsT0FBTyxDV2pEWCxNQUFNLEdBR0YsT0FBTyxDQWtCUCxNQUFNLEFBV0gsbUJBQW1CLEVYaUJ0QixPQUFPLENXakRYLE1BQU0sR0FHRixPQUFPLENBa0JQLE1BQU0sQUFZSCxlQUFlLENYZ0JSO1VXZEosT0FBTyxFQUFFLEtBQUssR1htQm5CO1FBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsTUFBTTtVVzFEckMsQUFnQ00sTUFoQ0EsR0FHRixPQUFPLENBa0JQLE1BQU0sQUFXSCxtQkFBbUIsRUFoQzFCLE1BQU0sR0FHRixPQUFPLENBa0JQLE1BQU0sQUFZSCxlQUFlLENBQUM7WUFFYixPQUFPLEVBQUUsS0FBSyxHQUlqQjtJQXZDUCxBQTBDSSxNQTFDRSxHQUdGLE9BQU8sQ0F1Q1AsWUFBWSxDQUFDO01BS1gsTUFBTSxFQUFFLE9BQU87TUFDZixPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxLQUFLO01BQ1osU0FBUyxFQUFFLElBQUk7TUFDZixVQUFVLEVBQUUsR0FBRztNQUNmLFlBQVksRUFBRSxLQUFLO01BQ25CLE9BQU8sRUFBRSxTQUFTO01BQ2xCLE9BQU8sRUFBRSxFQUFFLEdBQ1o7TVhORCxBQUFBLE9BQU8sQ1dqRFgsTUFBTSxHQUdGLE9BQU8sQ0F1Q1AsWUFBWSxDWE9GO1FXTE4sT0FBTyxFQUFFLElBQUksR1hVaEI7TUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO1FXMURwQyxBQTBDSSxNQTFDRSxHQUdGLE9BQU8sQ0F1Q1AsWUFBWSxDQUFDO1VBRVQsT0FBTyxFQUFFLElBQUksR0FXaEI7RUF2REwsQUEwREUsTUExREksR0EwREYsV0FBVyxDQUFDO0lBS1osS0FBSyxFQUFFLEtBQUs7SUFDWixVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsS0FBSztJQUNiLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLElBQUksR0FNZDtJWHhCQyxBQUFBLE9BQU8sQ1dqRFgsTUFBTSxHQTBERixXQUFXLENYVEQ7TVdXUixPQUFPLEVBQUUsS0FBSyxHWE5mO0lBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztNVzFEcEMsQUEwREUsTUExREksR0EwREYsV0FBVyxDQUFDO1FBRVYsT0FBTyxFQUFFLEtBQUssR0FhakI7SUF6RUgsQUFxRUksTUFyRUUsR0EwREYsV0FBVyxDQVdYLEVBQUUsQUFBQSxLQUFLLENBQUM7TUFDTixLQUFLLEVBQUUsS0FBSztNQUNaLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBeEVMLEFBMkVFLE1BM0VJLENBMkVKLE9BQU8sQ0FBQztJQUNOLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsTUFBTTtJQUNoQixPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxRQUFRLEdBTW5CO0VBdkZILEFBeUZFLE1BekZJLENBeUZKLDRCQUE0QixDQUFDO0lBQzNCLElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsQ0FBQztJQUNWLFlBQVksRUFBRSxJQUFJLEdBZ0JuQjtJQTdHSCxBQStGSSxNQS9GRSxDQXlGSiw0QkFBNEIsQ0FNMUIsVUFBVSxDQUFDO01BQ1QsS0FBSyxFQUFFLElBQUksR0FZWjtNQTVHTCxBQWtHTSxNQWxHQSxDQXlGSiw0QkFBNEIsQ0FNMUIsVUFBVSxDQUdSLEdBQUcsQ0FBQztRQU1GLE1BQU0sRUFBRSxJQUFJO1FBQ1osVUFBVSxFQUFFLElBQUk7UUFDaEIsS0FBSyxFQUFFLEtBQUssR0FDYjtRWDFESCxBQUFBLE9BQU8sQ1dqRFgsTUFBTSxDQXlGSiw0QkFBNEIsQ0FNMUIsVUFBVSxDQUdSLEdBQUcsQ1hqREs7VVdtREosVUFBVSxFQUFFLEtBQUs7VUFDakIsS0FBSyxFQUFFLEtBQUssR1gvQ2pCO1FBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztVVzFEcEMsQUFrR00sTUFsR0EsQ0F5RkosNEJBQTRCLENBTTFCLFVBQVUsQ0FHUixHQUFHLENBQUM7WUFFQSxVQUFVLEVBQUUsS0FBSztZQUNqQixLQUFLLEVBQUUsS0FBSyxHQU1mOztBQzNHUCxBQUFBLE1BQU0sQ0FBQztFQUNMLFVBQVUsRUFBRSxPQUFPO0VBQ25CLFVBQVUsRUFBRSxJQUFJLEdBNkpqQjtFQS9KRCxBQUlFLE1BSkksQ0FJSixNQUFNLENBQUM7SUFDTCxXQUFXLEVBQUUsSUFBSSxHQUNsQjtFQU5ILEFBUUUsTUFSSSxDQVFKLG9CQUFvQixDQUFDO0lacUdyQixTQUFTLEVIOUVJLElBQUk7SUcrRWpCLFNBQVMsRUFBRSxNQUFnQztJWXBHekMsS0FBSyxFQUFFLElBQUk7SUFDWCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLE1BQU0sR0FVbkI7SUF2QkgsQUFlSSxNQWZFLENBUUosb0JBQW9CLENBT2xCLENBQUMsQ0FBQztNQUNBLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7SUFqQkwsQUFtQkksTUFuQkUsQ0FRSixvQkFBb0IsQ0FXbEIsQ0FBQyxDQUFDO01BQ0EsS0FBSyxFQUFFLElBQUk7TUFDWCxlQUFlLEVBQUUsSUFBSSxHQUN0QjtFQXRCTCxBQXlCRSxNQXpCSSxDQXlCSiw0QkFBNEIsQ0FBQztJekJ1QzNCLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsSUFBcUM7STZCNkIzQyxPQUFPLEVBQUUsUUFBUSxHQTBFbEI7SUE5R0gsQXpCcUZNLE15QnJGQSxDQXlCSiw0QkFBNEIsQXpCNER2QixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SWF0Q0gsQUFBQSxPQUFPLENZakRYLE1BQU0sQ0F5QkosNEJBQTRCLENad0JoQjtNYmVWLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsR2lCK0MxQztNQUxELEFib0NFLE9hcENLLENZakRYLE1BQU0sQ0F5QkosNEJBQTRCLEF6QjREdkIsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lhN0JILE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVkxRHBDLEFBeUJFLE1BekJJLENBeUJKLDRCQUE0QixDQUFDO1F6QnVDM0IsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKdEVoQixPQUFzQztRSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHNkJ1RzVDO1FBOUdILEF6QnFGTSxNeUJyRkEsQ0F5QkosNEJBQTRCLEF6QjREdkIsV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lhdENILEFBQUEsT0FBTyxDWWpEWCxNQUFNLENBeUJKLDRCQUE0QixDWndCaEI7TWJlVixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdpQitDMUM7TUFMRCxBYm9DRSxPYXBDSyxDWWpEWCxNQUFNLENBeUJKLDRCQUE0QixBekI0RHZCLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJYTdCSCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO01ZMURwQyxBQXlCRSxNQXpCSSxDQXlCSiw0QkFBNEIsQ0FBQztRekJ1QzNCLEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7UUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsRzZCdUc1QztRQTlHSCxBekJxRk0sTXlCckZBLENBeUJKLDRCQUE0QixBekI0RHZCLFdBQVcsQ0FBQztVQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJeUJ2RlAsQUFzQ0ksTUF0Q0UsQ0F5QkosNEJBQTRCLENBYTFCLEVBQUUsRUF0Q04sTUFBTSxDQXlCSiw0QkFBNEIsQ2tENUI5QixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFEdkMsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENsREV0QixNQUFNLENBeUJKLDRCQUE0QixDa0QzQlAsZ0JBQWdCLENsRHdDaEM7TUFDRCxTQUFTLEVBQUUsSUFBSTtNQUNmLFdBQVcsRUFBRSxHQUFHO01BQ2hCLE9BQU8sRUFBRSxDQUFDO01BQ1YsTUFBTSxFQUFFLENBQUM7TUFDVCxjQUFjLEVBQUUsU0FBUztNQUN6QixNQUFNLEVBQUUsSUFBSSxHQUNiO0lBN0NMLEFBK0NJLE1BL0NFLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLENBQUM7TVo4RHJCLFNBQVMsRUg5RUksSUFBSTtNRytFakIsU0FBUyxFQUFFLE1BQWdDO01iOUN6QyxLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDLEc2QnNHMUM7TUE3R0wsQXpCcUZNLE15QnJGQSxDQXlCSiw0QkFBNEIsQ0FzQjFCLGtCQUFrQixBekJzQ2YsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO015QnZGUCxBQW1ETSxNQW5EQSxDQXlCSiw0QkFBNEIsQ0FzQjFCLGtCQUFrQixHQUlaLGtCQUFrQixDQUFDO1EzQkN2QixZQUFvQixFQUFTLENBQUMsRzJCQzdCO01BckRQLEFBdURNLE1BdkRBLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLEdBUVosa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFDMUMsT0FBTyxFQUFFLElBQUksR0FDZDtNWlJILEFBQUEsT0FBTyxDWWpEWCxNQUFNLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLENaRVI7UWJlVixLQUFLLEVBQUMsSUFBQztRQUdMLE9BQU8sRUFBRSxLQUFLO1FBZWQsWUFBb0IsRUp0RWhCLFFBQXNDO1FJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdpQitDMUM7UUFMRCxBYm9DRSxPYXBDSyxDWWpEWCxNQUFNLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLEF6QnNDZixXQUFXLENBQUM7VUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7UWF0Q0gsQVlhSSxPWmJHLENZakRYLE1BQU0sQ0F5QkosNEJBQTRCLENBc0IxQixrQkFBa0IsR0FlVixrQkFBa0IsQ0FBQztVQUNyQixZQUFZLEU3Qm5EWixRQUFzQyxHNkJvRHZDO1FaZkwsQVlpQkksT1pqQkcsQ1lqRFgsTUFBTSxDQXlCSiw0QkFBNEIsQ0FzQjFCLGtCQUFrQixHQW1CVixrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztVM0JkOUMsWUFBb0IsRUFBUyxDQUFDO1UyQmdCMUIsT0FBTyxFQUFFLEtBQUssR0FDZjtNWlhMLE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7UVkxRHBDLEFBK0NJLE1BL0NFLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLENBQUM7VXpCaUJuQixLQUFLLEVBQUMsSUFBQztVQUdMLE9BQU8sRUFBRSxLQUFLO1VBZWQsWUFBb0IsRUp0RWhCLFFBQXNDO1VJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEc2QnNHMUM7VUE3R0wsQXpCcUZNLE15QnJGQSxDQXlCSiw0QkFBNEIsQ0FzQjFCLGtCQUFrQixBekJzQ2YsV0FBVyxDQUFDO1lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO1V5QnZGUCxBQW1ETSxNQW5EQSxDQXlCSiw0QkFBNEIsQ0FzQjFCLGtCQUFrQixHQUlaLGtCQUFrQixDQVdHO1lBQ3JCLFlBQVksRTdCbkRaLFFBQXNDLEc2Qm9EdkM7VUFoRVQsQUF1RE0sTUF2REEsQ0F5QkosNEJBQTRCLENBc0IxQixrQkFBa0IsR0FRWixrQkFBa0IsR0FBRyxrQkFBa0IsQ0FXRztZM0JkOUMsWUFBb0IsRUFBUyxDQUFDO1kyQmdCMUIsT0FBTyxFQUFFLEtBQUssR0FDZjtNQXJFVCxBQXdFTSxNQXhFQSxDQXlCSiw0QkFBNEIsQ0FzQjFCLGtCQUFrQixDQXlCaEIsQ0FBQyxDQUFDO1FBQ0EsZUFBZSxFQUFFLElBQUksR0FDdEI7TUExRVAsQUE0RU0sTUE1RUEsQ0F5QkosNEJBQTRCLENBc0IxQixrQkFBa0IsQ0E2QmhCLEVBQUUsRUE1RVIsTUFBTSxDQXlCSiw0QkFBNEIsQ0FzQjFCLGtCQUFrQixDU2xEdEIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYSxFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENUZmhCLE1BQU0sQ0F5QkosNEJBQTRCLENBc0IxQixrQkFBa0IsQ1N4QmhCLGFBQWEsRVR2Qm5CLE1BQU0sQ0F5QkosNEJBQTRCLENBc0IxQixrQkFBa0IsQ1NsRHRCLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ0FHbkIsS0FBSyxFQTlGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENUeEYzQixNQUFNLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLENTNENkLEtBQUssRVQzRmIsTUFBTSxDQXlCSiw0QkFBNEIsQ0FzQjFCLGtCQUFrQixDU2xEdEIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ0FLZCxLQUFLLEVBbkhmLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENUM0d4QixNQUFNLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLENTaUVaLEtBQUssRVRoSGYsTUFBTSxDQXlCSiw0QkFBNEIsQ0FzQjFCLGtCQUFrQixDOENsRHRCLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssRUEvRVQsYUFBYSxDQTRFWCxtQkFBbUIsQzlDekVyQixNQUFNLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLEM4QzZCbEIsS0FBSyxFOUM1RVQsTUFBTSxDQXlCSiw0QkFBNEIsQ0FzQjFCLGtCQUFrQixDa0RsRHRCLGNBQWMsQ0FnRVosZ0NBQWdDLENBRTlCLE1BQU0sRUFsRVYsY0FBYyxDQWdFWixnQ0FBZ0MsQ2xEN0RsQyxNQUFNLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLENrRGdCbEIsTUFBTSxDbERhRDtRWmlDUCxTQUFTLEVIeEZNLElBQUk7UUd5Rm5CLFNBQVMsRUFBRSxJQUFnQztRWWhDckMsT0FBTyxFQUFFLEtBQUs7UUFDZCxVQUFVLEVBQUUsSUFBSSxHQUNqQjtNQWhGUCxBQWtGTSxNQWxGQSxDQXlCSiw0QkFBNEIsQ0FzQjFCLGtCQUFrQixDQW1DaEIsb0JBQW9CLENBQUM7UVoyQnpCLFNBQVMsRUg5RUksSUFBSTtRRytFakIsU0FBUyxFQUFFLE1BQWdDO1FZMUJyQyxPQUFPLEVBQUUsTUFBTTtRQUNmLGNBQWMsRUFBRSxTQUFTLEdBRTFCO01BdkZQLEFBeUZNLE1BekZBLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLENBMENoQixlQUFlO01BekZyQixNQUFNLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLENBMkNoQixtQkFBbUIsQ0FBQztRWm1CeEIsU0FBUyxFSDlFSSxJQUFJO1FHK0VqQixTQUFTLEVBQUUsTUFBZ0M7UVlsQnJDLEtBQUssRWZ2RkwsT0FBTztRZXdGUCxXQUFXLEVBQUUsR0FBRztRQUNoQixPQUFPLEVBQUUsTUFBTTtRQUNmLGNBQWMsRUFBRSxTQUFTLEdBSzFCO1FBcEdQLEFBaUdRLE1BakdGLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLENBMENoQixlQUFlLENBUWIsSUFBSTtRQWpHWixNQUFNLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLENBMkNoQixtQkFBbUIsQ0FPakIsSUFBSSxDQUFDO1VBQ0gsT0FBTyxFQUFFLFlBQVksR0FDdEI7TUFuR1QsQUF5R1EsTUF6R0YsQ0F5QkosNEJBQTRCLENBc0IxQixrQkFBa0IsQ0F1RGhCLG9CQUFvQixHQUFHLG1CQUFtQixBQUd2QyxPQUFPO01BekdoQixNQUFNLENBeUJKLDRCQUE0QixDQXNCMUIsa0JBQWtCLENBd0RoQixvQkFBb0IsR0FBRyxtQkFBbUIsR0FBRyxlQUFlLEFBRXpELE9BQU87TUF6R2hCLE1BQU0sQ0F5QkosNEJBQTRCLENBc0IxQixrQkFBa0IsQ0F5RGhCLG9CQUFvQixHQUFHLGVBQWUsQUFDbkMsT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLEtBQUssR0FDZjtFQTNHVCxBQWdIRSxNQWhISSxDQWdISiw0QkFBNEIsR0FBRyxvQkFBb0IsQ0FBQztJekJoRGxELEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsSUFBcUM7STZCMEgzQyxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFVBQVUsRUFBRSxJQUFJLEdBMkJqQjtJQTlKSCxBekJxRk0sTXlCckZBLENBZ0hKLDRCQUE0QixHQUFHLG9CQUFvQixBekIzQjlDLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJYXRDSCxBQUFBLE9BQU8sQ1lqRFgsTUFBTSxDQWdISiw0QkFBNEIsR0FBRyxvQkFBb0IsQ1ovRHZDO01iZVYsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKdEVoQixPQUFzQztNSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHaUIrQzFDO01BTEQsQWJvQ0UsT2FwQ0ssQ1lqRFgsTUFBTSxDQWdISiw0QkFBNEIsR0FBRyxvQkFBb0IsQXpCM0I5QyxXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SWE3QkgsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztNWTFEcEMsQUFnSEUsTUFoSEksQ0FnSEosNEJBQTRCLEdBQUcsb0JBQW9CLENBQUM7UXpCaERsRCxLQUFLLEVBQUMsSUFBQztRQUdMLE9BQU8sRUFBRSxLQUFLO1FBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO1FJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEc2QnVKNUM7UUE5SkgsQXpCcUZNLE15QnJGQSxDQWdISiw0QkFBNEIsR0FBRyxvQkFBb0IsQXpCM0I5QyxXQUFXLENBQUM7VUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SWF0Q0gsQUFBQSxPQUFPLENZakRYLE1BQU0sQ0FnSEosNEJBQTRCLEdBQUcsb0JBQW9CLENaL0R2QztNYmVWLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7TUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHZUUvQjtNQUxELEFib0NFLE9hcENLLENZakRYLE1BQU0sQ0FnSEosNEJBQTRCLEdBQUcsb0JBQW9CLEF6QjNCOUMsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lhN0JILE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVkxRHBDLEFBZ0hFLE1BaEhJLENBZ0hKLDRCQUE0QixHQUFHLG9CQUFvQixDQUFDO1F6QmhEbEQsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKdEVoQixPQUFzQztRSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztRRTZDekMsWUFBb0IsRUFBUyxDQUFDLEcyQjBHakM7UUE5SkgsQXpCcUZNLE15QnJGQSxDQWdISiw0QkFBNEIsR0FBRyxvQkFBb0IsQXpCM0I5QyxXQUFXLENBQUM7VUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SWF0Q0gsQUFBQSxPQUFPLENZakRYLE1BQU0sQ0FnSEosNEJBQTRCLEdBQUcsb0JBQW9CLENaL0R2QztNYmVWLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7TUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHZUUvQjtNQUxELEFib0NFLE9hcENLLENZakRYLE1BQU0sQ0FnSEosNEJBQTRCLEdBQUcsb0JBQW9CLEF6QjNCOUMsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lhN0JILE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVkxRHBDLEFBZ0hFLE1BaEhJLENBZ0hKLDRCQUE0QixHQUFHLG9CQUFvQixDQUFDO1F6QmhEbEQsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKdEVoQixPQUFzQztRSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztRRTZDekMsWUFBb0IsRUFBUyxDQUFDLEcyQjBHakM7UUE5SkgsQXpCcUZNLE15QnJGQSxDQWdISiw0QkFBNEIsR0FBRyxvQkFBb0IsQXpCM0I5QyxXQUFXLENBQUM7VUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SXlCdkZQLEFBcUlJLE1BcklFLENBZ0hKLDRCQUE0QixHQUFHLG9CQUFvQixDQXFCakQsR0FBRyxDQUFDO01BQ0YsT0FBTyxFQUFFLEtBQUs7TUFDZCxNQUFNLEVBQUUsSUFBSTtNQUNaLEtBQUssRUFBRSxJQUFJLEdBQ1o7SUF6SUwsQUE0SU0sTUE1SUEsQ0FnSEosNEJBQTRCLEdBQUcsb0JBQW9CLENBMkJqRCxtQkFBbUIsQ0FDakIsQ0FBQyxDQUFDO01aL0JOLFNBQVMsRUh4Rk0sSUFBSTtNR3lGbkIsU0FBUyxFQUFFLElBQWdDO01HNUczQyxVQUFVLEVOSUMsT0FBTztNTUhsQixNQUFNLEVBQUUsQ0FBQztNQUNULFVBQVUsRUFBRSxJQUFJO01BQ2hCLEtBQUssRUFBRSxJQUFJO01BQ1gsV0FBVyxFQUFFLEdBQUc7TUFDaEIsT0FBTyxFQUFFLFlBQVk7TUFDckIsV0FBVyxFQUFFLENBQUM7TUFDZCxPQUFPLEVBQUUsWUFBWTtNQUNyQixlQUFlLEVBQUUsSUFBSTtNQUNyQixXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsU0FBUztNQUN6QixVQUFVLEVBQUUsMkNBQTJDO01BQ3ZELGFBQWEsRUFBRSwyQ0FBMkM7TUFDMUQsY0FBYyxFQUFFLDJDQUEyQztNQUMzRCxzQkFBc0IsRUFBRSxXQUFXO01TOEg3QixPQUFPLEVBQUUsS0FBSztNQUNkLE9BQU8sRUFBRSxtQkFBbUI7TUFDNUIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsVUFBVSxFQUFFLElBQUksR0FXakI7TUE1SlAsQVRrQkUsTVNsQkksQ0FnSEosNEJBQTRCLEdBQUcsb0JBQW9CLENBMkJqRCxtQkFBbUIsQ0FDakIsQ0FBQyxBVDFISixPQUFPLEVTbEJWLE1BQU0sQ0FnSEosNEJBQTRCLEdBQUcsb0JBQW9CLENBMkJqRCxtQkFBbUIsQ0FDakIsQ0FBQyxBVHpISixNQUFNLEVTbkJULE1BQU0sQ0FnSEosNEJBQTRCLEdBQUcsb0JBQW9CLENBMkJqRCxtQkFBbUIsQ0FDakIsQ0FBQyxBVHhISixNQUFNLENBQUM7UUFDTixVQUFVLEVOaEJOLE9BQU87UU1pQlgsS0FBSyxFTmxCSSxJQUFJO1FNbUJiLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TVN4QkgsQUFtSlEsTUFuSkYsQ0FnSEosNEJBQTRCLEdBQUcsb0JBQW9CLENBMkJqRCxtQkFBbUIsQ0FDakIsQ0FBQyxBQU9FLE1BQU0sQ0FBQztRZGpJZCxXQUFXLEVBQUUsb0JBQW9CO1FBQ2pDLEtBQUssRUFBRSxJQUFJO1FBQ1gsVUFBVSxFQUFFLE1BQU07UUFDbEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsWUFBWSxFQUFFLE1BQU07UUFDcEIsY0FBYyxFQUFFLElBQUk7UUFDcEIsV0FBVyxFQUFFLENBQUM7UUFDZCxzQkFBc0IsRUFBRSxXQUFXO1FBQ25DLHVCQUF1QixFQUFFLFNBQVM7UWM0SDFCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsUUFBUSxFQUFFLFFBQVE7UUFDbEIsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLEVBQUUsR0FBRztRQUNSLFVBQVUsRUFBRSxLQUFLLEdBQ2xCOztBQVFULEFBQUEsa0NBQWtDO0FBQ2xDLGlDQUFpQztBQUNqQyxpQ0FBaUMsQ0FBQztFQUNoQyxnQkFBZ0IsRUFBRSxJQUFJO0VaekR0QixTQUFTLEVIeEZNLElBQUk7RUd5Rm5CLFNBQVMsRUFBRSxJQUFnQztFRzVHM0MsVUFBVSxFTklDLE9BQU87RU1IbEIsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsSUFBSTtFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRUFBRSxDQUFDO0VBQ2QsT0FBTyxFQUFFLFlBQVk7RUFDckIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLFNBQVM7RUFDekIsVUFBVSxFQUFFLDJDQUEyQztFQUN2RCxhQUFhLEVBQUUsMkNBQTJDO0VBQzFELGNBQWMsRUFBRSwyQ0FBMkM7RUFDM0Qsc0JBQXNCLEVBQUUsV0FBVztFU3dKbkMsYUFBYSxFQUFFLENBQUM7RUFDaEIsVUFBVSxFQUFFLENBQUM7RUFDYixXQUFXLEVkeEtNLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsR2N5SzNEO0VBUkQsQVRqSkUsa0NTaUpnQyxBVGpKL0IsT0FBTyxFU2lKVixrQ0FBa0MsQVRoSi9CLE1BQU0sRVNnSlQsa0NBQWtDLEFUL0kvQixNQUFNO0VTZ0pULGlDQUFpQyxBVGxKOUIsT0FBTztFU2tKVixpQ0FBaUMsQVRqSjlCLE1BQU07RVNpSlQsaUNBQWlDLEFUaEo5QixNQUFNO0VTaUpULGlDQUFpQyxBVG5KOUIsT0FBTztFU21KVixpQ0FBaUMsQVRsSjlCLE1BQU07RVNrSlQsaUNBQWlDLEFUako5QixNQUFNLENBQUM7SUFDTixVQUFVLEVOaEJOLE9BQU87SU1pQlgsS0FBSyxFTmxCSSxJQUFJO0lNbUJiLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FTcUpILEFBQUEsNkJBQTZCLENBQUM7RUFDNUIsY0FBYyxFQUFFLElBQUksR0FJckI7RVpqSUcsQUFBQSxPQUFPLENZNEhYLDZCQUE2QixDWjVIZjtJWStIVixhQUFhLEVBQUUsSUFBSSxHWjFIbEI7RUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0lZbUhwQyxBQUFBLDZCQUE2QixDQUFDO01BRzFCLGFBQWEsRUFBRSxJQUFJLEdBRXRCOztBQUVELEFBQUEsNkJBQTZCLENBQUMsQ0FBQyxDQUFDO0VBQzlCLFdBQVcsRWRuTE0sV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtFY29MMUQsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRyxHQUNqQjs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLE9BQU8sRUFBRSxNQUFNLEdBRWhCOztBQUVELEFBQUEsNkJBQTZCLENBQUM7RUFDNUIsTUFBTSxFQUFFLFVBQVU7RUFDbEIsT0FBTyxFQUFFLElBQUksR0FDZDs7QUNsTUQsQUFFRSxNQUZJLENBRUosRUFBRSxBQUFBLE1BQU07QUFGVixNQUFNLENBR0osRUFBRSxBQUFBLEtBQUssQ0FBQztFQUNOLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FrQlg7RUF4QkgsQUFRSSxNQVJFLENBRUosRUFBRSxBQUFBLE1BQU0sR0FNTCxFQUFFO0VBUlAsTUFBTSxDQUdKLEVBQUUsQUFBQSxLQUFLLEdBS0osRUFBRSxDQUFDO0lBQ0YsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDLEdBWVg7SUF2QkwsQUFhTSxNQWJBLENBRUosRUFBRSxBQUFBLE1BQU0sR0FNTCxFQUFFLEdBS0EsQ0FBQztJQWJSLE1BQU0sQ0FHSixFQUFFLEFBQUEsS0FBSyxHQUtKLEVBQUUsR0FLQSxDQUFDLENBQUM7TUFDRCxlQUFlLEVBQUUsSUFBSTtNQUNyQixPQUFPLEVBQUUsS0FBSyxHQU9mO01BdEJQLEFBaUJRLE1BakJGLENBRUosRUFBRSxBQUFBLE1BQU0sR0FNTCxFQUFFLEdBS0EsQ0FBQyxBQUlDLE1BQU0sRUFqQmYsTUFBTSxDQUVKLEVBQUUsQUFBQSxNQUFNLEdBTUwsRUFBRSxHQUtBLENBQUMsQUFLQyxNQUFNLEVBbEJmLE1BQU0sQ0FFSixFQUFFLEFBQUEsTUFBTSxHQU1MLEVBQUUsR0FLQSxDQUFDLEFBTUMsT0FBTztNQW5CaEIsTUFBTSxDQUdKLEVBQUUsQUFBQSxLQUFLLEdBS0osRUFBRSxHQUtBLENBQUMsQUFJQyxNQUFNO01BakJmLE1BQU0sQ0FHSixFQUFFLEFBQUEsS0FBSyxHQUtKLEVBQUUsR0FLQSxDQUFDLEFBS0MsTUFBTTtNQWxCZixNQUFNLENBR0osRUFBRSxBQUFBLEtBQUssR0FLSixFQUFFLEdBS0EsQ0FBQyxBQU1DLE9BQU8sQ0FBQztRQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FGckJULEFBR0UsTUFISSxHQUdGLE9BQU8sQ0V1QkM7RUFDUixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxJQUFJLEdBOEdaO0VBM0lILEFBK0JJLE1BL0JFLEdBMEJGLE9BQU8sQ0FLUCxFQUFFLEFBQUEsS0FBSyxDQUFDO0lBQ04sUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLEdBQUc7SUFDWixnQkFBZ0IsRUFBRSxHQUFHLEdBMkJ0QjtJQTdETCxBQW9DTSxNQXBDQSxHQTBCRixPQUFPLENBS1AsRUFBRSxBQUFBLEtBQUssQ0FLTCxFQUFFLENBQUMsQ0FBQyxDQUFDO01ieUVULFNBQVMsRWF4RXdCLElBQUk7TWJ5RXJDLFNBQVMsRUFBRSxVQUFnQztNYWxFckMsS0FBSyxFQUFFLE9BQU87TUFDZCxXQUFXLEVBQUUsR0FBRztNQUNoQixjQUFjLEVBQUUsU0FBUztNQUN6QixPQUFPLEVBQUUsUUFBUSxHQU9sQjtNYkxILEFBQUEsT0FBTyxDYWpEWCxNQUFNLEdBMEJGLE9BQU8sQ0FLUCxFQUFFLEFBQUEsS0FBSyxDQUtMLEVBQUUsQ0FBQyxDQUFDLENiYUk7UUE0RFosU0FBUyxFYXJFMEIsSUFBSTtRYnNFdkMsU0FBUyxFQUFFLE1BQWdDO1FhckVuQyxPQUFPLEVBQUUsU0FBUyxHYmF2QjtNQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLE1BQU07UWExRHJDLEFBb0NNLE1BcENBLEdBMEJGLE9BQU8sQ0FLUCxFQUFFLEFBQUEsS0FBSyxDQUtMLEVBQUUsQ0FBQyxDQUFDLENBQUM7VWJ5RVQsU0FBUyxFYXJFMEIsSUFBSTtVYnNFdkMsU0FBUyxFQUFFLE1BQWdDO1VhckVuQyxPQUFPLEVBQUUsU0FBUyxHQWFyQjtNQXREUCxBQWlEUSxNQWpERixHQTBCRixPQUFPLENBS1AsRUFBRSxBQUFBLEtBQUssQ0FLTCxFQUFFLENBQUMsQ0FBQyxBQWFELE1BQU0sRUFqRGYsTUFBTSxHQTBCRixPQUFPLENBS1AsRUFBRSxBQUFBLEtBQUssQ0FLTCxFQUFFLENBQUMsQ0FBQyxBQWNELE1BQU0sRUFsRGYsTUFBTSxHQTBCRixPQUFPLENBS1AsRUFBRSxBQUFBLEtBQUssQ0FLTCxFQUFFLENBQUMsQ0FBQyxBQWVELE9BQU8sQ0FBQztRQUNQLGVBQWUsRUFBRSxTQUFTLEdBQzNCO0lBckRULEFBeURRLE1BekRGLEdBMEJGLE9BQU8sQ0FLUCxFQUFFLEFBQUEsS0FBSyxDQXlCTCxFQUFFLEFBQUEsd0JBQXdCLENBQ3hCLENBQUMsQ0FBQztNQUNBLGVBQWUsRUFBRSxvQkFBb0IsR0FDdEM7RUEzRFQsQUErREksTUEvREUsR0EwQkYsT0FBTyxDQXFDUCxtQkFBbUIsQ0FBQztJQUNsQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQWpFTCxBQW1FSSxNQW5FRSxHQTBCRixPQUFPLENBeUNQLDZCQUE2QixDQUFDO0lBQzVCLEtBQUssRUFBRSxLQUFLO0lBQ1osT0FBTyxFQUFFLE1BQU07SUFDZixRQUFRLEVBQUUsUUFBUSxHQW1DbkI7SWJ4REQsQUFBQSxPQUFPLENhakRYLE1BQU0sR0EwQkYsT0FBTyxDQXlDUCw2QkFBNkIsQ2JsQm5CO01hd0JOLEtBQUssRUFBRSxJQUFJLEdibkJkO0lBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztNYTFEcEMsQUFtRUksTUFuRUUsR0EwQkYsT0FBTyxDQXlDUCw2QkFBNkIsQ0FBQztRQU0xQixLQUFLLEVBQUUsSUFBSSxHQWdDZDtJQXpHTCxBQTRFTSxNQTVFQSxHQTBCRixPQUFPLENBeUNQLDZCQUE2QixDQVMzQixJQUFJLENBQUM7TUFDSCxPQUFPLEVBQUUsaUJBQWlCO01BQzFCLEtBQUssRUFBRSxJQUFJO01BQ1gsS0FBSyxFaEIxRUwsT0FBTztNZ0IyRVAsVUFBVSxFQUFFLHdCQUF3QixDaEJ0RXBDLElBQUksQ2dCc0V3QyxTQUFTO01BQ3JELG1CQUFtQixFQUFFLGlCQUFpQixHQXVCdkM7TWJ2REgsQUFBQSxPQUFPLENhakRYLE1BQU0sR0EwQkYsT0FBTyxDQXlDUCw2QkFBNkIsQ0FTM0IsSUFBSSxDYjNCSTtRYW1DSixLQUFLLEVBQUUsS0FBSyxHYjlCakI7TUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO1FhMURwQyxBQTRFTSxNQTVFQSxHQTBCRixPQUFPLENBeUNQLDZCQUE2QixDQVMzQixJQUFJLENBQUM7VUFRRCxLQUFLLEVBQUUsS0FBSyxHQW9CZjtNQXhHUCxBQXVGUSxNQXZGRixHQTBCRixPQUFPLENBeUNQLDZCQUE2QixDQVMzQixJQUFJLENBV0YsS0FBSyxBQUFBLE9BQU8sQ0FBQztRQUNYLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsQ0FBQztRQUNWLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEtBQUssRUFBRSxJQUFJO1FBQ1gsR0FBRyxFQUFFLElBQUk7UUFDVCxLQUFLLEVBQUUsSUFBSSxHQUNaO01BakdULEFBbUdRLE1BbkdGLEdBMEJGLE9BQU8sQ0F5Q1AsNkJBQTZCLENBUzNCLElBQUksQ0F1QkYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQUFhO1FBQ2pCLE9BQU8sRUFBRSxDQUFDO1FBQ1YsTUFBTSxFQUFFLENBQUM7UUFDVCxTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQXZHVCxBQTJHSSxNQTNHRSxHQTBCRixPQUFPLENBaUZQLGVBQWUsQ0FBQztJQUNkLEtBQUssRUFBRSxLQUFLO0lBQ1osV0FBVyxFQUFFLElBQUksR0FTbEI7SWJyRUQsQUFBQSxPQUFPLENhakRYLE1BQU0sR0EwQkYsT0FBTyxDQWlGUCxlQUFlLENiMURMO01hK0ROLEtBQUssRUFBRSxJQUFJLEdiMURkO0lBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztNYTFEcEMsQUEyR0ksTUEzR0UsR0EwQkYsT0FBTyxDQWlGUCxlQUFlLENBQUM7UUFLWixLQUFLLEVBQUUsSUFBSSxHQU1kO0lBdEhMLEFBbUhNLE1BbkhBLEdBMEJGLE9BQU8sQ0FpRlAsZUFBZSxDQVFiLENBQUMsQ0FBQztNQUNBLE9BQU8sRUFBRSxtQkFBbUIsR0FDN0I7RUFySFAsQUF5SE0sTUF6SEEsR0EwQkYsT0FBTyxDQThGUCxtQkFBbUIsQ0FDakIsRUFBRSxBQUFBLEtBQUssQ0FBQztJQUNOLE9BQU8sRUFBRSxLQUFLO0lBQ2QsT0FBTyxFQUFFLFVBQVUsR0FjcEI7SUF6SVAsQUE2SFEsTUE3SEYsR0EwQkYsT0FBTyxDQThGUCxtQkFBbUIsQ0FDakIsRUFBRSxBQUFBLEtBQUssQ0FJTCxDQUFDLENBQUM7TUFDQSxTQUFTLEVBQUUsQ0FBQztNQUNaLE9BQU8sRUFBRSxRQUFRLEdBU2xCO01BeElULEFBaUlVLE1BaklKLEdBMEJGLE9BQU8sQ0E4RlAsbUJBQW1CLENBQ2pCLEVBQUUsQUFBQSxLQUFLLENBSUwsQ0FBQyxBQUlFLE1BQU0sQ0FBQztRQUNOLGVBQWUsRUFBRSxJQUFJLEdBQ3RCO01BbklYLEFBcUlVLE1BcklKLEdBMEJGLE9BQU8sQ0E4RlAsbUJBQW1CLENBQ2pCLEVBQUUsQUFBQSxLQUFLLENBSUwsQ0FBQyxBQVFFLE9BQU8sQ0FBQztRYnhCakIsU0FBUyxFYXlCNEIsSUFBSTtRYnhCekMsU0FBUyxFQUFFLE1BQWdDLEdheUJsQzs7QUZ2SVgsQUEwREUsTUExREksR0EwREYsV0FBVyxDRW1GQztFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUksR0E4Q1o7RUY5TEgsQUFxRUksTUFyRUUsR0EwREYsV0FBVyxDQVdYLEVBQUUsQUFBQSxLQUFLLENFNkVDO0lBQ04sWUFBWSxFQUFFLEtBQUssR0EwQ3BCO0liNUlELEFBQUEsT0FBTyxDYWpEWCxNQUFNLEdBNklGLFdBQVcsQ0FLWCxFQUFFLEFBQUEsS0FBSyxDYmpHRztNYXFHTixZQUFZLEVBQUUsS0FBSyxHYmhHdEI7SUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxNQUFNO01XMURyQyxBQXFFSSxNQXJFRSxHQTBERixXQUFXLENBV1gsRUFBRSxBQUFBLEtBQUssQ0U2RUM7UUFJSixZQUFZLEVBQUUsS0FBSyxHQXVDdEI7SUE3TEwsQUEwSlEsTUExSkYsR0E2SUYsV0FBVyxDQUtYLEVBQUUsQUFBQSxLQUFLLENBT0wsRUFBRSxDQUNBLENBQUMsQ0FBQztNYjdDUixTQUFTLEVhOEMwQixJQUFJO01iN0N2QyxTQUFTLEVBQUUsVUFBZ0M7TWEyRG5DLEtBQUssRWhCcEtQLE9BQU87TWdCcUtMLFdBQVcsRUFBRSxHQUFHO01BQ2hCLE9BQU8sRUFBRSxTQUFTLEdBVW5CO01icElMLEFBQUEsT0FBTyxDYWpEWCxNQUFNLEdBNklGLFdBQVcsQ0FLWCxFQUFFLEFBQUEsS0FBSyxDQU9MLEVBQUUsQ0FDQSxDQUFDLENiekdLO1FBNERaLFNBQVMsRWFpRDRCLElBQUk7UWJoRHpDLFNBQVMsRUFBRSxVQUFnQyxHQXhEeEM7TUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO1FhMURwQyxBQTBKUSxNQTFKRixHQTZJRixXQUFXLENBS1gsRUFBRSxBQUFBLEtBQUssQ0FPTCxFQUFFLENBQ0EsQ0FBQyxDQUFDO1ViN0NSLFNBQVMsRWFpRDRCLElBQUk7VWJoRHpDLFNBQVMsRUFBRSxVQUFnQyxHYXVFcEM7TWJwSUwsQUFBQSxPQUFPLENhakRYLE1BQU0sR0E2SUYsV0FBVyxDQUtYLEVBQUUsQUFBQSxLQUFLLENBT0wsRUFBRSxDQUNBLENBQUMsQ2J6R0s7UUE0RFosU0FBUyxFYXFENEIsSUFBSTtRYnBEekMsU0FBUyxFQUFFLE1BQWdDLEdBeER4QztNQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLE1BQU07UWExRHJDLEFBMEpRLE1BMUpGLEdBNklGLFdBQVcsQ0FLWCxFQUFFLEFBQUEsS0FBSyxDQU9MLEVBQUUsQ0FDQSxDQUFDLENBQUM7VWI3Q1IsU0FBUyxFYXFENEIsSUFBSTtVYnBEekMsU0FBUyxFQUFFLE1BQWdDLEdhdUVwQztNYnBJTCxBQUFBLE9BQU8sQ2FqRFgsTUFBTSxHQTZJRixXQUFXLENBS1gsRUFBRSxBQUFBLEtBQUssQ0FPTCxFQUFFLENBQ0EsQ0FBQyxDYnpHSztRYXFIRixPQUFPLEVBQUUsU0FBUyxHYmhIekI7TUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxNQUFNO1FhMURyQyxBQTBKUSxNQTFKRixHQTZJRixXQUFXLENBS1gsRUFBRSxBQUFBLEtBQUssQ0FPTCxFQUFFLENBQ0EsQ0FBQyxDQUFDO1VBWUUsT0FBTyxFQUFFLFNBQVMsR0FlckI7TUFyTFQsQUE2S1UsTUE3S0osR0E2SUYsV0FBVyxDQUtYLEVBQUUsQUFBQSxLQUFLLENBT0wsRUFBRSxDQUNBLENBQUMsQUFtQkUsTUFBTSxFQTdLakIsTUFBTSxHQTZJRixXQUFXLENBS1gsRUFBRSxBQUFBLEtBQUssQ0FPTCxFQUFFLENBQ0EsQ0FBQyxBQW9CRSxNQUFNLEVBOUtqQixNQUFNLEdBNklGLFdBQVcsQ0FLWCxFQUFFLEFBQUEsS0FBSyxDQU9MLEVBQUUsQ0FDQSxDQUFDLEFBcUJFLE9BQU8sQ0FBQztRQUNQLEtBQUssRWhCMUtKLE9BQU87UWdCMktSLGVBQWUsRUFBRSxTQUFTO1FBQzFCLHFCQUFxQixFQUFFLEdBQUc7UUFDMUIscUJBQXFCLEVoQmxLVCxPQUF3QixHZ0JtS3JDO0lBcExYLEFBd0xVLE1BeExKLEdBNklGLFdBQVcsQ0FLWCxFQUFFLEFBQUEsS0FBSyxDQU9MLEVBQUUsQUE4QkMsd0JBQXdCLENBQ3ZCLENBQUMsQ0FBQztNQUNBLEtBQUssRWhCbkxKLE9BQU8sR2dCb0xUOztBQU9YLEFBR00sUUFIRSxDQUFDLEtBQUssQ0FDWixXQUFXLEFBQUEsVUFBVSxDQUNuQixFQUFFLEFBQUEsd0JBQXdCLENBQ3hCLENBQUMsQ0FBQztFQUNBLEtBQUssRWhCL0xBLE9BQU8sR2dCZ01iOztBQUtQLEFBR0UsUUFITSxDQUFDLEtBQUssQ0FHWixFQUFFLEFBQUEsTUFBTTtBQUhWLFFBQVEsQ0FBQyxLQUFLLENBSVosRUFBRSxBQUFBLEtBQUs7QUFIVCxZQUFZLENBRVYsRUFBRSxBQUFBLE1BQU07QUFGVixZQUFZLENBR1YsRUFBRSxBQUFBLEtBQUssQ0FBQztFQUNOLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FpQlg7RUF4QkgsQUFTSSxRQVRJLENBQUMsS0FBSyxDQUdaLEVBQUUsQUFBQSxNQUFNLEdBTUwsRUFBRTtFQVRQLFFBQVEsQ0FBQyxLQUFLLENBSVosRUFBRSxBQUFBLEtBQUssR0FLSixFQUFFO0VBUlAsWUFBWSxDQUVWLEVBQUUsQUFBQSxNQUFNLEdBTUwsRUFBRTtFQVJQLFlBQVksQ0FHVixFQUFFLEFBQUEsS0FBSyxHQUtKLEVBQUUsQ0FBQztJQUNGLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUMsR0FZWDtJQXZCTCxBQWFNLFFBYkUsQ0FBQyxLQUFLLENBR1osRUFBRSxBQUFBLE1BQU0sR0FNTCxFQUFFLEdBSUEsQ0FBQztJQWJSLFFBQVEsQ0FBQyxLQUFLLENBSVosRUFBRSxBQUFBLEtBQUssR0FLSixFQUFFLEdBSUEsQ0FBQztJQVpSLFlBQVksQ0FFVixFQUFFLEFBQUEsTUFBTSxHQU1MLEVBQUUsR0FJQSxDQUFDO0lBWlIsWUFBWSxDQUdWLEVBQUUsQUFBQSxLQUFLLEdBS0osRUFBRSxHQUlBLENBQUMsQ0FBQztNQUNELGVBQWUsRUFBRSxJQUFJO01BQ3JCLE9BQU8sRUFBRSxLQUFLLEdBT2Y7TUF0QlAsQUFpQlEsUUFqQkEsQ0FBQyxLQUFLLENBR1osRUFBRSxBQUFBLE1BQU0sR0FNTCxFQUFFLEdBSUEsQ0FBQyxBQUlDLE1BQU0sRUFqQmYsUUFBUSxDQUFDLEtBQUssQ0FHWixFQUFFLEFBQUEsTUFBTSxHQU1MLEVBQUUsR0FJQSxDQUFDLEFBS0MsTUFBTSxFQWxCZixRQUFRLENBQUMsS0FBSyxDQUdaLEVBQUUsQUFBQSxNQUFNLEdBTUwsRUFBRSxHQUlBLENBQUMsQUFNQyxVQUFVO01BbkJuQixRQUFRLENBQUMsS0FBSyxDQUlaLEVBQUUsQUFBQSxLQUFLLEdBS0osRUFBRSxHQUlBLENBQUMsQUFJQyxNQUFNO01BakJmLFFBQVEsQ0FBQyxLQUFLLENBSVosRUFBRSxBQUFBLEtBQUssR0FLSixFQUFFLEdBSUEsQ0FBQyxBQUtDLE1BQU07TUFsQmYsUUFBUSxDQUFDLEtBQUssQ0FJWixFQUFFLEFBQUEsS0FBSyxHQUtKLEVBQUUsR0FJQSxDQUFDLEFBTUMsVUFBVTtNQWxCbkIsWUFBWSxDQUVWLEVBQUUsQUFBQSxNQUFNLEdBTUwsRUFBRSxHQUlBLENBQUMsQUFJQyxNQUFNO01BaEJmLFlBQVksQ0FFVixFQUFFLEFBQUEsTUFBTSxHQU1MLEVBQUUsR0FJQSxDQUFDLEFBS0MsTUFBTTtNQWpCZixZQUFZLENBRVYsRUFBRSxBQUFBLE1BQU0sR0FNTCxFQUFFLEdBSUEsQ0FBQyxBQU1DLFVBQVU7TUFsQm5CLFlBQVksQ0FHVixFQUFFLEFBQUEsS0FBSyxHQUtKLEVBQUUsR0FJQSxDQUFDLEFBSUMsTUFBTTtNQWhCZixZQUFZLENBR1YsRUFBRSxBQUFBLEtBQUssR0FLSixFQUFFLEdBSUEsQ0FBQyxBQUtDLE1BQU07TUFqQmYsWUFBWSxDQUdWLEVBQUUsQUFBQSxLQUFLLEdBS0osRUFBRSxHQUlBLENBQUMsQUFNQyxVQUFVLENBQUM7UUFDVixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQXJCVCxBQTBCRSxRQTFCTSxDQUFDLEtBQUssQUEwQlgscUJBQXFCO0FBekJ4QixZQUFZLEFBeUJULHFCQUFxQixDQUFDO0VBS3JCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RWIxTEMsQUFBQSxPQUFPLENhMEpYLFFBQVEsQ0FBQyxLQUFLLEFBMEJYLHFCQUFxQixFYnBMcEIsT0FBTztFYTJKWCxZQUFZLEFBeUJULHFCQUFxQixDYnBMVjtJYXNMUixPQUFPLEVBQUUsS0FBSyxHYmpMZjtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWFpSnBDLEFBMEJFLFFBMUJNLENBQUMsS0FBSyxBQTBCWCxxQkFBcUI7SUF6QnhCLFlBQVksQUF5QlQscUJBQXFCLENBQUM7TUFFbkIsT0FBTyxFQUFFLEtBQUssR0FJakI7O0FBaENILEFBa0NFLFFBbENNLENBQUMsS0FBSyxDQWtDWixjQUFjO0FBakNoQixZQUFZLENBaUNWLGNBQWMsQ0FBQztFQUNiLFVBQVUsRWhCdk9GLE9BQU87RWdCd09mLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE9BQU8sRUFBRSxJQUFJLEdBc0JkO0VBM0RILEFBdUNJLFFBdkNJLENBQUMsS0FBSyxDQWtDWixjQUFjLENBS1osRUFBRSxFQXZDTixRQUFRLENBQUMsS0FBSyxDQWtDWixjQUFjLENpRGhQaEIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDakQ2TXRCLFFBQVEsQ0FBQyxLQUFLLENBa0NaLGNBQWMsQ2lEL09PLGdCQUFnQjtFakQ4TXZDLFlBQVksQ0FpQ1YsY0FBYyxDQUtaLEVBQUU7RUF0Q04sWUFBWSxDQWlDVixjQUFjLENpRGhQaEIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCO0VBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDakQ4TXRCLFlBQVksQ0FpQ1YsY0FBYyxDaUQvT08sZ0JBQWdCLENqRG9QaEM7SUFDRCxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsUUFBUTtJQUNoQixjQUFjLEVBQUUsU0FBUyxHQVMxQjtJQXRETCxBQStDTSxRQS9DRSxDQUFDLEtBQUssQ0FrQ1osY0FBYyxDQUtaLEVBQUUsQUFRQyxNQUFNLEVBL0NiLFFBQVEsQ0FBQyxLQUFLLENBa0NaLGNBQWMsQ2lEaFBoQixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQWpENFBoQyxNQUFNLEVpRDdQYixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ2pENk10QixRQUFRLENBQUMsS0FBSyxDQWtDWixjQUFjLENpRC9PTyxnQkFBZ0IsQWpENFBoQyxNQUFNO0lBOUNiLFlBQVksQ0FpQ1YsY0FBYyxDQUtaLEVBQUUsQUFRQyxNQUFNO0lBOUNiLFlBQVksQ0FpQ1YsY0FBYyxDaURoUGhCLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixBakQ0UGhDLE1BQU07SWlEN1BiLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDakQ4TXRCLFlBQVksQ0FpQ1YsY0FBYyxDaUQvT08sZ0JBQWdCLEFqRDRQaEMsTUFBTSxDQUFDO01meE9aLFdBQVcsRUFBRSxvQkFBb0I7TUFDakMsS0FBSyxFQUFFLElBQUk7TUFDWCxVQUFVLEVBQUUsTUFBTTtNQUNsQixXQUFXLEVBQUUsTUFBTTtNQUNuQixZQUFZLEVBQUUsTUFBTTtNQUNwQixjQUFjLEVBQUUsSUFBSTtNQUNwQixXQUFXLEVBQUUsQ0FBQztNQUNkLHNCQUFzQixFQUFFLFdBQVc7TUFDbkMsdUJBQXVCLEVBQUUsU0FBUztNZW9PNUIsS0FBSyxFQUFFLEtBQUs7TUFDWixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQXJEUCxBQXdESSxRQXhESSxDQUFDLEtBQUssQ0FrQ1osY0FBYyxDQXNCWixDQUFDO0VBdkRMLFlBQVksQ0FpQ1YsY0FBYyxDQXNCWixDQUFDLENBQUM7SUFDQSxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQTFETCxBQTZERSxRQTdETSxDQUFDLEtBQUssQ0E2RFosRUFBRSxFQTdESixRQUFRLENBQUMsS0FBSyxDaUQ5TWQsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDakQ2TXRCLFFBQVEsQ0FBQyxLQUFLLENpRDdNUyxnQkFBZ0I7QWpEOE12QyxZQUFZLENBNERWLEVBQUU7QUE1REosWUFBWSxDaUQvTVosY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCO0FBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDakQ4TXRCLFlBQVksQ2lEOU1XLGdCQUFnQixDakQwUWxDO0VBQ0QsS0FBSyxFaEJuUUksT0FBTztFZ0JvUWhCLE9BQU8sRUFBRSxNQUFNO0VBQ2YsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBakVILEFBd0VJLFFBeEVJLENBQUMsS0FBSyxDQW1FWixXQUFXLENBS1QsRUFBRSxBQUFBLEtBQUs7QUF4RVgsUUFBUSxDQUFDLEtBQUssQ0FvRVosVUFBVSxDQUlSLEVBQUUsQUFBQSxLQUFLO0FBeEVYLFFBQVEsQ0FBQyxLQUFLLENBcUVaLFlBQVksQ0FHVixFQUFFLEFBQUEsS0FBSztBQXhFWCxRQUFRLENBQUMsS0FBSyxDQXNFWixlQUFlLENBRWIsRUFBRSxBQUFBLEtBQUs7QUF4RVgsUUFBUSxDQUFDLEtBQUssQUF1RVgsWUFBWSxDQUFDLGNBQWMsQ0FDMUIsRUFBRSxBQUFBLEtBQUs7QUF2RVgsWUFBWSxDQWtFVixXQUFXLENBS1QsRUFBRSxBQUFBLEtBQUs7QUF2RVgsWUFBWSxDQW1FVixVQUFVLENBSVIsRUFBRSxBQUFBLEtBQUs7QUF2RVgsWUFBWSxDQW9FVixZQUFZLENBR1YsRUFBRSxBQUFBLEtBQUs7QUF2RVgsWUFBWSxDQXFFVixlQUFlLENBRWIsRUFBRSxBQUFBLEtBQUs7QUF2RVgsWUFBWSxBQXNFVCxZQUFZLENBQUMsY0FBYyxDQUMxQixFQUFFLEFBQUEsS0FBSyxDQUFDO0VBQ04sVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQyxHQThDWDtFQXpITCxBQTZFTSxRQTdFRSxDQUFDLEtBQUssQ0FtRVosV0FBVyxDQUtULEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQztFQTdFUCxRQUFRLENBQUMsS0FBSyxDQW9FWixVQUFVLENBSVIsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDO0VBN0VQLFFBQVEsQ0FBQyxLQUFLLENBcUVaLFlBQVksQ0FHVixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUM7RUE3RVAsUUFBUSxDQUFDLEtBQUssQ0FzRVosZUFBZSxDQUViLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQztFQTdFUCxRQUFRLENBQUMsS0FBSyxBQXVFWCxZQUFZLENBQUMsY0FBYyxDQUMxQixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUM7RUE1RVAsWUFBWSxDQWtFVixXQUFXLENBS1QsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDO0VBNUVQLFlBQVksQ0FtRVYsVUFBVSxDQUlSLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQztFQTVFUCxZQUFZLENBb0VWLFlBQVksQ0FHVixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUM7RUE1RVAsWUFBWSxDQXFFVixlQUFlLENBRWIsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDO0VBNUVQLFlBQVksQUFzRVQsWUFBWSxDQUFDLGNBQWMsQ0FDMUIsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLENBQUM7SUFDQSxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2hCdlFULE9BQU87SWdCd1FuQixPQUFPLEVBQUUsS0FBSztJQUNkLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsY0FBYyxFQUFFLFNBQVM7SUFDekIsS0FBSyxFaEIzUkwsT0FBTyxHZ0I0U1I7SUF0R1AsQUF1RlEsUUF2RkEsQ0FBQyxLQUFLLENBbUVaLFdBQVcsQ0FLVCxFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFVRSxNQUFNLEVBdkZmLFFBQVEsQ0FBQyxLQUFLLENBbUVaLFdBQVcsQ0FLVCxFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFXRSxNQUFNLEVBeEZmLFFBQVEsQ0FBQyxLQUFLLENBbUVaLFdBQVcsQ0FLVCxFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFZRSxVQUFVO0lBekZuQixRQUFRLENBQUMsS0FBSyxDQW9FWixVQUFVLENBSVIsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLEFBVUUsTUFBTTtJQXZGZixRQUFRLENBQUMsS0FBSyxDQW9FWixVQUFVLENBSVIsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLEFBV0UsTUFBTTtJQXhGZixRQUFRLENBQUMsS0FBSyxDQW9FWixVQUFVLENBSVIsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLEFBWUUsVUFBVTtJQXpGbkIsUUFBUSxDQUFDLEtBQUssQ0FxRVosWUFBWSxDQUdWLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQVVFLE1BQU07SUF2RmYsUUFBUSxDQUFDLEtBQUssQ0FxRVosWUFBWSxDQUdWLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQVdFLE1BQU07SUF4RmYsUUFBUSxDQUFDLEtBQUssQ0FxRVosWUFBWSxDQUdWLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQVlFLFVBQVU7SUF6Rm5CLFFBQVEsQ0FBQyxLQUFLLENBc0VaLGVBQWUsQ0FFYixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFVRSxNQUFNO0lBdkZmLFFBQVEsQ0FBQyxLQUFLLENBc0VaLGVBQWUsQ0FFYixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFXRSxNQUFNO0lBeEZmLFFBQVEsQ0FBQyxLQUFLLENBc0VaLGVBQWUsQ0FFYixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFZRSxVQUFVO0lBekZuQixRQUFRLENBQUMsS0FBSyxBQXVFWCxZQUFZLENBQUMsY0FBYyxDQUMxQixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFVRSxNQUFNO0lBdkZmLFFBQVEsQ0FBQyxLQUFLLEFBdUVYLFlBQVksQ0FBQyxjQUFjLENBQzFCLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQVdFLE1BQU07SUF4RmYsUUFBUSxDQUFDLEtBQUssQUF1RVgsWUFBWSxDQUFDLGNBQWMsQ0FDMUIsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLEFBWUUsVUFBVTtJQXhGbkIsWUFBWSxDQWtFVixXQUFXLENBS1QsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLEFBVUUsTUFBTTtJQXRGZixZQUFZLENBa0VWLFdBQVcsQ0FLVCxFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFXRSxNQUFNO0lBdkZmLFlBQVksQ0FrRVYsV0FBVyxDQUtULEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQVlFLFVBQVU7SUF4Rm5CLFlBQVksQ0FtRVYsVUFBVSxDQUlSLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQVVFLE1BQU07SUF0RmYsWUFBWSxDQW1FVixVQUFVLENBSVIsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLEFBV0UsTUFBTTtJQXZGZixZQUFZLENBbUVWLFVBQVUsQ0FJUixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFZRSxVQUFVO0lBeEZuQixZQUFZLENBb0VWLFlBQVksQ0FHVixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFVRSxNQUFNO0lBdEZmLFlBQVksQ0FvRVYsWUFBWSxDQUdWLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQVdFLE1BQU07SUF2RmYsWUFBWSxDQW9FVixZQUFZLENBR1YsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLEFBWUUsVUFBVTtJQXhGbkIsWUFBWSxDQXFFVixlQUFlLENBRWIsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLEFBVUUsTUFBTTtJQXRGZixZQUFZLENBcUVWLGVBQWUsQ0FFYixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFXRSxNQUFNO0lBdkZmLFlBQVksQ0FxRVYsZUFBZSxDQUViLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQVlFLFVBQVU7SUF4Rm5CLFlBQVksQUFzRVQsWUFBWSxDQUFDLGNBQWMsQ0FDMUIsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLEFBVUUsTUFBTTtJQXRGZixZQUFZLEFBc0VULFlBQVksQ0FBQyxjQUFjLENBQzFCLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQVdFLE1BQU07SUF2RmYsWUFBWSxBQXNFVCxZQUFZLENBQUMsY0FBYyxDQUMxQixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFZRSxVQUFVLENBQUM7TUFDVixLQUFLLEVoQi9SRixPQUFPLEdnQmdTWDtJQTNGVCxBQTZGUSxRQTdGQSxDQUFDLEtBQUssQ0FtRVosV0FBVyxDQUtULEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQWdCRSxNQUFNO0lBN0ZmLFFBQVEsQ0FBQyxLQUFLLENBb0VaLFVBQVUsQ0FJUixFQUFFLEFBQUEsS0FBSyxDQUtMLENBQUMsQUFnQkUsTUFBTTtJQTdGZixRQUFRLENBQUMsS0FBSyxDQXFFWixZQUFZLENBR1YsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLEFBZ0JFLE1BQU07SUE3RmYsUUFBUSxDQUFDLEtBQUssQ0FzRVosZUFBZSxDQUViLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQWdCRSxNQUFNO0lBN0ZmLFFBQVEsQ0FBQyxLQUFLLEFBdUVYLFlBQVksQ0FBQyxjQUFjLENBQzFCLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQWdCRSxNQUFNO0lBNUZmLFlBQVksQ0FrRVYsV0FBVyxDQUtULEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQWdCRSxNQUFNO0lBNUZmLFlBQVksQ0FtRVYsVUFBVSxDQUlSLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQWdCRSxNQUFNO0lBNUZmLFlBQVksQ0FvRVYsWUFBWSxDQUdWLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQWdCRSxNQUFNO0lBNUZmLFlBQVksQ0FxRVYsZUFBZSxDQUViLEVBQUUsQUFBQSxLQUFLLENBS0wsQ0FBQyxBQWdCRSxNQUFNO0lBNUZmLFlBQVksQUFzRVQsWUFBWSxDQUFDLGNBQWMsQ0FDMUIsRUFBRSxBQUFBLEtBQUssQ0FLTCxDQUFDLEFBZ0JFLE1BQU0sQ0FBQztNZnRSZCxXQUFXLEVBQUUsb0JBQW9CO01BQ2pDLEtBQUssRUFBRSxJQUFJO01BQ1gsVUFBVSxFQUFFLE1BQU07TUFDbEIsV0FBVyxFQUFFLE1BQU07TUFDbkIsWUFBWSxFQUFFLE1BQU07TUFDcEIsY0FBYyxFQUFFLElBQUk7TUFDcEIsV0FBVyxFQUFFLENBQUM7TUFDZCxzQkFBc0IsRUFBRSxXQUFXO01BQ25DLHVCQUF1QixFQUFFLFNBQVM7TWVpUjFCLEtBQUssRWhCclNGLE9BQU87TWdCc1NWLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEtBQUssRUFBRSxJQUFJO01BQ1gsR0FBRyxFQUFFLEdBQUc7TUFDUixVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQXJHVCxBQXlHUSxRQXpHQSxDQUFDLEtBQUssQ0FtRVosV0FBVyxDQUtULEVBQUUsQUFBQSxLQUFLLENBZ0NMLEVBQUUsQUFBQSxLQUFLLENBQ0wsQ0FBQztFQXpHVCxRQUFRLENBQUMsS0FBSyxDQW9FWixVQUFVLENBSVIsRUFBRSxBQUFBLEtBQUssQ0FnQ0wsRUFBRSxBQUFBLEtBQUssQ0FDTCxDQUFDO0VBekdULFFBQVEsQ0FBQyxLQUFLLENBcUVaLFlBQVksQ0FHVixFQUFFLEFBQUEsS0FBSyxDQWdDTCxFQUFFLEFBQUEsS0FBSyxDQUNMLENBQUM7RUF6R1QsUUFBUSxDQUFDLEtBQUssQ0FzRVosZUFBZSxDQUViLEVBQUUsQUFBQSxLQUFLLENBZ0NMLEVBQUUsQUFBQSxLQUFLLENBQ0wsQ0FBQztFQXpHVCxRQUFRLENBQUMsS0FBSyxBQXVFWCxZQUFZLENBQUMsY0FBYyxDQUMxQixFQUFFLEFBQUEsS0FBSyxDQWdDTCxFQUFFLEFBQUEsS0FBSyxDQUNMLENBQUM7RUF4R1QsWUFBWSxDQWtFVixXQUFXLENBS1QsRUFBRSxBQUFBLEtBQUssQ0FnQ0wsRUFBRSxBQUFBLEtBQUssQ0FDTCxDQUFDO0VBeEdULFlBQVksQ0FtRVYsVUFBVSxDQUlSLEVBQUUsQUFBQSxLQUFLLENBZ0NMLEVBQUUsQUFBQSxLQUFLLENBQ0wsQ0FBQztFQXhHVCxZQUFZLENBb0VWLFlBQVksQ0FHVixFQUFFLEFBQUEsS0FBSyxDQWdDTCxFQUFFLEFBQUEsS0FBSyxDQUNMLENBQUM7RUF4R1QsWUFBWSxDQXFFVixlQUFlLENBRWIsRUFBRSxBQUFBLEtBQUssQ0FnQ0wsRUFBRSxBQUFBLEtBQUssQ0FDTCxDQUFDO0VBeEdULFlBQVksQUFzRVQsWUFBWSxDQUFDLGNBQWMsQ0FDMUIsRUFBRSxBQUFBLEtBQUssQ0FnQ0wsRUFBRSxBQUFBLEtBQUssQ0FDTCxDQUFDLENBQUM7SUFDQSxVQUFVLEVBQUUsQ0FBQztJQUNiLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFdBQVcsRUFBRSxDQUFDO0lBQ2QsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFaEJwVFAsT0FBTyxHZ0I2VE47SUF2SFQsQUFnSFUsUUFoSEYsQ0FBQyxLQUFLLENBbUVaLFdBQVcsQ0FLVCxFQUFFLEFBQUEsS0FBSyxDQWdDTCxFQUFFLEFBQUEsS0FBSyxDQUNMLENBQUMsQUFPRSxVQUFVO0lBaEhyQixRQUFRLENBQUMsS0FBSyxDQW9FWixVQUFVLENBSVIsRUFBRSxBQUFBLEtBQUssQ0FnQ0wsRUFBRSxBQUFBLEtBQUssQ0FDTCxDQUFDLEFBT0UsVUFBVTtJQWhIckIsUUFBUSxDQUFDLEtBQUssQ0FxRVosWUFBWSxDQUdWLEVBQUUsQUFBQSxLQUFLLENBZ0NMLEVBQUUsQUFBQSxLQUFLLENBQ0wsQ0FBQyxBQU9FLFVBQVU7SUFoSHJCLFFBQVEsQ0FBQyxLQUFLLENBc0VaLGVBQWUsQ0FFYixFQUFFLEFBQUEsS0FBSyxDQWdDTCxFQUFFLEFBQUEsS0FBSyxDQUNMLENBQUMsQUFPRSxVQUFVO0lBaEhyQixRQUFRLENBQUMsS0FBSyxBQXVFWCxZQUFZLENBQUMsY0FBYyxDQUMxQixFQUFFLEFBQUEsS0FBSyxDQWdDTCxFQUFFLEFBQUEsS0FBSyxDQUNMLENBQUMsQUFPRSxVQUFVO0lBL0dyQixZQUFZLENBa0VWLFdBQVcsQ0FLVCxFQUFFLEFBQUEsS0FBSyxDQWdDTCxFQUFFLEFBQUEsS0FBSyxDQUNMLENBQUMsQUFPRSxVQUFVO0lBL0dyQixZQUFZLENBbUVWLFVBQVUsQ0FJUixFQUFFLEFBQUEsS0FBSyxDQWdDTCxFQUFFLEFBQUEsS0FBSyxDQUNMLENBQUMsQUFPRSxVQUFVO0lBL0dyQixZQUFZLENBb0VWLFlBQVksQ0FHVixFQUFFLEFBQUEsS0FBSyxDQWdDTCxFQUFFLEFBQUEsS0FBSyxDQUNMLENBQUMsQUFPRSxVQUFVO0lBL0dyQixZQUFZLENBcUVWLGVBQWUsQ0FFYixFQUFFLEFBQUEsS0FBSyxDQWdDTCxFQUFFLEFBQUEsS0FBSyxDQUNMLENBQUMsQUFPRSxVQUFVO0lBL0dyQixZQUFZLEFBc0VULFlBQVksQ0FBQyxjQUFjLENBQzFCLEVBQUUsQUFBQSxLQUFLLENBZ0NMLEVBQUUsQUFBQSxLQUFLLENBQ0wsQ0FBQyxBQU9FLFVBQVUsQ0FBQztNQUNWLEtBQUssRWhCdFRKLE9BQU8sR2dCdVRUO0lBbEhYLEFBb0hVLFFBcEhGLENBQUMsS0FBSyxDQW1FWixXQUFXLENBS1QsRUFBRSxBQUFBLEtBQUssQ0FnQ0wsRUFBRSxBQUFBLEtBQUssQ0FDTCxDQUFDLEFBV0UsTUFBTTtJQXBIakIsUUFBUSxDQUFDLEtBQUssQ0FvRVosVUFBVSxDQUlSLEVBQUUsQUFBQSxLQUFLLENBZ0NMLEVBQUUsQUFBQSxLQUFLLENBQ0wsQ0FBQyxBQVdFLE1BQU07SUFwSGpCLFFBQVEsQ0FBQyxLQUFLLENBcUVaLFlBQVksQ0FHVixFQUFFLEFBQUEsS0FBSyxDQWdDTCxFQUFFLEFBQUEsS0FBSyxDQUNMLENBQUMsQUFXRSxNQUFNO0lBcEhqQixRQUFRLENBQUMsS0FBSyxDQXNFWixlQUFlLENBRWIsRUFBRSxBQUFBLEtBQUssQ0FnQ0wsRUFBRSxBQUFBLEtBQUssQ0FDTCxDQUFDLEFBV0UsTUFBTTtJQXBIakIsUUFBUSxDQUFDLEtBQUssQUF1RVgsWUFBWSxDQUFDLGNBQWMsQ0FDMUIsRUFBRSxBQUFBLEtBQUssQ0FnQ0wsRUFBRSxBQUFBLEtBQUssQ0FDTCxDQUFDLEFBV0UsTUFBTTtJQW5IakIsWUFBWSxDQWtFVixXQUFXLENBS1QsRUFBRSxBQUFBLEtBQUssQ0FnQ0wsRUFBRSxBQUFBLEtBQUssQ0FDTCxDQUFDLEFBV0UsTUFBTTtJQW5IakIsWUFBWSxDQW1FVixVQUFVLENBSVIsRUFBRSxBQUFBLEtBQUssQ0FnQ0wsRUFBRSxBQUFBLEtBQUssQ0FDTCxDQUFDLEFBV0UsTUFBTTtJQW5IakIsWUFBWSxDQW9FVixZQUFZLENBR1YsRUFBRSxBQUFBLEtBQUssQ0FnQ0wsRUFBRSxBQUFBLEtBQUssQ0FDTCxDQUFDLEFBV0UsTUFBTTtJQW5IakIsWUFBWSxDQXFFVixlQUFlLENBRWIsRUFBRSxBQUFBLEtBQUssQ0FnQ0wsRUFBRSxBQUFBLEtBQUssQ0FDTCxDQUFDLEFBV0UsTUFBTTtJQW5IakIsWUFBWSxBQXNFVCxZQUFZLENBQUMsY0FBYyxDQUMxQixFQUFFLEFBQUEsS0FBSyxDQWdDTCxFQUFFLEFBQUEsS0FBSyxDQUNMLENBQUMsQUFXRSxNQUFNLENBQUM7TUFDTixVQUFVLEVBQUUsS0FBSyxHQUNsQjs7QUF0SFgsQUE0SEUsUUE1SE0sQ0FBQyxLQUFLLENBNEhaLFlBQVk7QUEzSGQsWUFBWSxDQTJIVixZQUFZLENBQUM7RUFDWCxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2hCdFRSLE9BQU8sR2dCdVR4Qjs7QUFHSCxBQUFBLFlBQVksQ0FBQztFQUNYLFVBQVUsRWhCeFVKLE9BQU8sR2dCd2JkO0VBakhELEFBR0UsWUFIVSxDQUdWLEVBQUUsQUFBQSxLQUFLLENBQUM7SUFDTixVQUFVLEVBQUUsSUFBSSxHQXVEakI7SUEzREgsQUFNSSxZQU5RLENBR1YsRUFBRSxBQUFBLEtBQUssQ0FHTCxDQUFDLENBQUM7TUFDQSxLQUFLLEVBQUUsSUFBSSxHQWFaO01BcEJMLEFBU00sWUFUTSxDQUdWLEVBQUUsQUFBQSxLQUFLLENBR0wsQ0FBQyxBQUdFLE1BQU0sQ0FBQztRQUNOLEtBQUssRUFBRSxJQUFJLEdBQ1o7TUFYUCxBQWFNLFlBYk0sQ0FHVixFQUFFLEFBQUEsS0FBSyxDQUdMLENBQUMsQUFPRSxVQUFVLENBQUM7UUFDVixLQUFLLEVoQnBWQSxPQUFPLEdnQnlWYjtRQW5CUCxBQWdCUSxZQWhCSSxDQUdWLEVBQUUsQUFBQSxLQUFLLENBR0wsQ0FBQyxBQU9FLFVBQVUsQUFHUixNQUFNLENBQUM7VUFDTixLQUFLLEVoQnZWRixPQUFPLEdnQndWWDtJQWxCVCxBQXdCUSxZQXhCSSxDQUdWLEVBQUUsQUFBQSxLQUFLLENBbUJMLEVBQUUsQ0FBQyxFQUFFLEFBQ0Ysb0JBQW9CLEdBQ2pCLENBQUMsQ0FBQztNQUNGLGNBQWMsRUFBRSxHQUFHLEdBQ3BCO0lBMUJULEFBNEJRLFlBNUJJLENBR1YsRUFBRSxBQUFBLEtBQUssQ0FtQkwsRUFBRSxDQUFDLEVBQUUsQUFDRixvQkFBb0IsQ0FLbkIsRUFBRSxDQUFDLENBQUMsQ0FBQztNQUNILGNBQWMsRUFBRSxHQUFHLEdBQ3BCO0lBOUJULEFBZ0NRLFlBaENJLENBR1YsRUFBRSxBQUFBLEtBQUssQ0FtQkwsRUFBRSxDQUFDLEVBQUUsQUFDRixvQkFBb0IsQ0FTbkIsRUFBRSxBQUFBLFdBQVcsQ0FBQyxDQUFDLENBQUM7TUFDZCxjQUFjLEVBQUUsSUFBSSxHQUNyQjtJQWxDVCxBQXVDTSxZQXZDTSxDQUdWLEVBQUUsQUFBQSxLQUFLLENBbUNMLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUNOLENBQUMsQ0FBQztNQUNBLFNBQVMsRUFBRSxJQUFJO01BQ2YsV0FBVyxFQUFFLEdBQUc7TUFDaEIsWUFBWSxFQUFFLElBQUksR0FLbkI7TUEvQ1AsQUE0Q1EsWUE1Q0ksQ0FHVixFQUFFLEFBQUEsS0FBSyxDQW1DTCxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDTixDQUFDLEFBS0UsTUFBTSxDQUFDO1FBQ04sU0FBUyxFQUFFLElBQUksR0FDaEI7SUE5Q1QsQUFrRFEsWUFsREksQ0FHVixFQUFFLEFBQUEsS0FBSyxDQW1DTCxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQUFXTCxvQkFBb0IsQ0FDbkIsRUFBRSxDQUFDLENBQUMsQ0FBQztNQUNILGNBQWMsRUFBRSxHQUFHLEdBQ3BCO0lBcERULEFBc0RRLFlBdERJLENBR1YsRUFBRSxBQUFBLEtBQUssQ0FtQ0wsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEFBV0wsb0JBQW9CLENBS25CLEVBQUUsQUFBQSxXQUFXLENBQUMsQ0FBQyxDQUFDO01BQ2QsY0FBYyxFQUFFLElBQUksR0FDckI7RUF4RFQsQUE2REUsWUE3RFUsQ0E2RFYsWUFBWSxDQUFDO0lBQ1gsYUFBYSxFQUFFLENBQUMsR0FDakI7RUEvREgsQUFpRUUsWUFqRVUsQ0FpRVYsY0FBYyxDQUFDO0lBQ2IsVUFBVSxFQUFFLElBQUk7SUFDaEIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoQjdYUixPQUFPO0lnQjhYdkIsTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBQUUsQ0FBQyxHQUNYO0VBdEVILEFBeUVJLFlBekVRLENBd0VWLG1CQUFtQixDQUNqQixFQUFFLEFBQUEsS0FBSyxDQUFDO0lBQ04sT0FBTyxFQUFFLFNBQVMsR0FrQm5CO0lBNUZMLEFBNEVNLFlBNUVNLENBd0VWLG1CQUFtQixDQUNqQixFQUFFLEFBQUEsS0FBSyxDQUdMLEVBQUUsQ0FBQztNQUNELE9BQU8sRUFBRSxZQUFZO01BQ3JCLFlBQVksRUFBRSxJQUFJLEdBQ25CO0lBL0VQLEFBaUZNLFlBakZNLENBd0VWLG1CQUFtQixDQUNqQixFQUFFLEFBQUEsS0FBSyxDQVFMLENBQUMsQ0FBQztNQUNBLFNBQVMsRUFBRSxDQUFDLEdBU2I7TUEzRlAsQUFvRlEsWUFwRkksQ0F3RVYsbUJBQW1CLENBQ2pCLEVBQUUsQUFBQSxLQUFLLENBUUwsQ0FBQyxBQUdFLE1BQU0sQ0FBQztRQUNOLGVBQWUsRUFBRSxJQUFJLEdBQ3RCO01BdEZULEFBd0ZRLFlBeEZJLENBd0VWLG1CQUFtQixDQUNqQixFQUFFLEFBQUEsS0FBSyxDQVFMLENBQUMsQUFPRSxPQUFPLENBQUM7UWJ2VGYsU0FBUyxFYXdUMEIsSUFBSTtRYnZUdkMsU0FBUyxFQUFFLE1BQWdDLEdhd1RwQztFQTFGVCxBQWdHSSxZQWhHUSxDQStGVixlQUFlLENBQ2IsRUFBRSxBQUFBLEtBQUssQ0FBQztJQUNOLGFBQWEsRUFBRSxlQUFlO0lBQzlCLFFBQVEsRUFBRSxNQUFNLEdBYWpCO0lBL0dMLEFBb0dNLFlBcEdNLENBK0ZWLGVBQWUsQ0FDYixFQUFFLEFBQUEsS0FBSyxDQUlMLEVBQUUsQ0FBQztNQUNELEtBQUssRUFBRSxJQUFJLEdBQ1o7SUF0R1AsQUF3R00sWUF4R00sQ0ErRlYsZUFBZSxDQUNiLEVBQUUsQUFBQSxLQUFLLENBUUwsQ0FBQyxDQUFDO01BQ0EsT0FBTyxFQUFFLFlBQVksR0FLdEI7TUE5R1AsQUEyR1EsWUEzR0ksQ0ErRlYsZUFBZSxDQUNiLEVBQUUsQUFBQSxLQUFLLENBUUwsQ0FBQyxBQUdFLE1BQU0sQ0FBQztRQUNOLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FkOUhULEFBQUEsTUFBTTtBQUNOLEtBQUs7QUFDTCxNQUFNO0FBQ04sUUFBUSxDZTFUQztFQUNQLFdBQVcsRWhCSE0sV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxHZ0JJM0Q7O0FBRUQsQUFFRSxJQUZFLENBRUYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWDtBQUZSLElBQUksQ0FHRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaO0FBSFIsSUFBSSxDQUlGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWY7QUFKUixJQUFJLENBS0YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLEtBQUssQUFBVjtBQUxSLElBQUksQ0FNRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssS0FBSyxBQUFWO0FBTlIsSUFBSSxDQU9GLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWI7QUFQUixJQUFJLENBUUYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQUFhO0VUVm5CLFVBQVUsRVJGQyxJQUFJO0VRR2YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENSV0MsT0FBTztFUVZ6QixVQUFVLEVBQUUsVUFBVTtFQUN0QixhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLElBQUksR1NNZDtFZCtCQyxBQUFBLE9BQU8sQ2N6Q1gsSUFBSSxDQUVGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR2R1Q0osT0FBTztFY3pDWCxJQUFJLENBR0YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixHZHNDSixPQUFPO0VjekNYLElBQUksQ0FJRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEdkcUNKLE9BQU87RWN6Q1gsSUFBSSxDQUtGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVYsR2RvQ0osT0FBTztFY3pDWCxJQUFJLENBTUYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLEtBQUssQUFBVixHZG1DSixPQUFPO0VjekNYLElBQUksQ0FPRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEdka0NKLE9BQU87RWN6Q1gsSUFBSSxDQVFGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRWRpQ007SUsvQ1YsU0FBUyxFQUFFLEdBQUc7SUFDZCxTQUFTLEVBQUUsSUFBSSxHTG1EZDtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWNsRHBDLEFBRUUsSUFGRSxDQUVGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVg7SUFGUixJQUFJLENBR0YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWjtJQUhSLElBQUksQ0FJRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmO0lBSlIsSUFBSSxDQUtGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVY7SUFMUixJQUFJLENBTUYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLEtBQUssQUFBVjtJQU5SLElBQUksQ0FPRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiO0lBUFIsSUFBSSxDQVFGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtNVGRqQixTQUFTLEVBQUUsR0FBRztNQUNkLFNBQVMsRUFBRSxJQUFJLEdTZWhCO0VBVkgsQVRNRSxJU05FLENBRUYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDVElMLE1BQU07RVNOVCxJQUFJLENBR0YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDVEdMLE1BQU07RVNOVCxJQUFJLENBSUYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDVEVMLE1BQU07RVNOVCxJQUFJLENBS0YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLEtBQUssQUFBVixDVENMLE1BQU07RVNOVCxJQUFJLENBTUYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLEtBQUssQUFBVixDVEFMLE1BQU07RVNOVCxJQUFJLENBT0YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDVERMLE1BQU07RVNOVCxJQUFJLENBUUYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDVEZMLE1BQU0sQ0FBQztJQUNOLFlBQVksRVJWUixPQUFPO0lRV1gsT0FBTyxFQUFFLElBQUksR0FDZDs7QVNUSCxBQVlFLElBWkUsQ0FZRixRQUFRLENBQUM7RVRDVCxVQUFVLEVSakJDLElBQUk7RVFrQmYsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENSSkMsT0FBTztFUUt6QixhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVBQUUsS0FBSztFQUNqQixPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxJQUFJLEdTTFY7RUFkSCxBVHFCRSxJU3JCRSxDQVlGLFFBQVEsQVRTUCxNQUFNLENBQUM7SUFDTixZQUFZLEVSekJSLE9BQU87SVEwQlgsT0FBTyxFQUFFLElBQUksR0FDZDs7QVN4QkgsQVQ0QkUsSVM1QkUsQ0FnQkYsZ0JBQWdCLENUWWhCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosRUFBYztFQUNsQixNQUFNLEVBQUUsV0FBVyxHQUtwQjtFU2xDSCxBVCtCSSxJUy9CQSxDQWdCRixnQkFBZ0IsQ1RZaEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUdILE1BQU0sQ0FBQztJQUNOLFlBQVksRVJuQ1YsT0FBTyxHUW9DVjs7QVNqQ0wsQVRvQ0UsSVNwQ0UsQ0FnQkYsZ0JBQWdCLENUb0JoQixLQUFLLENBQUM7RUFDSixLQUFLLEVSeENELE9BQU87RVF5Q1gsU0FBUyxFUnpCSSxJQUFJO0VRMEJqQixXQUFXLEVQN0NJLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7RU84Q3hELE1BQU0sRUFBRSxNQUFNLEdBQ2Y7O0FTekNILEFUNkNFLElTN0NFLENBb0JGLG1CQUFtQixDVHlCbkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixFQUFpQjtFQUNyQixNQUFNLEVBQUUsV0FBVyxHQU1wQjtFU3BESCxBVGdESSxJU2hEQSxDQW9CRixtQkFBbUIsQ1R5Qm5CLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FHSCxNQUFNLENBQUM7SUFDTixZQUFZLEVScERWLE9BQU87SVFxRFQsT0FBTyxFQUFFLElBQUksR0FDZDs7QVNuREwsQVRzREUsSVN0REUsQ0FvQkYsbUJBQW1CLENUa0NuQixLQUFLLENBQUM7RUFDSixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRVIzREQsT0FBTztFUTREWCxPQUFPLEVBQUUsWUFBWTtFQUNyQixTQUFTLEVSN0NJLElBQUk7RVE4Q2pCLFdBQVcsRVBqRUksV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtFT2tFeEQsTUFBTSxFQUFFLE1BQU0sR0FDZjs7QVM3REgsQUF3QkUsSUF4QkUsQ0F3QkYsTUFBTSxDQUFDO0VUOENQLFVBQVUsRVIxRUMsSUFBSTtFUTJFZixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1I3REMsT0FBTztFUThEekIsVUFBVSxFQUFFLFVBQVU7RUFDdEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixLQUFLLEVBQUUsSUFBSSxHU2pEVjtFZGVDLEFBQUEsT0FBTyxDY3pDWCxJQUFJLENBd0JGLE1BQU0sQ2RpQk07SUt5QlYsU0FBUyxFQUFFLEdBQUc7SUFDZCxTQUFTLEVBQUUsSUFBSSxHTHJCZDtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWNsRHBDLEFBd0JFLElBeEJFLENBd0JGLE1BQU0sQ0FBQztNVDBDTCxTQUFTLEVBQUUsR0FBRztNQUNkLFNBQVMsRUFBRSxJQUFJLEdTekNoQjtFQTFCSCxBVDZFRSxJUzdFRSxDQXdCRixNQUFNLEFUcURMLE1BQU0sQ0FBQztJQUNOLFlBQVksRVJqRlIsT0FBTztJUWtGWCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBU2hGSCxBQTRCRSxJQTVCRSxDQTRCRixLQUFLLENBQUM7RVR5RE4sT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsVUFBVSxHU3hEakI7O0FBOUJILEFBb0NFLElBcENFLENBb0NGLEtBQUssQUFBQSxPQUFPO0FBcENkLElBQUksQ0FxQ0YsTUFBTSxDQUFDO0VkZ0VQLFNBQVMsRUh4Rk0sSUFBSTtFR3lGbkIsU0FBUyxFQUFFLElBQWdDO0VHNUczQyxVQUFVLEVOSUMsT0FBTztFTUhsQixNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxJQUFJO0VBQ2hCLEtBQUssRUFBRSxJQUFJO0VBQ1gsV0FBVyxFQUFFLEdBQUc7RUFDaEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsV0FBVyxFQUFFLENBQUM7RUFDZCxPQUFPLEVBQUUsWUFBWTtFQUNyQixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsU0FBUztFQUN6QixVQUFVLEVBQUUsMkNBQTJDO0VBQ3ZELGFBQWEsRUFBRSwyQ0FBMkM7RUFDMUQsY0FBYyxFQUFFLDJDQUEyQztFQUMzRCxzQkFBc0IsRUFBRSxXQUFXLEdXK0JsQztFQXZDSCxBWFVFLElXVkUsQ0FvQ0YsS0FBSyxBQUFBLE9BQU8sQVgxQlgsT0FBTyxFV1ZWLElBQUksQ0FvQ0YsS0FBSyxBQUFBLE9BQU8sQVh6QlgsTUFBTSxFV1hULElBQUksQ0FvQ0YsS0FBSyxBQUFBLE9BQU8sQVh4QlgsTUFBTTtFV1pULElBQUksQ0FxQ0YsTUFBTSxBWDNCTCxPQUFPO0VXVlYsSUFBSSxDQXFDRixNQUFNLEFYMUJMLE1BQU07RVdYVCxJQUFJLENBcUNGLE1BQU0sQVh6QkwsTUFBTSxDQUFDO0lBQ04sVUFBVSxFTmhCTixPQUFPO0lNaUJYLEtBQUssRU5sQkksSUFBSTtJTW1CYixPQUFPLEVBQUUsSUFBSSxHQUNkOztBVzBCSCxBQUFBLGFBQWEsQ0FBQyxhQUFhLENBQUM7RUFDMUIsVUFBVSxFQUFFLEdBQUcsR0FDaEI7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFLWixVQUFVLEVqQnZEQyxJQUFJLENpQnVEUywyQkFBMkIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUs7RUFDMUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqQjFDQyxPQUFPO0VpQjJDekIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLFVBQVU7RUFDdEIsTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsSUFBSTtFQUNaLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLEtBQUssRUFBRSxJQUFJLEdBTVo7RWR4QkcsQUFBQSxPQUFPLENjS1gsYUFBYSxDZExDO0ljT1YsU0FBUyxFQUFFLEdBQUcsR2RGYjtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWNKcEMsQUFBQSxhQUFhLENBQUM7TUFFVixTQUFTLEVBQUUsR0FBRyxHQWlCakI7RUFuQkQsQUFlRSxhQWZXLEFBZVYsTUFBTSxDQUFDO0lBQ04sWUFBWSxFakJqRVIsT0FBTztJaUJrRVgsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFHSCxBQUFBLGFBQWEsQ0FBQyxNQUFNLENBQUM7RUFDbkIsVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLFdBQVc7RUFDdkIsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsT0FBTztFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLGtCQUFrQixFQUFFLElBQUk7RUFDeEIsZUFBZSxFQUFFLElBQUksR0FDdEI7O0FBRUQsQUFBQSxhQUFhLENBQUMsTUFBTSxBQUFBLE1BQU0sQ0FBQztFQUN6QixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQ0UsSUFERSxBQUFBLGFBQWEsQ0FDZixhQUFhLENBQUM7RUFDWixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUdILEFBQUEsS0FBSyxBQUFBLGlCQUFpQixBQUFBLE9BQU8sQ0FBQztFQUM1QixPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxPQUFPO0VBQ2QsV0FBVyxFQUFFLElBQUk7RUFDakIsV0FBVyxFQUFFLEdBQUcsR0FDakI7O0FOOUZELEFBQUEsTUFBTSxDQUFDO0VBQ0wsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFlBQVksRUFBRSxNQUFNLEdBQ3JCOztBQUVELEFBQUEsQ0FBQyxHQUFDLEdBQUcsQ0FBQztFQUNKLEtBQUssRUFBRSxJQUFJLEdBS1o7RUFIQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SUFIMUIsQUFBQSxDQUFDLEdBQUMsR0FBRyxDQUFDO01BSUYsS0FBSyxFQUFFLFlBQVksR0FFdEI7O0FBRUQsQUFBQSxTQUFTLENBQUM7RUFDUixRQUFRLEVBQUUsTUFBTTtFQUNoQixNQUFNLEVBQUUsS0FBSyxHQUNkOztBQUVELEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBRUQsQUFBQSxNQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsTUFBTSxDQUFDO0VBQ0wsT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsTUFBTSxHQXlDbkI7RUEzQ0QsQUFJRSxNQUpJLENBSUosRUFBRSxFQUpKLE1BQU0sQ00xQk4sSUFBSSxDQTRCRixLQUFLLEVBNUJQLElBQUksQ04wQkosTUFBTSxDTUVKLEtBQUssRU5GUCxNQUFNLEM4QnJDTixjQUFjLEFBdUJYLGdCQUFnQixDQUNmLEVBQUUsRUF4Qk4sY0FBYyxBQXVCWCxnQkFBZ0IsQzlCY25CLE1BQU0sQzhCYkYsRUFBRSxFOUJhTixNQUFNLEM4QnJDTixjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDQVFWLGFBQWEsRWlCMUJuQixjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDYm1CaEIsTUFBTSxDYVhBLGFBQWEsRWJXbkIsTUFBTSxDYXJDTixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ2lCbEJoQixjQUFjLEFBdUJYLGdCQUFnQixDakJHYixhQUFhLEVBMUJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ2lCbEJoQixjQUFjLEFBdUJYLGdCQUFnQixDOUJjbkIsTUFBTSxDYVhBLGFBQWEsRWJXbkIsTUFBTSxDOEJyQ04sY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENBR25CLEtBQUssRWlCOUZiLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDYnREM0IsTUFBTSxDYXlERSxLQUFLLEViekRiLE1BQU0sQ2FyQ04saUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDaUIzRjNCLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnVFWCxLQUFLLEVBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ2lCM0YzQixjQUFjLEFBdUJYLGdCQUFnQixDOUJjbkIsTUFBTSxDYXlERSxLQUFLLEViekRiLE1BQU0sQzhCckNOLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ0FLZCxLQUFLLEVpQm5IZixjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENiekV4QixNQUFNLENhOEVJLEtBQUssRWI5RWYsTUFBTSxDYXJDTixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDaUI5R3hCLGNBQWMsQUF1QlgsZ0JBQWdCLENqQjRGVCxLQUFLLEVBbkhmLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENpQjlHeEIsY0FBYyxBQXVCWCxnQkFBZ0IsQzlCY25CLE1BQU0sQ2E4RUksS0FBSyxFYjlFZixNQUFNLEM4QnJDTixjQUFjLEFBdUJYLGdCQUFnQixDb0J2Qm5CLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssRXBCL0VULGNBQWMsQUF1QlgsZ0JBQWdCLENvQnZCbkIsYUFBYSxDQTRFWCxtQkFBbUIsQ2xEdkNyQixNQUFNLENrRDBDRixLQUFLLEVsRDFDVCxNQUFNLENrRHJDTixhQUFhLENBNEVYLG1CQUFtQixDcEI1RXJCLGNBQWMsQUF1QlgsZ0JBQWdCLENvQndEZixLQUFLLEVBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLENwQjVFckIsY0FBYyxBQXVCWCxnQkFBZ0IsQzlCY25CLE1BQU0sQ2tEMENGLEtBQUssRWxEMUNULE1BQU0sQzhCckNOLGNBQWMsQUF1QlgsZ0JBQWdCLEN3QnZCbkIsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxFeEJsRVYsY0FBYyxBQXVCWCxnQkFBZ0IsQ3dCdkJuQixjQUFjLENBZ0VaLGdDQUFnQyxDdEQzQmxDLE1BQU0sQ3NENkJGLE1BQU0sRXREN0JWLE1BQU0sQ3NEckNOLGNBQWMsQ0FnRVosZ0NBQWdDLEN4QmhFbEMsY0FBYyxBQXVCWCxnQkFBZ0IsQ3dCMkNmLE1BQU0sRUFsRVYsY0FBYyxDQWdFWixnQ0FBZ0MsQ3hCaEVsQyxjQUFjLEFBdUJYLGdCQUFnQixDOUJjbkIsTUFBTSxDc0Q2QkYsTUFBTSxFdEQ3QlYsTUFBTSxDa0NyQ04sVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENBQ0MsRUFBRSxFQXRCUixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2xDZ0JMLE1BQU0sQ2tDZkEsRUFBRSxFbENlUixNQUFNLENrQ3JDTixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDQVFWLGFBQWEsRXFCMUJuQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDYm1CaEIsTUFBTSxDYVhBLGFBQWEsRWJXbkIsTUFBTSxDYXJDTixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ3FCbEJoQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCS0MsYUFBYSxFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENxQmxCaEIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENsQ2dCTCxNQUFNLENhWEEsYUFBYSxFYlduQixNQUFNLENrQ3JDTixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ0FHbkIsS0FBSyxFcUI5RmIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENidEQzQixNQUFNLENheURFLEtBQUssRWJ6RGIsTUFBTSxDYXJDTixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENxQjNGM0IsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnlFRyxLQUFLLEVBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ3FCM0YzQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2xDZ0JMLE1BQU0sQ2F5REUsS0FBSyxFYnpEYixNQUFNLENrQ3JDTixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENBS2QsS0FBSyxFcUJuSGYsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDYnpFeEIsTUFBTSxDYThFSSxLQUFLLEViOUVmLE1BQU0sQ2FyQ04saUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ3FCOUd4QixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCOEZLLEtBQUssRUFuSGYsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ3FCOUd4QixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2xDZ0JMLE1BQU0sQ2E4RUksS0FBSyxFYjlFZixNQUFNLENrQ3JDTixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2dCckJMLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssRWhCL0VULFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDZ0JyQkwsYUFBYSxDQTRFWCxtQkFBbUIsQ2xEdkNyQixNQUFNLENrRDBDRixLQUFLLEVsRDFDVCxNQUFNLENrRHJDTixhQUFhLENBNEVYLG1CQUFtQixDaEI1RXJCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDZ0IwREQsS0FBSyxFQS9FVCxhQUFhLENBNEVYLG1CQUFtQixDaEI1RXJCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDbENnQkwsTUFBTSxDa0QwQ0YsS0FBSyxFbEQxQ1QsTUFBTSxDa0NyQ04sVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENvQnJCTCxjQUFjLENBZ0VaLGdDQUFnQyxDQUU5QixNQUFNLEVwQmxFVixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ29CckJMLGNBQWMsQ0FnRVosZ0NBQWdDLEN0RDNCbEMsTUFBTSxDc0Q2QkYsTUFBTSxFdEQ3QlYsTUFBTSxDc0RyQ04sY0FBYyxDQWdFWixnQ0FBZ0MsQ3BCaEVsQyxVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ29CNkNELE1BQU0sRUFsRVYsY0FBYyxDQWdFWixnQ0FBZ0MsQ3BCaEVsQyxVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2xDZ0JMLE1BQU0sQ3NENkJGLE1BQU0sQ3REekJMO0lBQ0QsT0FBTyxFQUFFLElBQUksR0FDZDtFQU5ILEFBUUUsTUFSSSxDQVFKLEVBQUUsQ0FBQztJQUNELFNBQVMsRUFBRSxDQUFDO0lBQ1osVUFBVSxFQUFFLElBQUk7SUFDaEIsTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBQUUsQ0FBQyxHQThCWDtJQTFDSCxBQWNJLE1BZEUsQ0FRSixFQUFFLENBTUEsRUFBRSxBQUFBLFlBQVksQ0FBQztNQUtiLE9BQU8sRUFBRSxJQUFJO01BQ2IsTUFBTSxFQUFFLFdBQVcsR0FxQnBCO01SMUJELEFBQUEsT0FBTyxDUWZYLE1BQU0sQ0FRSixFQUFFLENBTUEsRUFBRSxBQUFBLFlBQVksQ1JDSjtRUUNOLE9BQU8sRUFBRSxZQUFZLEdSSXhCO01BSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztRUXhCcEMsQUFjSSxNQWRFLENBUUosRUFBRSxDQU1BLEVBQUUsQUFBQSxZQUFZLENBQUM7VUFFWCxPQUFPLEVBQUUsWUFBWSxHQXlCeEI7TUF6Q0wsQUFzQk0sTUF0QkEsQ0FRSixFQUFFLENBTUEsRUFBRSxBQUFBLFlBQVksQ0FRWixDQUFDLENBQUM7UVJxRE4sU0FBUyxFSHhGTSxJQUFJO1FHeUZuQixTQUFTLEVBQUUsSUFBZ0M7UUc1RzNDLFVBQVUsRU5JQyxPQUFPO1FNSGxCLE1BQU0sRUFBRSxDQUFDO1FBQ1QsVUFBVSxFQUFFLElBQUk7UUFDaEIsS0FBSyxFQUFFLElBQUk7UUFDWCxXQUFXLEVBQUUsR0FBRztRQUNoQixPQUFPLEVBQUUsWUFBWTtRQUNyQixXQUFXLEVBQUUsQ0FBQztRQUNkLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLGVBQWUsRUFBRSxJQUFJO1FBQ3JCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLFVBQVUsRUFBRSwyQ0FBMkM7UUFDdkQsYUFBYSxFQUFFLDJDQUEyQztRQUMxRCxjQUFjLEVBQUUsMkNBQTJDO1FBQzNELHNCQUFzQixFQUFFLFdBQVc7UUswQzdCLFVBQVUsRVh4Q0UsT0FBTztRV3lDbkIsT0FBTyxFQUFFLFlBQVk7UUFDckIsZUFBZSxFQUFFLElBQUksR0FDdEI7UUEzQlAsQUxoQkUsTUtnQkksQ0FRSixFQUFFLENBTUEsRUFBRSxBQUFBLFlBQVksQ0FRWixDQUFDLEFMdENKLE9BQU8sRUtnQlYsTUFBTSxDQVFKLEVBQUUsQ0FNQSxFQUFFLEFBQUEsWUFBWSxDQVFaLENBQUMsQUxyQ0osTUFBTSxFS2VULE1BQU0sQ0FRSixFQUFFLENBTUEsRUFBRSxBQUFBLFlBQVksQ0FRWixDQUFDLEFMcENKLE1BQU0sQ0FBQztVQUNOLFVBQVUsRU5oQk4sT0FBTztVTWlCWCxLQUFLLEVObEJJLElBQUk7VU1tQmIsT0FBTyxFQUFFLElBQUksR0FDZDtNS1VILEFBNkJNLE1BN0JBLENBUUosRUFBRSxDQU1BLEVBQUUsQUFBQSxZQUFZLEFBZVgsVUFBVSxDQUFDO1FBQ1YsT0FBTyxFQUFFLFlBQVksR0FLdEI7UUFuQ1AsQUFnQ1EsTUFoQ0YsQ0FRSixFQUFFLENBTUEsRUFBRSxBQUFBLFlBQVksQUFlWCxVQUFVLENBR1QsQ0FBQyxDQUFDO1VBQ0EsVUFBVSxFWDdEUCxPQUFPLEdXOERYO01BbENULEFBcUNNLE1BckNBLENBUUosRUFBRSxDQU1BLEVBQUUsQUFBQSxZQUFZLEFBdUJYLHNCQUFzQixFQXJDN0IsTUFBTSxDQVFKLEVBQUUsQ0FNQSxFQUFFLEFBQUEsWUFBWSxBQXdCWCxrQkFBa0IsQ0FBQztRQUNsQixPQUFPLEVBQUUsWUFBWSxHQUN0Qjs7QUFLUCxBQUNFLHFCQURtQixDQUNuQix3QkFBd0IsQ0FBQztFQUN2QixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLFVBQVUsRUFBRSxJQUFJLEdBa0JqQjtFQXJCSCxBQUtJLHFCQUxpQixDQUNuQix3QkFBd0IsQ0FJdEIsWUFBWSxDQUFDO0lBQ1gsY0FBYyxFQUFFLElBQUksR0FNckI7SUFaTCxBQVFNLHFCQVJlLENBQ25CLHdCQUF3QixDQUl0QixZQUFZLENBR1Ysa0JBQWtCO0lBUnhCLHFCQUFxQixDQUNuQix3QkFBd0IsQ0FJdEIsWUFBWSxDQUlWLG1CQUFtQixDQUFDO01BQ2xCLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFYUCxBQWNJLHFCQWRpQixDQUNuQix3QkFBd0IsQ0FhdEIsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0lBQ25CLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxZQUFZO0lBQ2xCLEtBQUssRUFBRSxZQUFZO0lBQ25CLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBR0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFQXZCckMsQUFBQSxxQkFBcUIsQ0FBQztJQXdCbEIsT0FBTyxFQUFFLElBQUksR0FRaEI7SUFoQ0QsQUEwQkkscUJBMUJpQixDQTBCakIsd0JBQXdCO0lBMUI1QixxQkFBcUIsQ0EyQmpCLGdCQUFnQixDQUFDO01BQ2YsSUFBSSxFQUFFLENBQUM7TUFDUCxVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QVVoSEwsQUFDRSxxQkFEbUIsQ0FDbkIsQ0FBQyxDQUFDO0VsQitHRixTQUFTLEVIOUVJLElBQUk7RUcrRWpCLFNBQVMsRUFBRSxNQUFnQztFR2pGM0MsT0FBTyxFQUFFLFlBQVk7RUFDckIsS0FBSyxFTnhCTSxPQUFPO0VNeUJsQixXQUFXLEVBQUUsR0FBRztFQUNoQixhQUFhLEVBQUUsR0FBRztFQUNsQixjQUFjLEVBQUUsU0FBUztFQUN6QixlQUFlLEVBQUUsU0FBUyxHZWxDekI7O0FBSEgsQUFLRSxxQkFMbUIsQ0FLbkIsSUFBSSxBQUFBLEtBQUssQ0FBQztFQUNSLFVBQVUsRUFBRSxlQUFlO0VBQzNCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBR0gsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixPQUFPLEVBQUUsY0FBYztFQUN2QixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixJQUFJLEVBQUUsSUFBSTtFQUNWLEtBQUssRUFBRSxLQUFLO0VBQ1osU0FBUyxFQUFFLGlCQUFpQjtFQUM1QixnQkFBZ0IsRXJCWFYsT0FBTztFcUJZYixLQUFLLEVyQlBDLElBQUk7RXFCUVYsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBaUIsR0FxRXpDO0VBL0VELEFBWUUsa0JBWmdCLENBWWhCLDBCQUEwQixDQUFDO0lBQ3pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLFFBQVE7SUFDbkIsS0FBSyxFQUFFLElBQUksR0FzQlo7SUFyQ0gsQUFpQkksa0JBakJjLENBWWhCLDBCQUEwQixDQUt4QixlQUFlLENBQUM7TWxCb0ZsQixTQUFTLEVIeEZNLElBQUk7TUd5Rm5CLFNBQVMsRUFBRSxJQUFnQztNRzVHM0MsVUFBVSxFTklDLE9BQU87TU1IbEIsTUFBTSxFQUFFLENBQUM7TUFDVCxVQUFVLEVBQUUsSUFBSTtNQUNoQixLQUFLLEVBQUUsSUFBSTtNQUNYLFdBQVcsRUFBRSxHQUFHO01BQ2hCLE9BQU8sRUFBRSxZQUFZO01BQ3JCLFdBQVcsRUFBRSxDQUFDO01BQ2QsT0FBTyxFQUFFLFlBQVk7TUFDckIsZUFBZSxFQUFFLElBQUk7TUFDckIsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLFNBQVM7TUFDekIsVUFBVSxFQUFFLDJDQUEyQztNQUN2RCxhQUFhLEVBQUUsMkNBQTJDO01BQzFELGNBQWMsRUFBRSwyQ0FBMkM7TUFDM0Qsc0JBQXNCLEVBQUUsV0FBVztNZVcvQixNQUFNLEVBQUUsYUFBYTtNQUNyQixLQUFLLEVBQUUsSUFBSTtNQUNYLGNBQWMsRUFBRSxJQUFJO01BQ3BCLE9BQU8sRUFBRSxDQUFDLEdBY1g7TUFwQ0wsQWZVRSxrQmVWZ0IsQ0FZaEIsMEJBQTBCLENBS3hCLGVBQWUsQWZQaEIsT0FBTyxFZVZWLGtCQUFrQixDQVloQiwwQkFBMEIsQ0FLeEIsZUFBZSxBZk5oQixNQUFNLEVlWFQsa0JBQWtCLENBWWhCLDBCQUEwQixDQUt4QixlQUFlLEFmTGhCLE1BQU0sQ0FBQztRQUNOLFVBQVUsRU5oQk4sT0FBTztRTWlCWCxLQUFLLEVObEJJLElBQUk7UU1tQmIsT0FBTyxFQUFFLElBQUksR0FDZDtNZWhCSCxBQTRCTSxrQkE1QlksQ0FZaEIsMEJBQTBCLENBS3hCLGVBQWUsQUFXWixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtNQTlCUCxBQWdDTSxrQkFoQ1ksQ0FZaEIsMEJBQTBCLENBS3hCLGVBQWUsQUFlWixNQUFNLEVBaENiLGtCQUFrQixDQVloQiwwQkFBMEIsQ0FLeEIsZUFBZSxBQWdCWixNQUFNLENBQUM7UUFDTixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQW5DUCxBQXVDRSxrQkF2Q2dCLENBdUNoQix5QkFBeUIsQ0FBQztJQUN4QixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxRQUFRO0lBQ25CLE1BQU0sRUFBRSxRQUFRLEdBOEJqQjtJQXhFSCxBQTRDSSxrQkE1Q2MsQ0F1Q2hCLHlCQUF5QixDQUt2QixFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsQ0FBQztNQUNWLFlBQVksRUFBRSxJQUFJLEdBY25CO01BNURMLEFBZ0RNLGtCQWhEWSxDQXVDaEIseUJBQXlCLENBS3ZCLEVBQUUsQUFJQyxRQUFRLENBQUM7UUFDUixPQUFPLEVBQUUsSUFBSTtRQUNiLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TUFuRFAsQUFxRE0sa0JBckRZLENBdUNoQix5QkFBeUIsQ0FLdkIsRUFBRSxBQVNDLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO01BdkRQLEFBeURNLGtCQXpEWSxDQXVDaEIseUJBQXlCLENBS3ZCLEVBQUUsQUFhQyxZQUFhLENBQUEsQ0FBQyxFQUFFO1FBQ2YsT0FBTyxFQUFFLElBQUksR0FDZDtJQTNEUCxBQThESSxrQkE5RGMsQ0F1Q2hCLHlCQUF5QixDQXVCdkIsQ0FBQyxDQUFDO01BR0EsZUFBZSxFQUFFLFNBQVMsR0FNM0I7TUF2RUwsQUFtRU0sa0JBbkVZLENBdUNoQix5QkFBeUIsQ0F1QnZCLENBQUMsQUFLRSxNQUFNLEVBbkViLGtCQUFrQixDQXVDaEIseUJBQXlCLENBdUJ2QixDQUFDLEFBTUUsTUFBTSxDQUFDO1FBQ04sZUFBZSxFQUFFLElBQUksR0FDdEI7RUF0RVAsQUEwRUUsa0JBMUVnQixDQTBFaEIsd0JBQXdCLENBQUM7SUFDdkIsT0FBTyxFQUFFLENBQUM7SUFDVixLQUFLLEVBQUUsSUFBSTtJQUNYLFFBQVEsRUFBRSxLQUFLLEdBQ2hCOztBQUdILEFBQ0UsMEJBRHdCLENBQ3hCLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDWixPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBSkgsQUFNRSwwQkFOd0IsQ0FNeEIseUJBQXlCLENBQUM7RUFDeEIsT0FBTyxFQUFFLE1BQU07RUFDZixnQkFBZ0IsRXJCN0ZQLElBQUk7RXFCOEZiLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDckI5RmYsSUFBSTtFcUIrRmIsTUFBTSxFQUFFLElBQUksR0ErQmI7RUF6Q0gsQUFZSSwwQkFac0IsQ0FNeEIseUJBQXlCLENBTXZCLElBQUksQ0FBQztJQUdILFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxLQUFLLEdBQ3RCOztBQWpCTCxBQTJDRSwwQkEzQ3dCLENBMkN4Qix1QkFBdUIsQ0FBQztFQUN0QixHQUFHLEVBQUUsSUFBSTtFQUNULGdCQUFnQixFckI1SFosSUFBSSxHcUJ5S1Q7RUExRkgsQUErQ0ksMEJBL0NzQixDQTJDeEIsdUJBQXVCLENBSXJCLGtCQUFrQixBQUFBLE9BQU8sQ0FBQztJQUN4QixnQkFBZ0IsRXJCbklULE9BQU8sR3FCb0lmO0VBakRMLEFBb0RNLDBCQXBEb0IsQ0EyQ3hCLHVCQUF1QixDQVFyQix5QkFBeUIsQ0FDdkIsOEJBQThCLENBQUM7SUFDN0IsVUFBVSxFckJ6SVYsT0FBTztJcUIwSVAsS0FBSyxFckJySUwsSUFBSTtJcUJzSUosYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENyQjNJeEIsT0FBTyxHcUI0SVI7RUF4RFAsQUEwRE0sMEJBMURvQixDQTJDeEIsdUJBQXVCLENBUXJCLHlCQUF5QixDQU92QixrQ0FBa0MsQ0FBQztJQUVqQyxVQUFVLEVyQmhKVixPQUFPO0lxQmlKUCxLQUFLLEVyQjVJTCxJQUFJLEdxQjhJTDtFQS9EUCxBQWtFUSwwQkFsRWtCLENBMkN4Qix1QkFBdUIsQ0FRckIseUJBQXlCLEFBY3RCLE9BQU8sQ0FDTiw4QkFBOEIsQ0FBQztJQUM3QixLQUFLLEVyQnRKRixPQUFPLEdxQnVKWDtFQXBFVCxBQThFTSwwQkE5RW9CLENBMkN4Qix1QkFBdUIsQ0E2QnJCLGdDQUFnQyxDQU05QixDQUFDLENBQUM7SUFDQSxTQUFTLEVBQUUsTUFBTSxHQUNsQjtFQWhGUCxBQXFGUSwwQkFyRmtCLENBMkN4Qix1QkFBdUIsQ0E2QnJCLGdDQUFnQyxDQVU5QixFQUFFLENBR0EsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUF2RlQsQUE0RkUsMEJBNUZ3QixDQTRGeEIseUJBQXlCLENBQUM7RUFDeEIsZ0JBQWdCLEVyQmpMWixPQUFPO0VxQmtMWCxNQUFNLEVBQUUsQ0FBQyxHQThCVjtFQTVISCxBQWdHSSwwQkFoR3NCLENBNEZ4Qix5QkFBeUIsQ0FJdkIsNEJBQTRCLENBQUM7SUFDM0IsS0FBSyxFQUFFLHNCQUFzQjtJQUM3QixTQUFTLEVBQUUsMkJBQTJCLEdBQ3ZDO0VBbkdMLEFBdUdNLDBCQXZHb0IsQ0E0RnhCLHlCQUF5QixDQVN2QiwwQkFBMEIsQ0FFeEIsTUFBTSxDQUFDO0lBQ0wsZ0JBQWdCLEVyQjNMWCxPQUFPLENxQjJMa0IsVUFBVTtJQUN4QyxZQUFZLEVyQjVMUCxPQUFPLENxQjRMYyxVQUFVO0lBQ3BDLEtBQUssRXJCekxMLElBQUksQ3FCeUxVLFVBQVUsR0FDekI7RUEzR1AsQUF1R00sMEJBdkdvQixDQTRGeEIseUJBQXlCLENBU3ZCLDBCQUEwQixDQUV4QixNQUFNLENBTUM7SUFFTCxjQUFjLEVBQUUsS0FBSyxHQVd0QjtJQTFIUCxBQXNIUSwwQkF0SGtCLENBNEZ4Qix5QkFBeUIsQ0FTdkIsMEJBQTBCLENBUXhCLE1BQU0sQUFTSCxNQUFNLEVBdEhmLDBCQUEwQixDQTRGeEIseUJBQXlCLENBU3ZCLDBCQUEwQixDQVF4QixNQUFNLEFBVUgsTUFBTSxDQUFDO01BQ04sU0FBUyxFQUFFLElBQUksR0FDaEI7O0FDbE5ULEFBQUEsV0FBVyxDQUFDO0VuQjZHVixTQUFTLEVIOUVJLElBQUk7RUcrRWpCLFNBQVMsRUFBRSxNQUFnQztFbUI1RzNDLGNBQWMsRUFBRSxTQUFTLEdBSzFCO0VBUEQsQUFJRSxXQUpTLENBSVQsQ0FBQyxDQUFDO0lBQ0EsS0FBSyxFdEJBRCxPQUFPLEdzQkNaOztBQ1BILEFBQ0UsbUJBRGlCLENBQ2pCLEVBQUUsRUFESixtQkFBbUIsQzBDRm5CLGNBQWMsQ0FLWixhQUFhLEFBQUEsWUFBWSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFMbkQsY0FBYyxDQUtaLGFBQWEsQUFBQSxZQUFZLENBQUMsTUFBTSxDMUNIbEMsbUJBQW1CLEMwQ0dnQixnQkFBZ0IsRTFDSG5ELG1CQUFtQixDMENGbkIsY0FBYyxDQWlCWixRQUFRLENBS04sTUFBTSxFQXRCVixjQUFjLENBaUJaLFFBQVEsQzFDZlYsbUJBQW1CLEMwQ29CZixNQUFNLEUxQ3BCVixtQkFBbUIsQzBDRm5CLGNBQWMsQ0E2Q1osc0NBQXNDLENBQ3BDLEVBQUUsRUE5Q04sY0FBYyxDQTZDWixzQ0FBc0MsQzFDM0N4QyxtQkFBbUIsQzBDNENmLEVBQUUsRTFDNUNOLG1CQUFtQixDMENGbkIsY0FBYyxDQTZDWixzQ0FBc0MsQ0E1Q3RDLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBRHZDLGNBQWMsQ0E2Q1osc0NBQXNDLENBNUN0QyxhQUFhLENBQUMsTUFBTSxDMUNDdEIsbUJBQW1CLEMwQ0RJLGdCQUFnQixFMUNDdkMsbUJBQW1CLEMwQ0ZuQixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0E0Q3BCLHNDQUFzQyxDQTVDakIsZ0JBQWdCLEVBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQTRDcEIsc0NBQXNDLEMxQzNDeEMsbUJBQW1CLEMwQ0RJLGdCQUFnQixFMUNDdkMsbUJBQW1CLEM2Q0ZuQixZQUFZLENBbUNWLEVBQUUsRUFuQ0osWUFBWSxDN0NFWixtQkFBbUIsQzZDaUNqQixFQUFFLEU3Q2pDSixtQkFBbUIsQzZDRm5CLFlBQVksQ0hBWixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUdEdkMsWUFBWSxDSEFaLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDMUNDdEIsbUJBQW1CLEMwQ0RJLGdCQUFnQixFMUNDdkMsbUJBQW1CLEMwQ0ZuQixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0dEdEIsWUFBWSxDSENXLGdCQUFnQixFQUR2QyxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0dEdEIsWUFBWSxDN0NFWixtQkFBbUIsQzBDREksZ0JBQWdCLEMxQ0VsQztFQUNELGFBQWEsRUFBRSxDQUFDO0VBQ2hCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUdILEFBQ0UsNEJBRDBCLEFBQ3pCLGdDQUFnQyxDQUFDO0VBQ2hDLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDdkJVUixPQUFPO0V1QlR2QixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsSUFBSTtFQUNwQixrQkFBa0IsRUFBRSwyQkFBMkIsR0FLaEQ7RUFWSCxBQU9JLDRCQVB3QixBQUN6QixnQ0FBZ0MsQUFNOUIsV0FBVyxDQUFDO0lBQ1gsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBSUwsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixjQUFjLEVBQUUsSUFBSSxHQUlyQjtFcEJ5QkcsQUFBQSxPQUFPLENvQjlCWCxrQkFBa0IsQ3BCOEJKO0lvQjNCVixPQUFPLEVBQUUsSUFBSSxHcEJnQ1o7RUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvQnZDcEMsQUFBQSxrQkFBa0IsQ0FBQztNQUdmLE9BQU8sRUFBRSxJQUFJLEdBRWhCOztBQUVELEFBQ0UseUJBRHVCLENBQ3ZCLEVBQUUsRUFESix5QkFBeUIsQzBDN0J6QixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFEdkMsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLEMxQzRCdEIseUJBQXlCLEMwQzVCRixnQkFBZ0IsQzFDNkJsQztFcEJrRkgsU0FBUyxFSC9FSSxJQUFJO0VHZ0ZqQixTQUFTLEVBQUUsVUFBZ0M7RW9CakZ6QyxLQUFLLEV2QnhCRCxPQUFPO0V1QnlCWCxjQUFjLEVBQUUsU0FBUztFQUN6QixPQUFPLEVBQUUsWUFBWTtFQUNyQixhQUFhLEVBQUUsR0FBRyxHQUNuQjs7QUFQSCxBQVNFLHlCQVR1QixBQVN0QixNQUFNLENBQUM7RXRCakJSLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsTUFBTTtFQUNuQixZQUFZLEVBQUUsTUFBTTtFQUNwQixjQUFjLEVBQUUsSUFBSTtFQUNwQixXQUFXLEVBQUUsQ0FBQztFQUNkLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFc0JZaEMsT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixTQUFTLEVBQUUsSUFBSSxHQUNoQjs7QUFHSCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLEtBQUssRXZCeENNLE9BQU87RXVCeUNsQixXQUFXLEVBQUUsR0FBRyxHQXNCakI7RUF4QkQsQUFJRSx3QkFKc0IsQ0FJdEIsR0FBRyxDQUFDO0lBQ0YsT0FBTyxFQUFFLElBQUk7SUFDYixZQUFZLEVBQUUsR0FBRztJQUNqQixZQUFZLEVBQUUsS0FBSyxHQUNwQjtFQVJILEFBU0Usd0JBVHNCLENBU3RCLGdCQUFnQixDQUFDO0lBQ2YsS0FBSyxFdkI5Q0UsT0FBTztJdUIrQ2QsWUFBWSxFdkIvQ0wsT0FBTyxHdUJnRGY7RUFaSCxBQWNFLHdCQWRzQixDQWN0QixzQkFBc0IsQ0FBQztJQUNyQixLQUFLLEV2QnBESyxPQUFPO0l1QnFEakIsWUFBWSxFdkJyREYsT0FBTyxHdUJzRGxCO0VBakJILEFBbUJFLHdCQW5Cc0IsQ0FtQnRCLFFBQVEsQ0FBQztJQUNQLEtBQUssRXZCM0RJLE9BQU87SXVCNERoQixZQUFZLEV2QjVESCxPQUFPLEd1QjZEakI7O0FBSUgsQUFBQSxlQUFlLENBQUM7RUFLZCxVQUFVLEVBQUUsSUFBSSxHQUNqQjtFcEI1QkcsQUFBQSxPQUFPLENvQnNCWCxlQUFlLENwQnRCRDtJb0J3QlYsT0FBTyxFQUFFLElBQUksR3BCbkJaO0VBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztJb0JhcEMsQUFBQSxlQUFlLENBQUM7TUFFWixPQUFPLEVBQUUsSUFBSSxHQUloQjs7QXBCNUJHLEFBQUEsT0FBTyxDb0I4QlgscUJBQXFCLENwQjlCUDtFb0JnQ1YsSUFBSSxFQUFFLFNBQVM7RUFDZixhQUFhLEVBQUUsSUFBSSxHcEI1QmxCOztBQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7RW9CcUJwQyxBQUFBLHFCQUFxQixDQUFDO0lBRWxCLElBQUksRUFBRSxTQUFTO0lBQ2YsYUFBYSxFQUFFLElBQUksR0FFdEI7O0FwQm5DRyxBQUFBLE9BQU8sQ29CcUNYLHNCQUFzQixDcEJyQ1I7RW9CdUNWLElBQUksRUFBRSxRQUNSLEdwQm5DRzs7QUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0VvQjRCcEMsQUFBQSxzQkFBc0IsQ0FBQztJQUVuQixJQUFJLEVBQUUsUUFDUixHQUNEOztBcEJ6Q0csQUFBQSxPQUFPLENvQjJDWCw0QkFBNEIsQ3BCM0NkO0VvQjZDVixJQUFJLEVBQUUsUUFDUixHcEJ6Q0c7O0FBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztFb0JrQ3BDLEFBQUEsNEJBQTRCLENBQUM7SUFFekIsSUFBSSxFQUFFLFFBQ1IsR0FDRDs7QUFFRCxBQUFBLDRCQUE0QixDQUFDO0VBQzNCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBQUtELEFBRUUsOEJBRjRCLENBRTVCLGFBQWE7QUFEZixnQ0FBZ0MsQ0FDOUIsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFLYixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3ZCM0dSLE9BQU87RXVCNEdoQixPQUFPLEVBQUUsYUFBYTtFQUN0QixhQUFhLEVBQUUsSUFBSTtFQUNuQixnQkFBZ0IsRUFBRSxPQUFPLEdBd0IxQjtFQW5DSCxBQUlJLDhCQUowQixDQUU1QixhQUFhLENBRVgsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWDtFQUhWLGdDQUFnQyxDQUM5QixhQUFhLENBRVgsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQUFhO0lBQ2pCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBTkwsQUFjTSw4QkFkd0IsQ0FFNUIsYUFBYSxDQVdYLGVBQWUsQ0FDYixLQUFLO0VBYlgsZ0NBQWdDLENBQzlCLGFBQWEsQ0FXWCxlQUFlLENBQ2IsS0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUUsVUFBVTtJQUNsQixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQWxCUCxBQXFCSSw4QkFyQjBCLENBRTVCLGFBQWEsQ0FtQlgsS0FBSyxBQUFBLE9BQU87RUFwQmhCLGdDQUFnQyxDQUM5QixhQUFhLENBbUJYLEtBQUssQUFBQSxPQUFPLENBQUM7SUFDWixPQUFPLEVBQUUsSUFBSSxHQUNiO0VBdkJMLEFBeUJJLDhCQXpCMEIsQ0FFNUIsYUFBYSxDQXVCWCxrQ0FBa0M7RUF4QnRDLGdDQUFnQyxDQUM5QixhQUFhLENBdUJYLGtDQUFrQyxDQUFDO0lBQ2pDLEtBQUssRUFBRSxJQUFJLEdBSVo7SXBCdEZELEFBQUEsT0FBTyxDb0J3RFgsOEJBQThCLENBRTVCLGFBQWEsQ0F1Qlgsa0NBQWtDLEVwQmpGbEMsT0FBTztJb0J5RFgsZ0NBQWdDLENBQzlCLGFBQWEsQ0F1Qlgsa0NBQWtDLENwQmpGeEI7TW9Cb0ZOLEtBQUssRUFBRSxHQUFHLEdwQi9FYjtJQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW9CK0NwQyxBQXlCSSw4QkF6QjBCLENBRTVCLGFBQWEsQ0F1Qlgsa0NBQWtDO01BeEJ0QyxnQ0FBZ0MsQ0FDOUIsYUFBYSxDQXVCWCxrQ0FBa0MsQ0FBQztRQUcvQixLQUFLLEVBQUUsR0FBRyxHQUViO0VBOUJMLEFBZ0NJLDhCQWhDMEIsQ0FFNUIsYUFBYSxDQThCWCxhQUFhO0VBL0JqQixnQ0FBZ0MsQ0FDOUIsYUFBYSxDQThCWCxhQUFhLENBQUM7SUFDWixVQUFVLEVBQUUsUUFBUSxHQUNyQjs7QUFRTCxBQUNFLDJCQUR5QixDQUN6QixDQUFDLENBQUM7RUFDQSxVQUFVLEVBQUUsQ0FBQyxHQUNkOztBQUhILEFBS0UsMkJBTHlCLENBS3pCLENBQUMsQ0FBQztFQUNBLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLFNBQVMsR0FjMUI7RUF0QkgsQUFTSSwyQkFUdUIsQ0FLekIsQ0FBQyxBQUlFLE9BQU8sQ0FBQTtJdEIxSVYsV0FBVyxFQUFFLG9CQUFvQjtJQUNqQyxLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFlBQVksRUFBRSxNQUFNO0lBQ3BCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFdBQVcsRUFBRSxDQUFDO0lBQ2Qsc0JBQXNCLEVBQUUsV0FBVztJQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0lzQnFJOUIsT0FBTyxFQUFFLFlBQVk7SUFDckIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLEdBQUc7SUFDUixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxjQUFjLEdBQzFCO0VBakJMLEFBbUJJLDJCQW5CdUIsQ0FLekIsQ0FBQyxBQWNFLE1BQU0sQ0FBQztJQUNQLEtBQUssRUFBRSxPQUF3QixHQUMvQjs7QUFNTCxBQUNFLDZCQUQyQixDQUMzQixDQUFDLENBQUM7RXBCbEVGLFNBQVMsRUh4Rk0sSUFBSTtFR3lGbkIsU0FBUyxFQUFFLElBQWdDO0VHNUczQyxVQUFVLEVOSUMsT0FBTztFTUhsQixNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxJQUFJO0VBQ2hCLEtBQUssRUFBRSxJQUFJO0VBQ1gsV0FBVyxFQUFFLEdBQUc7RUFDaEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsV0FBVyxFQUFFLENBQUM7RUFDZCxPQUFPLEVBQUUsWUFBWTtFQUNyQixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsU0FBUztFQUN6QixVQUFVLEVBQUUsMkNBQTJDO0VBQ3ZELGFBQWEsRUFBRSwyQ0FBMkM7RUFDMUQsY0FBYyxFQUFFLDJDQUEyQztFQUMzRCxzQkFBc0IsRUFBRSxXQUFXO0VpQmlLakMsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLG1CQUFtQjtFQUM1QixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsS0FBSztFQUNqQixLQUFLLEVBQUUsSUFBSSxHQVlaO0VBbkJILEFqQjVKRSw2QmlCNEoyQixDQUMzQixDQUFDLEFqQjdKQSxPQUFPLEVpQjRKViw2QkFBNkIsQ0FDM0IsQ0FBQyxBakI1SkEsTUFBTSxFaUIySlQsNkJBQTZCLENBQzNCLENBQUMsQWpCM0pBLE1BQU0sQ0FBQztJQUNOLFVBQVUsRU5oQk4sT0FBTztJTWlCWCxLQUFLLEVObEJJLElBQUk7SU1tQmIsT0FBTyxFQUFFLElBQUksR0FDZDtFaUJzSkgsQUFTSSw2QkFUeUIsQ0FDM0IsQ0FBQyxBQVFFLE9BQU8sQ0FBQztJdEJyS1gsV0FBVyxFQUFFLG9CQUFvQjtJQUNqQyxLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFlBQVksRUFBRSxNQUFNO0lBQ3BCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFdBQVcsRUFBRSxDQUFDO0lBQ2Qsc0JBQXNCLEVBQUUsV0FBVztJQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0lzQmdLOUIsU0FBUyxFQUFFLElBQUk7SUFDZixRQUFRLEVBQUUsUUFBUTtJQUNsQixJQUFJLEVBQUUsSUFBSTtJQUNWLEdBQUcsRUFBRSxHQUFHO0lBQ1IsVUFBVSxFQUFFLEtBQUs7SUFDakIsU0FBUyxFQUFFLGNBQWMsR0FDMUI7O0FBT0wsQUFBQSxHQUFHLENBQUMsS0FBSyxBQUFBLGtCQUFrQixDQUFDO0VBQzFCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsbUJBQW1CLEVBQUUsV0FBVyxHQUNqQzs7QUFHRCxBQUFBLG1DQUFtQyxDQUFDO0VBQ2xDLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFNBQVMsRUFBRSxJQUFJLEdBZWhCO0VBbEJELEFBTUUsbUNBTmlDLENBTWpDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDTCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtFQVJILEFBVUUsbUNBVmlDLENBVWpDLDZCQUE2QixDQUFDO0lBQzVCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBWkgsQUFjRSxtQ0FkaUMsQ0FjakMsbUNBQW1DLENBQUM7SUFDbEMsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QUFJSCxBQUdFLCtCQUg2QixBQUc1QixVQUFVLEFBQUEsa0JBQWtCLENBQUM7RUFDNUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN2QnBORCxPQUFPO0V1QnFOdkIsVUFBVSxFQUFFLENBQUMsR0FDZDs7QUFOSCxBQVFFLCtCQVI2QixDQVE3QixxQkFBcUIsQ0FBQztFQUNwQixNQUFNLEVBQUUsQ0FBQztFQUNULEtBQUssRXZCdk9ELE9BQU87RXVCd09YLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FRWDtFQXBCSCxBQWVNLCtCQWZ5QixDQVE3QixxQkFBcUIsQUFNbEIsZ0JBQWdCLENBQ2YsbUNBQW1DLENBQUM7SUFDbEMsVUFBVSxFQUFFLE9BQWlCO0lBQzdCLEtBQUssRXZCek9MLElBQUksR3VCME9MOztBQWxCUCxBQXNCRSwrQkF0QjZCLENBc0I3QixhQUFhLENBQUM7RUFDWixnQkFBZ0IsRUFBRSxJQUFJLEdBTXZCO0VBN0JILEFBeUJJLCtCQXpCMkIsQ0FzQjdCLGFBQWEsQUFHVixNQUFNLENBQUM7SUFDTixVQUFVLEVBQUUsT0FBaUI7SUFDN0IsS0FBSyxFdkJuUEgsSUFBSSxHdUJvUFA7O0FBNUJMLEFBK0JFLCtCQS9CNkIsQ0ErQjdCLENBQUMsQ0FBQztFQUNBLGVBQWUsRUFBRSxJQUFJLEdBQ3RCOztBQUlILEFBRUksZ0JBRlksQ0FDZCxhQUFhLENBQ1gscUJBQXFCLENBQUM7RUFDcEIsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFKTCxBQU9FLGdCQVBjLENBT2QsNEJBQTRCLENBQUE7RXBCaks1QixTQUFTLEVvQmtLb0IsSUFBSTtFcEJqS2pDLFNBQVMsRUFBRSxVQUFnQztFb0JrS3pDLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQVhILEFBYUUsZ0JBYmMsQ0FhZCxFQUFFLEFBQUEsYUFBYSxDQUFDO0VwQnZLaEIsU0FBUyxFSHhGTSxJQUFJO0VHeUZuQixTQUFTLEVBQUUsSUFBZ0M7RW9Cd0t6QyxLQUFLLEV2QmpSRCxPQUFPO0V1QmtSWCxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3ZCclFSLE9BQU8sR3VCMFF4QjtFQXJCSCxBQWtCSSxnQkFsQlksQ0FhZCxFQUFFLEFBQUEsYUFBYSxBQUtaLFdBQVcsQ0FBQztJQUNYLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBcEJMLEFBdUJFLGdCQXZCYyxDQXVCZCxnQkFBZ0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FDblNILEFBRUksaUJBRmEsQUFDZCxpQ0FBaUMsQ0FDaEMsYUFBYSxDQUFDO0VsQ2lFZCxLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0VJdUUxQyxLQUFLLEVKNUVELElBQXFDO0VFNkN6QyxZQUFvQixFQUFTLENBQUM7RW9DbEQ5QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQU5MLEFsQ3dGTSxpQmtDeEZXLEFBQ2QsaUNBQWlDLENBQ2hDLGFBQWEsQWxDc0ZWLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QWtDMUZQLEFBUUksaUJBUmEsQUFDZCxpQ0FBaUMsQ0FPaEMsV0FBVyxDQUFDO0VsQzJEWixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0VJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdzQ00xQztFQWhCTCxBbEN3Rk0saUJrQ3hGVyxBQUNkLGlDQUFpQyxDQU9oQyxXQUFXLEFsQ2dGUixXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RWtDMUZQLEFBV00saUJBWFcsQUFDZCxpQ0FBaUMsQ0FPaEMsV0FBVyxDQUdULEdBQUcsQ0FBQztJQUNGLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLEdBQUc7SUFDZixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQWZQLEFBa0JJLGlCQWxCYSxBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDQUFDO0VsQ2lEYixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0VJdUUxQyxLQUFLLEVKNUVELElBQXFDO0VFNkN6QyxZQUFvQixFQUFTLENBQUMsR29DdkIvQjtFQWhDTCxBbEN3Rk0saUJrQ3hGVyxBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxBbENzRVQsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VrQzFGUCxBQXNCTSxpQkF0QlcsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ0FJVixDQUFDLENBQUM7SUFDQSxVQUFVLEVBQUUsQ0FBQyxHQUNkO0VBeEJQLEFBMEJNLGlCQTFCVyxBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDQVFWLGFBQWEsQ0FBQztJQUVaLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLEdBQUcsR0FDaEI7O0FBL0JQLEFBa0NJLGlCQWxDYSxBQUNkLGlDQUFpQyxDQWlDaEMsV0FBVyxHQUFDLFlBQVksQ0FBQztFbENpQ3pCLEtBQUssRUFBQyxJQUFDO0VBR0wsT0FBTyxFQUFFLEtBQUs7RUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7RUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7RUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHb0NsQi9CO0VBckNMLEFsQ3dGTSxpQmtDeEZXLEFBQ2QsaUNBQWlDLENBaUNoQyxXQUFXLEdBQUMsWUFBWSxBbENzRHJCLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QWtDMUZQLEFBdUNJLGlCQXZDYSxBQUNkLGlDQUFpQyxDQXNDaEMsYUFBYSxDQUFDO0VyQnlFaEIsU0FBUyxFSDlFSSxJQUFJO0VHK0VqQixTQUFTLEVBQUUsTUFBZ0M7RUd2RTNDLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGNBQWMsRUFBRSxTQUFTLEdrQkp0Qjs7QUF6Q0wsQUE2Q00saUJBN0NXLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FFbkMsa0JBQWtCO0FBN0N4QixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQUduQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUM7RUFDbEMsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFoRFAsQUFrRE0saUJBbERXLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FPbkMsa0JBQWtCLENBQUM7RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBckRQLEFBdURNLGlCQXZEVyxBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBWW5DLGFBQWE7QUF2RG5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBYW5DLGtCQUFrQjtBQXhEeEIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FjbkMscUJBQXFCLENBQUM7RUFDcEIsT0FBTyxFQUFFLElBQUksR0FDZDs7QUEzRFAsQUErRFEsaUJBL0RTLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQUFrQmxDLGVBQWUsQ0FFZCxhQUFhO0FBL0RyQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxBQWtCbEMsZUFBZSxDQUdkLGtCQUFrQjtBQWhFMUIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQUFrQmxDLGVBQWUsQ0FJZCxxQkFBcUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQW5FVCxBQXVFUSxpQkF2RVMsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxBQTJCbEMsV0FBVyxDQUNWLEtBQUssQUFBQSxZQUFZLENBQUM7RUFDaEIsVUFBVSxFeEJwREksT0FBd0I7RXdCcUR0QyxNQUFNLEVBQUUsT0FBTyxHQUNoQjs7QUExRVQsQUErRVEsaUJBL0VTLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FrQ25DLHFDQUFxQyxDQUVuQyxhQUFhO0FBL0VyQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQW1DbkMsZ0NBQWdDLENBQzlCLGFBQWEsQ0FBQztFQUNaLE1BQU0sRUFBRSxTQUFTO0VBQ2pCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFNBQVMsRXhCMURGLElBQUk7RXdCMkRYLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQXBGVCxBQXNGUSxpQkF0RlMsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWtDbkMscUNBQXFDLENBU25DLFlBQVk7QUF0RnBCLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBbUNuQyxnQ0FBZ0MsQ0FROUIsWUFBWSxDQUFDO0VBQ1gsTUFBTSxFQUFFLGdCQUFnQixHQUN6Qjs7QUF4RlQsQUEyRk0saUJBM0ZXLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUFDO0VBQ3BCLE1BQU0sRUFBRSxLQUFLLEdBVWQ7RUF0R1AsQUE4RlEsaUJBOUZTLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLLENBQUM7SUFFSixNQUFNLEVBQUUsQ0FBQztJQUNULFNBQVMsRUFBRSxJQUFJO0lBQ2YsY0FBYyxFQUFFLFNBQVM7SUFDekIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsVUFBVSxHQUNuQjs7QUFyR1QsQUF3R00saUJBeEdXLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FBQztFQUNYLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFFBQVEsRUFBRSxRQUFRLEdBMkNuQjtFQXZKUCxBQThHUSxpQkE5R1MsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDQUFDO0lBQ2YsTUFBTSxFQUFFLFVBQVU7SUFDbEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsSUFBSSxHQXFCWjtJQXRJVCxBQW1IVSxpQkFuSE8sQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDQUtkLEtBQUssQ0FBQztNQUVKLE1BQU0sRUFBRSxDQUFDO01BQ1QsYUFBYSxFQUFFLGVBQWU7TUFDOUIsTUFBTSxFQUFFLE9BQU87TUFDZixTQUFTLEVBQUUsSUFBSTtNQUNmLGNBQWMsRUFBRSxTQUFTO01BQ3pCLE9BQU8sRUFBRSxTQUFTO01BQ2xCLE1BQU0sRUFBRSxVQUFVLEdBS25CO01BaElYLEFBNkhZLGlCQTdISyxBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENBS2QsS0FBSyxBQVVGLE1BQU0sQ0FBQztRQUNOLEtBQUssRXhCMUdLLE9BQXdCLEd3QjJHbkM7SUEvSGIsQUFrSVUsaUJBbElPLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ0FvQmQsc0NBQXNDLEdBQUMsS0FBSyxDQUFDO01BQzNDLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDeEIxSHZCLE9BQU87TXdCMkhSLGNBQWMsRUFBRSxHQUFHLEdBQ3BCO0VBcklYLEFBd0lRLGlCQXhJUyxBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBZ0NWLGdCQUFnQixBQUFBLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDaEMsTUFBTSxFQUFFLE9BQU8sR0FNaEI7SUEvSVQsQUEySVUsaUJBM0lPLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FnQ1YsZ0JBQWdCLEFBQUEsV0FBVyxDQUFDLEtBQUssQUFHOUIsTUFBTSxFQTNJakIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FnQ1YsZ0JBQWdCLEFBQUEsV0FBVyxDQUFDLEtBQUssQUFJOUIsTUFBTSxDQUFDO01BQ04sS0FBSyxFeEJySVQsT0FBTyxHd0JzSUo7RUE5SVgsQUFpSlEsaUJBakpTLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0F5Q1YsY0FBYyxDQUFDO0lBQ2IsT0FBTyxFQUFFLEtBQUs7SUFDZCxJQUFJLEVBQUUsSUFBSTtJQUNWLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxJQUFJLEdBQ1Y7O0FBdEpULEFBMEpJLGlCQTFKYSxBQUNkLGlDQUFpQyxDQXlKaEMsdUNBQXVDLENBQUM7RUFDdEMsV0FBVyxFQUFFLEdBQUc7RUFDaEIsTUFBTSxFQUFFLHNCQUFzQixHQUMvQjs7QUE3SkwsQUErSkksaUJBL0phLEFBQ2QsaUNBQWlDLENBOEpoQyw0Q0FBNEM7QUEvSmhELGlCQUFpQixBQUNkLGlDQUFpQyxDQStKaEMsa0RBQWtELENBQUM7RUFDakQsV0FBVyxFQUFFLEdBQUc7RUFDaEIsU0FBUyxFQUFFLEdBQUcsR0FDZjs7QUFuS0wsQUFzS0UsaUJBdEtlLEFBc0tkLG1DQUFtQyxDQUFDO0VBQ25DLFNBQVMsRUFBRSxJQUFJLEdBNkNoQjtFQXBOSCxBQXlLSSxpQkF6S2EsQUFzS2QsbUNBQW1DLENBR2xDLHNCQUFzQixDQUFDO0lBQ3JCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDeEJySkgsT0FBTztJd0JzSnJCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsYUFBYSxFQUFFLEdBQUc7SUFDbEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsUUFBUTtJQUNsQixVQUFVLEVBQUUsTUFBTTtJQUNsQixlQUFlLEVBQUUsZUFBZSxHQUNqQztFQWxMTCxBQW9MSSxpQkFwTGEsQUFzS2QsbUNBQW1DLENBY2xDLHdCQUF3QixDQUFDO0lBQ3ZCLFVBQVUsRUFBRSxVQUFVO0lBQ3RCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLE1BQU07SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLGNBQWMsRUFBRSxHQUFHO0lBQ25CLFFBQVEsRUFBRSxRQUFRLEdBU25CO0lBbk1MLEFBNExNLGlCQTVMVyxBQXNLZCxtQ0FBbUMsQ0FjbEMsd0JBQXdCLENBUXRCLEdBQUcsQ0FBQztNQUNGLE9BQU8sRUFBRSxLQUFLO01BQ2QsSUFBSSxFQUFFLEdBQUc7TUFDVCxRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsR0FBRztNQUNSLFNBQVMsRUFBRSxxQkFBcUIsR0FDakM7RUFsTVAsQUFxTUksaUJBck1hLEFBc0tkLG1DQUFtQyxDQStCbEMsd0JBQXdCLENBQUM7SUFDdkIsVUFBVSxFQUFFLFVBQVU7SUFDdEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxDQUFDO0lBQ2QsTUFBTSxFQUFFLFFBQVE7SUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDVixlQUFlLEVBQUUsZUFBZTtJQUNoQyxLQUFLLEVBQUUsSUFBSSxHQUNaO0VBL01MLEFBaU5JLGlCQWpOYSxBQXNLZCxtQ0FBbUMsQ0EyQ2xDLGVBQWUsQ0FBQztJQUNkLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQ25OTCxBQUFBLGVBQWU7QUFDZixtQkFBbUIsQ0FBQztFdEIrR2xCLFNBQVMsRUg5RUksSUFBSTtFRytFakIsU0FBUyxFQUFFLE1BQWdDO0VHakYzQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVOeEJNLE9BQU87RU15QmxCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGVBQWUsRUFBRSxTQUFTO0VtQmxDMUIsT0FBTyxFQUFFLFlBQVk7RUFDckIsZUFBZSxFQUFFLElBQUksR0FDdEI7O0FBRUQsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVELEFBQUEsZUFBZSxHQUFHLGVBQWUsQ0FBQztFQUNoQyxPQUFPLEVBQUUsWUFBWSxHQUt0QjtFQU5ELEFBR0UsZUFIYSxHQUFHLGVBQWUsQ0FHL0IsbUJBQW1CLENBQUM7SUFDbEIsT0FBTyxFQUFFLE1BQU0sR0FDaEI7O0FDaEJILEFBQUEsUUFBUSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUksR0FNWjtFQVBELEFBR0UsUUFITSxDQUdOLElBQUk7RUFITixRQUFRLENBSU4sTUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLGVBQWUsR0FDdkI7O0FDTkgsQUFBQSxZQUFZLENBQUM7RUFNWCxNQUFNLEVBQUUsZ0JBQWdCO0VBQ3hCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE1BQU0sRUFBRSxNQUFNLEdBS2Y7RXhCZ0RHLE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdCN0RwQyxBQUFBLFlBQVksQ0FBQztNQUdULE1BQU0sRUFBRSxnQkFBZ0IsR0FVM0I7RUFiRCxBQVVFLFlBVlUsQ0FVVixHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ1IsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFHSCxBQUFBLGlDQUFpQyxDQUFDO0VBQ2hDLFVBQVUsRUFBRSxPQUFPO0VBQ25CLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQ2xCRCxBQUNFLGVBRGEsQ0FDYixDQUFDLENBQUM7RXpCK0dGLFNBQVMsRUg5RUksSUFBSTtFRytFakIsU0FBUyxFQUFFLE1BQWdDO0VHakYzQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVOeEJNLE9BQU87RU15QmxCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGVBQWUsRUFBRSxTQUFTLEdzQmxDekI7O0FDSEgsQUFBQSxhQUFhLENBQUM7RUFDWixVQUFVLEVBQUUsSUFBSTtFQUNoQixNQUFNLEVBQUUsUUFBUTtFQUNoQixPQUFPLEVBQUUsQ0FBQyxHQXNCWDtFQXpCRCxBQUtFLGFBTFcsQ0FLWCxFQUFFLENBQUM7SUFDRCxPQUFPLEVBQUUsWUFBWTtJQUNyQixVQUFVLEVBQUUsSUFBSSxHQWlCakI7SUF4QkgsQUFTSSxhQVRTLENBS1gsRUFBRSxDQUlBLENBQUMsQ0FBQztNMUJ1R0osU0FBUyxFSDlFSSxJQUFJO01HK0VqQixTQUFTLEVBQUUsTUFBZ0M7TUdqRjNDLE9BQU8sRUFBRSxZQUFZO01BQ3JCLEtBQUssRU54Qk0sT0FBTztNTXlCbEIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsYUFBYSxFQUFFLEdBQUc7TUFDbEIsY0FBYyxFQUFFLFNBQVM7TUFDekIsZUFBZSxFQUFFLFNBQVM7TUgyRTFCLFNBQVMsRUg5RUksSUFBSTtNRytFakIsU0FBUyxFQUFFLE1BQWdDO00wQnJHdkMsS0FBSyxFN0JKSCxPQUFPO002QktULGVBQWUsRUFBRSxJQUFJO01BQ3JCLE1BQU0sRUFBRSxhQUFhO01BQ3JCLE9BQU8sRUFBRSxpQkFBaUIsR0FRM0I7TUF2QkwsQUFpQk0sYUFqQk8sQ0FLWCxFQUFFLENBSUEsQ0FBQyxBQVFFLE9BQU8sQ0FBQztRQUNQLEtBQUssRUFBRSxJQUFJO1FBQ1gsU0FBUyxFQUFFLElBQUk7UUFDZixVQUFVLEVBQUUsSUFBSTtRQUNoQixZQUFZLEVBQUUsR0FBRyxHQUNsQjs7QUN0QlAsQUFBQSxlQUFlLENBQUM7RTNCZ0hkLFNBQVMsRUg5RUksSUFBSTtFRytFakIsU0FBUyxFQUFFLE1BQWdDO0VHakYzQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVOeEJNLE9BQU87RU15QmxCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGVBQWUsRUFBRSxTQUFTO0VIMkUxQixTQUFTLEVIOUVJLElBQUk7RUcrRWpCLFNBQVMsRUFBRSxNQUFnQztFMkI5RzNDLEtBQUssRTlCS0MsT0FBTztFOEJKYixlQUFlLEVBQUUsSUFBSTtFQUNyQixNQUFNLEVBQUUsWUFBWSxHQUNyQjs7QUNORCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFQUFFLElBQUksR0F3Rlo7RUE1RkQsQUFNRSxpQkFOZSxDQU1mLEVBQUUsQ0FBQztJQUNELGFBQWEsRUFBRSxpQkFBaUI7SUFDaEMsVUFBVSxFQUFFLGlCQUFpQixHQUM5QjtFQVRILEFBV0UsaUJBWGUsQ0FXZixLQUFLLENBQUM7SUFDSixjQUFjLEVBQUUsU0FBUyxHQUMxQjtFQWJILEFBZUUsaUJBZmUsQ0FlZixFQUFFO0VBZkosaUJBQWlCLENBZ0JmLEVBQUUsQ0FBQztJQUNELFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFQUFFLGlCQUFpQixHQWlDM0I7SUFuREgsQUFvQkksaUJBcEJhLENBZWYsRUFBRSxBQUtDLFVBQVcsQ0FBQSxFQUFFO0lBcEJsQixpQkFBaUIsQ0FnQmYsRUFBRSxBQUlDLFVBQVcsQ0FBQSxFQUFFLEVBQUU7TUFDZCxRQUFRLEVBQUUsTUFBTSxHQWNqQjtNQW5DTCxBQXNCTSxpQkF0QlcsQ0FlZixFQUFFLEFBS0MsVUFBVyxDQUFBLEVBQUUsRUFFWixDQUFDO01BdEJQLGlCQUFpQixDQWdCZixFQUFFLEFBSUMsVUFBVyxDQUFBLEVBQUUsRUFFWixDQUFDLENBQUM7UUFDQSxPQUFPLEVBQUUsS0FBSztRQUNkLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBT1g7UTVCa0JILEFBQUEsT0FBTyxDNEJwRFgsaUJBQWlCLENBZWYsRUFBRSxBQUtDLFVBQVcsQ0FBQSxFQUFFLEVBRVosQ0FBQyxFNUI4QkgsT0FBTztRNEJwRFgsaUJBQWlCLENBZ0JmLEVBQUUsQUFJQyxVQUFXLENBQUEsRUFBRSxFQUVaLENBQUMsQzVCOEJPO1U0QnZCSixRQUFRLEVBQUUsT0FBTztVQUNqQixPQUFPLEVBQUUsTUFBTTtVQUNmLE9BQU8sRUFBRSxDQUFDO1VBQ1YsTUFBTSxFQUFFLENBQUMsRzVCeUJkO1FBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztVNEI3RHBDLEFBc0JNLGlCQXRCVyxDQWVmLEVBQUUsQUFLQyxVQUFXLENBQUEsRUFBRSxFQUVaLENBQUM7VUF0QlAsaUJBQWlCLENBZ0JmLEVBQUUsQUFJQyxVQUFXLENBQUEsRUFBRSxFQUVaLENBQUMsQ0FBQztZQU9FLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsT0FBTyxFQUFFLENBQUM7WUFDVixNQUFNLEVBQUUsQ0FBQyxHQUVaO0lBbENQLEFBcUNJLGlCQXJDYSxDQWVmLEVBQUUsQUFzQkMsVUFBVyxDQUFBLEVBQUU7SUFyQ2xCLGlCQUFpQixDQWdCZixFQUFFLEFBcUJDLFVBQVcsQ0FBQSxFQUFFLEVBQUU7TUFDZCxVQUFVLEVBQUUsTUFBTSxHQUNuQjtJQXZDTCxBQXlDSSxpQkF6Q2EsQ0FlZixFQUFFLEFBMEJDLFVBQVcsQ0FBQSxFQUFFO0lBekNsQixpQkFBaUIsQ0FnQmYsRUFBRSxBQXlCQyxVQUFXLENBQUEsRUFBRSxFQUFFO01BQ2QsT0FBTyxFQUFFLElBQUk7TUFDYixVQUFVLEVBQUUsSUFBSSxHQUNqQjtJNUJRRCxBQUFBLE9BQU8sQzRCcERYLGlCQUFpQixDQWVmLEVBQUUsRTVCcUNBLE9BQU87STRCcERYLGlCQUFpQixDQWdCZixFQUFFLEM1Qm9DVTtNNEJMUixPQUFPLEVBQUUscUJBQXFCO01BQzlCLFNBQVMsRUFBRSxJQUFJO01BQ2YsT0FBTyxFQUFFLElBQUksRzVCUWQ7SUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO000QjdEcEMsQUFlRSxpQkFmZSxDQWVmLEVBQUU7TUFmSixpQkFBaUIsQ0FnQmYsRUFBRSxDQUFDO1FBK0JDLE9BQU8sRUFBRSxxQkFBcUI7UUFDOUIsU0FBUyxFQUFFLElBQUk7UUFDZixPQUFPLEVBQUUsSUFBSSxHQUVoQjtFQW5ESCxBQXFERSxpQkFyRGUsQ0FxRGYsRUFBRSxDQUFBLEFBQUEsUUFBQyxFQUFVLFVBQVUsQUFBcEIsRUFBc0I7SUFDdkIsTUFBTSxFQUFFLE9BQU8sR0FDaEI7RUF2REgsQUF5REUsaUJBekRlLENBeURmLEtBQUssQ0FBQyxFQUFFLEFBQUEsVUFBVyxDQUFBLElBQUksRUFBRTtJQUN2QixnQkFBZ0IsRUFBRSxPQUFPO0lBQ3pCLFVBQVUsRUFBRSxDQUFDLEdBQ2Q7RUE1REgsQUE4REUsaUJBOURlLENBOERmLEdBQUcsQ0FBQztJQUNGLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUksR0FNVjtJNUJsQkQsQUFBQSxPQUFPLEM0QnBEWCxpQkFBaUIsQ0E4RGYsR0FBRyxDNUJWUztNNEJlUixNQUFNLEVBQUUsSUFBSTtNQUNaLEtBQUssRUFBRSxJQUFJLEc1QlhaO0lBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztNNEI3RHBDLEFBOERFLGlCQTlEZSxDQThEZixHQUFHLENBQUM7UUFLQSxNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSxJQUFJLEdBRVo7RUF0RUwsQUF3RUUsaUJBeEVlLENBd0VmLFNBQVMsQ0FBQztJQUNSLFdBQVcsRUFBRSxDQUFDO0lBQ2QsVUFBVSxFQUFFLElBQUk7SUFDaEIsTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxNQUFNLEdBY25CO0lBM0ZILEFBK0VJLGlCQS9FYSxDQXdFZixTQUFTLENBT1AsRUFBRSxDQUFDO01BQ0QsT0FBTyxFQUFFLENBQUM7TUFDVixNQUFNLEVBQUUsQ0FBQztNQUNULE9BQU8sRUFBRSxZQUFZO01BQ3JCLFdBQVcsRUFBRSxDQUFDLEdBT2Y7TUExRkwsQUFxRk0saUJBckZXLENBd0VmLFNBQVMsQ0FPUCxFQUFFLENBTUEsR0FBRyxDQUFDO1FBQ0YsT0FBTyxFQUFFLFlBQVk7UUFDckIsV0FBVyxFQUFFLENBQUM7UUFDZCxNQUFNLEVBQUUsR0FBRyxHQUNaOztBQUtQLEFBQUEsUUFBUTtBQUNSLGNBQWMsQ0FBQyxVQUFVLENBQUM7RTVCakZ4QixJQUFJLEVBQUUsQ0FBQztFNEJtRlAsY0FBYyxFQUFFLFNBQVM7RUFDekIsT0FBTyxFQUFFLE1BQU07RUFDZixNQUFNLEVBQUUsTUFBTSxHQWlFZjtFQXRFRCxBNUI5RUUsUTRCOEVNLEE1QjlFTCxNQUFNO0U0QitFVCxjQUFjLENBQUMsVUFBVSxBNUIvRXRCLE1BQU0sQ0FBQztJQUNOLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEdBQUc7SUFDWixPQUFPLEVBQUUsS0FBSztJQUNkLFNBQVMsRUFBRSxDQUFDO0lBQ1osTUFBTSxFQUFFLENBQUM7SUFDVCxVQUFVLEVBQUUsTUFBTSxHQUNuQjtFNEJ1RUgsQUFPRSxRQVBNLENBT04sTUFBTTtFQU5SLGNBQWMsQ0FBQyxVQUFVLENBTXZCLE1BQU0sQ0FBQztJQUNMLGFBQWEsRUFBRSxJQUFJLEdBSXBCO0k1QnREQyxBQUFBLE9BQU8sQzRCMENYLFFBQVEsQ0FPTixNQUFNLEU1QmpESixPQUFPO0k0QjJDWCxjQUFjLENBQUMsVUFBVSxDQU12QixNQUFNLEM1QmpETTtNYmVWLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsR2lCK0MxQztNQUxELEFib0NFLE9hcENLLEM0QjBDWCxRQUFRLENBT04sTUFBTSxBekNiRCxXQUFXLEVhcENkLE9BQU87TTRCMkNYLGNBQWMsQ0FBQyxVQUFVLENBTXZCLE1BQU0sQXpDYkQsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lhN0JILE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTRCaUNwQyxBQU9FLFFBUE0sQ0FPTixNQUFNO01BTlIsY0FBYyxDQUFDLFVBQVUsQ0FNdkIsTUFBTSxDQUFDO1F6Q2xDTCxLQUFLLEVBQUMsSUFBQztRQUdMLE9BQU8sRUFBRSxLQUFLO1FBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO1FJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEc2Q2dHNUM7UUFaSCxBekNOTSxReUNNRSxDQU9OLE1BQU0sQXpDYkQsV0FBVztReUNPbEIsY0FBYyxDQUFDLFVBQVUsQ0FNdkIsTUFBTSxBekNiRCxXQUFXLENBQUM7VUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RXlDSVAsQUFjRSxRQWRNLENBY04sRUFBRSxFQWRKLFFBQVEsQ1A5RlIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYSxFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENPNEVoQixRQUFRLENQcEVGLGFBQWEsRU9vRW5CLFFBQVEsQ1A5RlIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLLEVBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ09HM0IsUUFBUSxDUEFBLEtBQUssRU9BYixRQUFRLENQOUZSLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENBS2QsS0FBSyxFQW5IZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDT2hCeEIsUUFBUSxDUHFCRSxLQUFLLEVPckJmLFFBQVEsQzhCOUZSLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssRUEvRVQsYUFBYSxDQTRFWCxtQkFBbUIsQzlCa0JyQixRQUFRLEM4QmZKLEtBQUssRTlCZVQsUUFBUSxDa0M5RlIsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDbEM4QmxDLFFBQVEsQ2tDNUJKLE1BQU07RWxDNkJWLGNBQWMsQ0FBQyxVQUFVLENBYXZCLEVBQUU7RUFiSixjQUFjLENBQUMsVUFBVSxDUC9GekIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYTtFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENPNkVoQixjQUFjLENBQUMsVUFBVSxDUHJFbkIsYUFBYTtFT3FFbkIsY0FBYyxDQUFDLFVBQVUsQ1AvRnpCLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ0FHbkIsS0FBSztFQTlGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENPSTNCLGNBQWMsQ0FBQyxVQUFVLENQRGpCLEtBQUs7RU9DYixjQUFjLENBQUMsVUFBVSxDUC9GekIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ0FLZCxLQUFLO0VBbkhmLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENPZnhCLGNBQWMsQ0FBQyxVQUFVLENQb0JmLEtBQUs7RU9wQmYsY0FBYyxDQUFDLFVBQVUsQzhCL0Z6QixhQUFhLENBNEVYLG1CQUFtQixDQUdqQixLQUFLO0VBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLEM5Qm1CckIsY0FBYyxDQUFDLFVBQVUsQzhCaEJyQixLQUFLO0U5QmdCVCxjQUFjLENBQUMsVUFBVSxDa0MvRnpCLGNBQWMsQ0FnRVosZ0NBQWdDLENBRTlCLE1BQU07RUFsRVYsY0FBYyxDQWdFWixnQ0FBZ0MsQ2xDK0JsQyxjQUFjLENBQUMsVUFBVSxDa0M3QnJCLE1BQU0sQ2xDMENMO0lBQ0QsU0FBUyxFQUFFLElBQUksR0FDaEI7RUFoQkgsQUFrQkUsUUFsQk0sQ0FrQk4sSUFBSTtFQWpCTixjQUFjLENBQUMsVUFBVSxDQWlCdkIsSUFBSSxDQUFDO0k1QmxHTCxJQUFJLEVBQUUsQ0FBQyxHNEJvR047SUFwQkgsQTVCOUVFLFE0QjhFTSxDQWtCTixJQUFJLEE1QmhHSCxNQUFNO0k0QitFVCxjQUFjLENBQUMsVUFBVSxDQWlCdkIsSUFBSSxBNUJoR0gsTUFBTSxDQUFDO01BQ04sS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsR0FBRztNQUNaLE9BQU8sRUFBRSxLQUFLO01BQ2QsU0FBUyxFQUFFLENBQUM7TUFDWixNQUFNLEVBQUUsQ0FBQztNQUNULFVBQVUsRUFBRSxNQUFNLEdBQ25CO0U0QnVFSCxBQXNCRSxRQXRCTSxDQXNCTixFQUFFO0VBckJKLGNBQWMsQ0FBQyxVQUFVLENBcUJ2QixFQUFFLENBQUM7SUFDRCxVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDLEdBNENYO0lBckVILEFBMkJJLFFBM0JJLENBc0JOLEVBQUUsQ0FLQSxFQUFFO0lBMUJOLGNBQWMsQ0FBQyxVQUFVLENBcUJ2QixFQUFFLENBS0EsRUFBRSxDQUFDO01BQ0QsV0FBVyxFQUFFLEdBQUc7TUFDaEIsYUFBYSxFQUFFLEdBQUc7TUFDbEIsWUFBWSxFQUFFLEdBQUc7TUFDakIsT0FBTyxFQUFFLFNBQVM7TUFDbEIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsU0FBUyxFQUFFLElBQUksR0FtQ2hCO01BcEVMLEFBbUNNLFFBbkNFLENBc0JOLEVBQUUsQ0FLQSxFQUFFLENBUUEsWUFBWTtNQWxDbEIsY0FBYyxDQUFDLFVBQVUsQ0FxQnZCLEVBQUUsQ0FLQSxFQUFFLENBUUEsWUFBWSxDQUFDO1FBQ1gsUUFBUSxFQUFFLFFBQVE7UUFDbEIsSUFBSSxFQUFFLENBQUM7UUFDUCxHQUFHLEVBQUUsR0FBRztRQUNSLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUksR0FNYjtRQS9DUCxBQTJDUSxRQTNDQSxDQXNCTixFQUFFLENBS0EsRUFBRSxDQVFBLFlBQVksQ0FRVixHQUFHO1FBMUNYLGNBQWMsQ0FBQyxVQUFVLENBcUJ2QixFQUFFLENBS0EsRUFBRSxDQVFBLFlBQVksQ0FRVixHQUFHLENBQUM7VUFDRixNQUFNLEVBQUUsSUFBSTtVQUNaLEtBQUssRUFBRSxJQUFJLEdBQ1o7TUE5Q1QsQUFpRE0sUUFqREUsQ0FzQk4sRUFBRSxDQUtBLEVBQUUsQ0FzQkEsV0FBVztNQWhEakIsY0FBYyxDQUFDLFVBQVUsQ0FxQnZCLEVBQUUsQ0FLQSxFQUFFLENBc0JBLFdBQVcsQ0FBQztRQUNWLE9BQU8sRUFBRSxNQUFNLEdBQ2hCO01BbkRQLEFBcURNLFFBckRFLENBc0JOLEVBQUUsQ0FLQSxFQUFFLENBMEJBLFlBQVksR0FBRyxXQUFXO01BcERoQyxjQUFjLENBQUMsVUFBVSxDQXFCdkIsRUFBRSxDQUtBLEVBQUUsQ0EwQkEsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUN6QixPQUFPLEVBQUUsWUFBWTtRQUNyQixPQUFPLEVBQUUsZ0JBQWdCLEdBQzFCO01BeERQLEFBMERNLFFBMURFLENBc0JOLEVBQUUsQ0FLQSxFQUFFLEFBK0JDLFVBQVU7TUF6RGpCLGNBQWMsQ0FBQyxVQUFVLENBcUJ2QixFQUFFLENBS0EsRUFBRSxBQStCQyxVQUFVLENBQUM7UUFDVixXQUFXLEVBQUUsSUFBSSxHQVFsQjtRQW5FUCxBQTZEUSxRQTdEQSxDQXNCTixFQUFFLENBS0EsRUFBRSxBQStCQyxVQUFVLENBR1QsS0FBSztRQTVEYixjQUFjLENBQUMsVUFBVSxDQXFCdkIsRUFBRSxDQUtBLEVBQUUsQUErQkMsVUFBVSxDQUdULEtBQUssQ0FBQztVQUNKLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLElBQUksRUFBRSxLQUFLO1VBQ1gsR0FBRyxFQUFFLEdBQUc7VUFDUixVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFNVCxBQUFBLGNBQWMsQ0FBQyxVQUFVLENBQUM7RUFDeEIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVEsR0FtR25CO0VBcEdELEFBR0UsV0FIUyxDQUdULE1BQU0sQ0FBQztJQUNMLGFBQWEsRUFBRSxDQUFDLEdBS2pCO0lBSEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNQU52QyxBQUdFLFdBSFMsQ0FHVCxNQUFNLENBQUM7UUFJSCxVQUFVLEVBQUUsS0FBSyxHQUVwQjtFQVRILEFBV0UsV0FYUyxDQVdULFlBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxJQUFJO0lBTWIsS0FBSyxFQUFFLEtBQUs7SUFDWixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLEtBQUssRUFBRSxHQUFHLEdBS1g7SUFaQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01BZHZDLEFBV0UsV0FYUyxDQVdULFlBQVksQ0FBQztRQUlULE9BQU8sRUFBRSxLQUFLLEdBV2pCO0lBMUJILEFBdUJJLFdBdkJPLENBV1QsWUFBWSxDQVlWLEdBQUcsQ0FBQztNQUNGLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBekJMLEFBNEJFLFdBNUJTLENBNEJULGVBQWUsQ0FBQztJQUlkLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0lBSkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNQTdCdkMsQUE0QkUsV0E1QlMsQ0E0QlQsZUFBZSxDQUFDO1FBRVosYUFBYSxFQUFFLEtBQUssR0FHdkI7RUFqQ0gsQUFtQ0UsV0FuQ1MsQ0FtQ1QsQ0FBQyxDQUFDO0lBQ0EsTUFBTSxFQUFFLENBQUMsR0FDVjtFQXJDSCxBQXVDRSxXQXZDUyxDQXVDVCxFQUFFLEFBQUEsU0FBUyxBQUFBLFNBQVM7RUF2Q3RCLFdBQVcsQ0F3Q1QsRUFBRSxBQUFBLFNBQVMsQ0FBQztJNUJyTVosSUFBSSxFQUFFLENBQUM7STRCdU1MLE9BQU8sRUFBRSxJQUFJO0lBTWIsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQyxHQU9WO0lBekRILEE1QjNKRSxXNEIySlMsQ0F1Q1QsRUFBRSxBQUFBLFNBQVMsQUFBQSxTQUFTLEE1QmxNbkIsTUFBTTtJNEIySlQsV0FBVyxDQXdDVCxFQUFFLEFBQUEsU0FBUyxBNUJuTVYsTUFBTSxDQUFDO01BQ04sS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsR0FBRztNQUNaLE9BQU8sRUFBRSxLQUFLO01BQ2QsU0FBUyxFQUFFLENBQUM7TUFDWixNQUFNLEVBQUUsQ0FBQztNQUNULFVBQVUsRUFBRSxNQUFNLEdBQ25CO0k0QmdNQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01BNUN2QyxBQXVDRSxXQXZDUyxDQXVDVCxFQUFFLEFBQUEsU0FBUyxBQUFBLFNBQVM7TUF2Q3RCLFdBQVcsQ0F3Q1QsRUFBRSxBQUFBLFNBQVMsQ0FBQztRQUtSLE9BQU8sRUFBRSxLQUFLLEdBWWpCO0lBekRILEFBb0RJLFdBcERPLENBdUNULEVBQUUsQUFBQSxTQUFTLEFBQUEsU0FBUyxDQWFsQixFQUFFO0lBcEROLFdBQVcsQ0F3Q1QsRUFBRSxBQUFBLFNBQVMsQ0FZVCxFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsQ0FBQztNQUNWLEtBQUssRUFBRSxJQUFJO01BQ1gsWUFBWSxFQUFFLEdBQUcsR0FDbEI7RUF4REwsQUEyREUsV0EzRFMsQ0EyRFQsRUFBRSxBQUFBLFNBQVMsQ0FBQztJQUNWLE9BQU8sRUFBRSxJQUFJO0lBTWIsVUFBVSxFQUFFLElBQUk7SUFDaEIsYUFBYSxFQUFFLEdBQUcsR0FXbkI7SUFoQkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNQTlEdkMsQUEyREUsV0EzRFMsQ0EyRFQsRUFBRSxBQUFBLFNBQVMsQ0FBQztRQUlSLE9BQU8sRUFBRSxLQUFLLEdBZWpCO0lBOUVILEFBcUVJLFdBckVPLENBMkRULEVBQUUsQUFBQSxTQUFTLEFBVVIsU0FBUyxDQUFDO01BQ1QsYUFBYSxFQUFFLElBQUk7TUFDbkIsT0FBTyxFQUFFLENBQUM7TUFDVixVQUFVLEVBQUUsSUFBSSxHQUNqQjtJQXpFTCxBQTJFSSxXQTNFTyxDQTJEVCxFQUFFLEFBQUEsU0FBUyxDQWdCVCxFQUFFLENBQUMsR0FBRyxDQUFDO01BQ0wsU0FBUyxFQUFFLGVBQWUsR0FDM0I7RUE3RUwsQUFpRkksV0FqRk8sQ0FnRlQsRUFBRSxBQUFBLFNBQVMsQ0FDVCxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQ0wsU0FBUyxFQUFFLGVBQWUsR0FDM0I7RUFuRkwsQUFzRkUsV0F0RlMsQ0FzRlQsRUFBRSxFQXRGSixXQUFXLENrQzNLWCxjQUFjLENBS1osYUFBYSxBQUFBLFlBQVksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBTG5ELGNBQWMsQ0FLWixhQUFhLEFBQUEsWUFBWSxDQUFDLE1BQU0sQ2xDc0tsQyxXQUFXLENrQ3RLd0IsZ0JBQWdCLEVsQ3NLbkQsV0FBVyxDa0MzS1gsY0FBYyxDQWlCWixRQUFRLENBS04sTUFBTSxFQXRCVixjQUFjLENBaUJaLFFBQVEsQ2xDMEpWLFdBQVcsQ2tDckpQLE1BQU0sRWxDcUpWLFdBQVcsQ2tDM0tYLGNBQWMsQ0E2Q1osc0NBQXNDLENBQ3BDLEVBQUUsRUE5Q04sY0FBYyxDQTZDWixzQ0FBc0MsQ2xDOEh4QyxXQUFXLENrQzdIUCxFQUFFLEVsQzZITixXQUFXLENrQzNLWCxjQUFjLENBNkNaLHNDQUFzQyxDQTVDdEMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFEdkMsY0FBYyxDQTZDWixzQ0FBc0MsQ0E1Q3RDLGFBQWEsQ0FBQyxNQUFNLENsQzBLdEIsV0FBVyxDa0MxS1ksZ0JBQWdCLEVsQzBLdkMsV0FBVyxDa0MzS1gsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBNENwQixzQ0FBc0MsQ0E1Q2pCLGdCQUFnQixFQUR2QyxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0E0Q3BCLHNDQUFzQyxDbEM4SHhDLFdBQVcsQ2tDMUtZLGdCQUFnQixFbEMwS3ZDLFdBQVcsQ3FDM0tYLFlBQVksQ0FtQ1YsRUFBRSxFQW5DSixZQUFZLENyQzJLWixXQUFXLENxQ3hJVCxFQUFFLEVyQ3dJSixXQUFXLENxQzNLWCxZQUFZLENIQVosY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVHRHZDLFlBQVksQ0hBWixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ2xDMEt0QixXQUFXLENrQzFLWSxnQkFBZ0IsRWxDMEt2QyxXQUFXLENrQzNLWCxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0dEdEIsWUFBWSxDSENXLGdCQUFnQixFQUR2QyxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0dEdEIsWUFBWSxDckMyS1osV0FBVyxDa0MxS1ksZ0JBQWdCLENsQ2dRbEM7SUFDRCxTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQXhGSCxBQTBGRSxXQTFGUyxDQTBGVCxZQUFZLENBQUM7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxHQUFHO0lBQ1gsS0FBSyxFQUFFLElBQUksR0FLWjtJQUhDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TUFoR3ZDLEFBMEZFLFdBMUZTLENBMEZULFlBQVksQ0FBQztRQU9ULEtBQUssRUFBRSxJQUFJLEdBRWQ7O0FBR0gsQUFBQSxZQUFZLENBQUM7RUFDWCxRQUFRLEVBQUUsa0JBQWtCLEdBSzdCO0VBTkQsQUFHRSxZQUhVLEdBR1IsR0FBRyxDQUFDO0lBQ0osUUFBUSxFQUFFLGtCQUFrQixHQUM3Qjs7QUFHSCxBQUFBLFlBQVksQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxJQUFJLEdBV1Y7RUFiRCxBQUlFLFlBSlUsQ0FJVixJQUFJLENBQUM7SUFDSCxJQUFJLEVBQUUsT0FBTyxHQUNkO0VBTkgsQUFTSSxZQVRRLEFBUVQsT0FBTyxDQUNOLElBQUksQ0FBQztJQUNILElBQUksRS9CMVJHLE9BQU8sRytCMlJmOztBQUlMLEFBQUEsdUJBQXVCLEFBQUEsa0JBQWtCLENBQUM7RUFDeEMsUUFBUSxFQUFFLE1BQU0sR0FLakI7RUFORCxBQUdFLHVCQUhxQixBQUFBLGtCQUFrQixDQUd2QyxXQUFXLENBQUM7SUFDVixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUdILEFBQUEsNkJBQTZCLENBQUM7RUFDNUIsT0FBTyxFQUFFLElBQUk7RUFDYixJQUFJLEVBQUUsQ0FBQztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxDQUFDLEdBYVQ7RUFYQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lBTnJDLEFBQUEsNkJBQTZCLENBQUM7TUFPMUIsT0FBTyxFQUFFLEtBQUs7TUFDZCxNQUFNLEVBQUUsS0FBSztNQUNiLEdBQUcsRUFBRSxJQUFJLEdBUVo7RUFMQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lBWnJDLEFBQUEsNkJBQTZCLENBQUM7TUFhMUIsT0FBTyxFQUFFLEtBQUs7TUFDZCxNQUFNLEVBQUUsS0FBSztNQUNiLEdBQUcsRUFBRSxLQUFLLEdBRWI7O0FBR0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFQURyQyxBQUFBLGVBQWUsQ0FBQyxPQUFPLENBQUM7SUFFcEIsT0FBTyxFQUFFLElBQUksR0FFaEI7O0FBR0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFQURyQyxBQUFBLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFFckIsV0FBVyxFQUFFLEtBQUssR0FNckI7O0FBSEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFQUxyQyxBQUFBLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFNckIsV0FBVyxFQUFFLEtBQUssR0FFckI7O0FkeFJELEFBQUEsYUFBYSxDYzBSQztFQUNaLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsY0FBYztFQUN0QixLQUFLLEVBQUUsS0FBSztFQUNaLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsVUFBVSxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FDaEU7O0FkOVFELEFBQUEsYUFBYSxDQUFDLE1BQU0sQ2NnUkM7RUFDbkIsT0FBTyxFQUFFLE9BQU87RUFDaEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBZC9RRCxBQUFBLGFBQWEsQ0FBQyxNQUFNLEFBQUEsTUFBTSxDY2lSQztFQUN6QixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsc0JBQXNCLENBQUM7RUFDckIsT0FBTyxFQUFFLE1BQU07RUFDZixXQUFXLEVBQUUsR0FBRztFQUNoQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRyxHQUNUOztBQUVELEFBQUEsNEJBQTRCLENBQUM7RUFDM0IsT0FBTyxFQUFFLFlBQVk7RUFDckIsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSSxHQVFaO0VBWEQsQUFLRSw0QkFMMEIsQUFLekIsT0FBTyxDQUFDO0k5QnJXVCxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsWUFBWSxFQUFFLE1BQU07SUFDcEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsV0FBVyxFQUFFLENBQUM7SUFDZCxzQkFBc0IsRUFBRSxXQUFXO0lBQ25DLHVCQUF1QixFQUFFLFNBQVM7SThCZ1doQyxLQUFLLEUvQnhXVyxPQUFPO0krQnlXdkIsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBR0gsQUFBQSwrQkFBK0IsQ0FBQztFQXNCOUIsVUFBVSxFQUFFLEtBQUs7RUFDakIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMvQnBZQyxPQUFPO0UrQnFZekIsT0FBTyxFQUFFLEtBQUs7RUFDZCxJQUFJLEVBQUUsSUFBSTtFQUNWLE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLG1CQUFtQjtFQUM1QixRQUFRLEVBQUUsUUFBUTtFQUNsQixjQUFjLEVBQUUsSUFBSTtFQUNwQixHQUFHLEVBQUUsS0FBSztFQUNWLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLEtBQUssRUFBRSxLQUFLO0VBQ1osT0FBTyxFQUFFLEdBQUc7RUFFWixVQUFVLEVBQUUsNkNBQTZDO0VBQ3pELGFBQWEsRUFBRSw2Q0FBNkM7RUFDNUQsY0FBYyxFQUFFLDZDQUE2QyxHQUM5RDtFQXRDRCxBQUNFLCtCQUQ2QixBQUM1QixPQUFPLENBQUM7STlCOVdULFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsTUFBTTtJQUNuQixZQUFZLEVBQUUsTUFBTTtJQUNwQixjQUFjLEVBQUUsSUFBSTtJQUNwQixXQUFXLEVBQUUsQ0FBQztJQUNkLHNCQUFzQixFQUFFLFdBQVc7SUFDbkMsdUJBQXVCLEVBQUUsU0FBUztJOEJ5V2hDLEtBQUssRS9CalhXLE9BQU87SStCa1h2QixTQUFTLEVBQUUsSUFBSTtJQUNmLElBQUksRUFBRSxHQUFHO0lBQ1QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLEdBQUcsR0FDVDtFQVRILEFBV0UsK0JBWDZCLEFBVzVCLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxHQUFHO0lBQ1osUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLEdBQUc7SUFDWixHQUFHLEVBQUUsSUFBSTtJQUNULElBQUksRUFBRSxJQUFJO0lBQ1YsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLE1BQU0sRUFBRSxpQkFBaUIsR0FDMUI7O0FBb0JILEFBQUEsc0JBQXNCLEFBQUEsTUFBTSxDQUFDLCtCQUErQixDQUFDO0VBQzNELE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLE9BQU8sR0FDcEI7O0FBRUQsQUFBQSw4QkFBOEIsQ0FBQztFQUM3QixRQUFRLEVBQUUsTUFBTSxHQWlDakI7RUFsQ0QsQUFHRSw4QkFINEIsQ0FHNUIsS0FBSyxBQUFBLG1CQUFtQixDQUFDO0l2QnphekIsVUFBVSxFUkZDLElBQUk7SVFHZixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1JXQyxPQUFPO0lRVnpCLFVBQVUsRUFBRSxVQUFVO0lBQ3RCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUUsSUFBSTtJdUJxYWIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsVUFBVTtJQUNsQixPQUFPLEVBQUUsSUFBSTtJQUNiLEtBQUssRUFBRSxLQUFLLEdBQ2I7STVCcFlDLEFBQUEsT0FBTyxDNEIyWFgsOEJBQThCLENBRzVCLEtBQUssQUFBQSxtQkFBbUIsQzVCOVhaO01LL0NWLFNBQVMsRUFBRSxHQUFHO01BQ2QsU0FBUyxFQUFFLElBQUksR0xtRGQ7SUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO000QmtYcEMsQUFHRSw4QkFINEIsQ0FHNUIsS0FBSyxBQUFBLG1CQUFtQixDQUFDO1F2QjdhdkIsU0FBUyxFQUFFLEdBQUc7UUFDZCxTQUFTLEVBQUUsSUFBSSxHdUJrYmhCO0lBVEgsQXZCOVpFLDhCdUI4WjRCLENBRzVCLEtBQUssQUFBQSxtQkFBbUIsQXZCamF2QixNQUFNLENBQUM7TUFDTixZQUFZLEVSVlIsT0FBTztNUVdYLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RXVCMlpILEFBV0UsOEJBWDRCLENBVzVCLGFBQWEsQ0FBQztJQUNaLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDL0J0YUQsT0FBTztJK0J1YXZCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFVBQVUsRUFBRSxVQUFVO0lBQ3RCLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsVUFBVTtJQUNsQixLQUFLLEVBQUUsS0FBSyxHQU9iO0lBekJILEFBb0JJLDhCQXBCMEIsQ0FXNUIsYUFBYSxDQVNYLE1BQU0sQ0FBQztNQUNMLE1BQU0sRUFBRSxDQUFDO01BQ1QsT0FBTyxFQUFFLElBQUk7TUFDYixPQUFPLEVBQUUsSUFBSSxHQUNkO0VBeEJMLEFBMkJFLDhCQTNCNEIsQ0EyQjVCLE1BQU0sQ0FBQztJNUIxVlAsU0FBUyxFSHhGTSxJQUFJO0lHeUZuQixTQUFTLEVBQUUsSUFBZ0M7SUc1RzNDLFVBQVUsRU5JQyxPQUFPO0lNSGxCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsVUFBVSxFQUFFLElBQUk7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxXQUFXLEVBQUUsR0FBRztJQUNoQixPQUFPLEVBQUUsWUFBWTtJQUNyQixXQUFXLEVBQUUsQ0FBQztJQUNkLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFVBQVUsRUFBRSwyQ0FBMkM7SUFDdkQsYUFBYSxFQUFFLDJDQUEyQztJQUMxRCxjQUFjLEVBQUUsMkNBQTJDO0lBQzNELHNCQUFzQixFQUFFLFdBQVc7SXlCeWJqQyxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLE9BQU8sRUFBRSxNQUFNO0lBQ2YsTUFBTSxFQUFFLElBQUksR0FDYjtJQWpDSCxBekIxWkUsOEJ5QjBaNEIsQ0EyQjVCLE1BQU0sQXpCcmJMLE9BQU8sRXlCMFpWLDhCQUE4QixDQTJCNUIsTUFBTSxBekJwYkwsTUFBTSxFeUJ5WlQsOEJBQThCLENBMkI1QixNQUFNLEF6Qm5iTCxNQUFNLENBQUM7TUFDTixVQUFVLEVOaEJOLE9BQU87TU1pQlgsS0FBSyxFTmxCSSxJQUFJO01NbUJiLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0F5QndiSCwwQkFBMEI7QUFDMUIsQUFBQSxlQUFlLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxDQUFDLE1BQU0sQUFBQSxXQUFXO0FBQzNFLGVBQWUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLENBQUMsTUFBTSxBQUFBLFVBQVUsQ0FBQztFQUN6RSxPQUFPLEVBQUUsSUFBSSxHQUtkO0VBSEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJQUpyQyxBQUFBLGVBQWUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLENBQUMsTUFBTSxBQUFBLFdBQVc7SUFDM0UsZUFBZSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEFBQUEsVUFBVSxDQUFDO01BSXZFLE9BQU8sRUFBRSxLQUFLLEdBRWpCOztBQUVELEFBQUEsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7RUFDbEMsT0FBTyxFQUFFLENBQUMsR0FtQlg7RUFwQkQsQUFHRSxlQUhhLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FHakMsRUFBRSxFQUhKLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDa0M3ZG5DLGNBQWMsQ0FLWixhQUFhLEFBQUEsWUFBWSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFMbkQsY0FBYyxDQUtaLGFBQWEsQUFBQSxZQUFZLENBQUMsTUFBTSxDbEN3ZGxDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDa0N4ZEEsZ0JBQWdCLEVsQ3dkbkQsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENrQzdkbkMsY0FBYyxDQWlCWixRQUFRLENBS04sTUFBTSxFQXRCVixjQUFjLENBaUJaLFFBQVEsQ2xDNGNWLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDa0N2Yy9CLE1BQU0sRWxDdWNWLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDa0M3ZG5DLGNBQWMsQ0E2Q1osc0NBQXNDLENBQ3BDLEVBQUUsRUE5Q04sY0FBYyxDQTZDWixzQ0FBc0MsQ2xDZ2J4QyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ2tDL2EvQixFQUFFLEVsQythTixlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ2tDN2RuQyxjQUFjLENBNkNaLHNDQUFzQyxDQTVDdEMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFEdkMsY0FBYyxDQTZDWixzQ0FBc0MsQ0E1Q3RDLGFBQWEsQ0FBQyxNQUFNLENsQzRkdEIsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENrQzVkWixnQkFBZ0IsRWxDNGR2QyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ2tDN2RuQyxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0E0Q3BCLHNDQUFzQyxDQTVDakIsZ0JBQWdCLEVBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQTRDcEIsc0NBQXNDLENsQ2dieEMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENrQzVkWixnQkFBZ0IsRWxDNGR2QyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ3FDN2RuQyxZQUFZLENBbUNWLEVBQUUsRUFuQ0osWUFBWSxDckM2ZFosZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENxQzFiakMsRUFBRSxFckMwYkosZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENxQzdkbkMsWUFBWSxDSEFaLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFR0R2QyxZQUFZLENIQVosY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENsQzRkdEIsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENrQzVkWixnQkFBZ0IsRWxDNGR2QyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ2tDN2RuQyxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0dEdEIsWUFBWSxDSENXLGdCQUFnQixFQUR2QyxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0dEdEIsWUFBWSxDckM2ZFosZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENrQzVkWixnQkFBZ0I7RWxDNGR2QyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FJakMsUUFBUTtFQUpWLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUtqQyxhQUFhLENBQUM7SUFDWixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SUFWckMsQUFBQSxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztNQVdoQyxPQUFPLEVBQUUsTUFBTSxHQVNsQjtNQXBCRCxBQUdFLGVBSGEsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUdqQyxFQUFFLEVBSEosZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENrQzdkbkMsY0FBYyxDQUtaLGFBQWEsQUFBQSxZQUFZLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUxuRCxjQUFjLENBS1osYUFBYSxBQUFBLFlBQVksQ0FBQyxNQUFNLENsQ3dkbEMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENrQ3hkQSxnQkFBZ0IsRWxDd2RuRCxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ2tDN2RuQyxjQUFjLENBaUJaLFFBQVEsQ0FLTixNQUFNLEVBdEJWLGNBQWMsQ0FpQlosUUFBUSxDbEM0Y1YsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENrQ3ZjL0IsTUFBTSxFbEN1Y1YsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENrQzdkbkMsY0FBYyxDQTZDWixzQ0FBc0MsQ0FDcEMsRUFBRSxFQTlDTixjQUFjLENBNkNaLHNDQUFzQyxDbENnYnhDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDa0MvYS9CLEVBQUUsRWxDK2FOLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDa0M3ZG5DLGNBQWMsQ0E2Q1osc0NBQXNDLENBNUN0QyxhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUR2QyxjQUFjLENBNkNaLHNDQUFzQyxDQTVDdEMsYUFBYSxDQUFDLE1BQU0sQ2xDNGR0QixlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ2tDNWRaLGdCQUFnQixFbEM0ZHZDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDa0M3ZG5DLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQTRDcEIsc0NBQXNDLENBNUNqQixnQkFBZ0IsRUFEdkMsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBNENwQixzQ0FBc0MsQ2xDZ2J4QyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ2tDNWRaLGdCQUFnQixFbEM0ZHZDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDcUM3ZG5DLFlBQVksQ0FtQ1YsRUFBRSxFQW5DSixZQUFZLENyQzZkWixlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ3FDMWJqQyxFQUFFLEVyQzBiSixlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ3FDN2RuQyxZQUFZLENIQVosY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVHRHZDLFlBQVksQ0hBWixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ2xDNGR0QixlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ2tDNWRaLGdCQUFnQixFbEM0ZHZDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDa0M3ZG5DLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDR0R0QixZQUFZLENIQ1csZ0JBQWdCLEVBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDR0R0QixZQUFZLENyQzZkWixlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ2tDNWRaLGdCQUFnQjtNbEM0ZHZDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUlqQyxRQUFRO01BSlYsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBS2pDLGFBQWEsQ0FVRztRQUNaLFlBQVksRUFBRSxDQUFDO1FBQ2YsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FFL2VMLEFBRUksb0NBRmdDLENBQ2xDLHFDQUFxQyxDQUNuQyxLQUFLLENBQUM7RUFDSixTQUFTLEVBQUUsQ0FBQyxHQUNiOztBQ0pMLEFBQ0Usd0NBRHNDLENBQ3RDLG9CQUFvQixDQUFDO0U1Q2tFbkIsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKdEVoQixPQUFzQztFSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztFcUJSN0MsYUFBYSxFckJhTCxPQUFzQyxHZ0RGN0M7RUFiSCxBNUN3Rk0sd0M0Q3hGa0MsQ0FDdEMsb0JBQW9CLEE1Q3VGZixXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RTRDMUZQLEEzQklFLHdDMkJKc0MsQ0FDdEMsb0JBQW9CLEEzQkduQixVQUFXLENBQUEsRUFBRSxFQUFFO0luQm1EWixZQUFvQixFQUFTLENBQUMsR21CakRqQztFMkJOSCxBM0JRRSx3QzJCUnNDLENBQ3RDLG9CQUFvQixBM0JPbkIsVUFBVyxDQUFBLE1BQU0sRUFBRTtJQUNsQixLQUFLLEVBQUUsSUFBSSxHQUNaO0VKMENDLEFBQUEsT0FBTyxDK0JwRFgsd0NBQXdDLENBQ3RDLG9CQUFvQixDL0JtRFI7SWJlVixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdpQitDMUM7SUFMRCxBYm9DRSxPYXBDSyxDK0JwRFgsd0NBQXdDLENBQ3RDLG9CQUFvQixBNUN1RmYsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lhdENILEFJckNBLE9KcUNPLEMrQnBEWCx3Q0FBd0MsQ0FDdEMsb0JBQW9CLEEzQmNqQixVQUFXLENBQUEsRUFBRSxFQUFFO01BQ2QsWUFBWSxFckJEUixPQUFzQyxHcUJFM0M7SUptQ0QsQUlqQ0EsT0ppQ08sQytCcERYLHdDQUF3QyxDQUN0QyxvQkFBb0IsQTNCa0JqQixVQUFXLENBQUEsTUFBTSxFQUFFO01BQ2xCLEtBQUssRUFBRSxJQUFJLEdBQ1o7SUorQkQsQUk3QkEsT0o2Qk8sQytCcERYLHdDQUF3QyxDQUN0QyxvQkFBb0IsQTNCc0JqQixVQUFXLENBQUEsRUFBRSxFQUFFO01uQmdDZCxZQUFvQixFQUFTLENBQUMsR21COUIvQjtJSjJCRCxBSXpCQSxPSnlCTyxDK0JwRFgsd0NBQXdDLENBQ3RDLG9CQUFvQixBM0IwQmpCLFVBQVcsQ0FBQSxNQUFNLEVBQUU7TUFDbEIsS0FBSyxFQUFFLElBQUksR0FDWjtFSmdDRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0krQjdEcEMsQUFDRSx3Q0FEc0MsQ0FDdEMsb0JBQW9CLENBQUM7TTVDa0VuQixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdnREc1QztNQWJILEE1Q3dGTSx3QzRDeEZrQyxDQUN0QyxvQkFBb0IsQTVDdUZmLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNNEMxRlAsQTNCSUUsd0MyQkpzQyxDQUN0QyxvQkFBb0IsQTNCR25CLFVBQVcsQ0FBQSxFQUFFLEVBV0k7UUFDZCxZQUFZLEVyQkRSLE9BQXNDLEdxQkUzQztNMkJqQkwsQTNCUUUsd0MyQlJzQyxDQUN0QyxvQkFBb0IsQTNCT25CLFVBQVcsQ0FBQSxNQUFNLEVBV0k7UUFDbEIsS0FBSyxFQUFFLElBQUksR0FDWjtNMkJyQkwsQTNCdUJJLHdDMkJ2Qm9DLENBQ3RDLG9CQUFvQixBM0JzQmpCLFVBQVcsQ0FBQSxFQUFFLEVBQUU7UW5CZ0NkLFlBQW9CLEVBQVMsQ0FBQyxHbUI5Qi9CO00yQnpCTCxBM0IyQkksd0MyQjNCb0MsQ0FDdEMsb0JBQW9CLEEzQjBCakIsVUFBVyxDQUFBLE1BQU0sRUFBRTtRQUNsQixLQUFLLEVBQUUsSUFBSSxHQUNaO0UyQjdCTCxBQUlJLHdDQUpvQyxDQUN0QyxvQkFBb0IsQ0FHbEIsa0JBQWtCLENBQUM7STNCZ0NyQixnQkFBZ0IsRUFBRSxxQ0FBcUM7SUFDdkQsZUFBZSxFQUFFLEtBQUs7SUFDdEIsTUFBTSxFQUFFLEtBQUs7SUFDYixRQUFRLEVBQUUsUUFBUSxHMkJqQ2Y7SUFOTCxBM0J5Q0Usd0MyQnpDc0MsQ0FDdEMsb0JBQW9CLENBR2xCLGtCQUFrQixDM0JxQ3BCLEdBQUcsQ0FBQztNQUNGLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLEtBQUs7TUFDYixVQUFVLEVBQUUsd0JBQXdCLEdBQ3JDO0kyQjdDSCxBM0IrQ0Usd0MyQi9Dc0MsQ0FDdEMsb0JBQW9CLENBR2xCLGtCQUFrQixDM0IyQ3BCLEtBQUs7STJCL0NQLHdDQUF3QyxDQUN0QyxvQkFBb0IsQ0FHbEIsa0JBQWtCLEMzQjRDcEIsYUFBYSxDQUFDO01BQ1osVUFBVSxFUHBDTixJQUFJO01PcUNSLFVBQVUsRUFBRSxVQUFVO01BQ3RCLE1BQU0sRUFoQk8sSUFBSTtNQWlCakIsVUFBVSxFQUFFLEtBQWtCO01BQzlCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLFVBQVUsRUFBRSxNQUFNO01BQ2xCLEdBQUcsRUFBRSxHQUFHLEdBQ1Q7STJCeERILEEzQjBERSx3QzJCMURzQyxDQUN0QyxvQkFBb0IsQ0FHbEIsa0JBQWtCLEMzQnNEcEIsS0FBSyxDQUFDO01Kc0ROLFNBQVMsRUhoRkksSUFBSTtNR2lGakIsU0FBUyxFQUFFLE1BQWdDO01JckR6QyxNQUFNLEVBQUUsQ0FBQztNQUNULGFBQWEsRUFBRSxDQUFDO01BQ2hCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLElBQUksRUFBRSxHQUFHO01BQ1QsV0FBVyxFQUFFLEtBQWlCO01BQzlCLFNBQVMsRUFBRSxJQUFJO01BQ2YsT0FBTyxFQUFFLGdCQUFnQjtNQUN6QixLQUFLLEVBQUUsSUFBbUIsR0FDM0I7STJCcEVILEEzQnNFRSx3QzJCdEVzQyxDQUN0QyxvQkFBb0IsQ0FHbEIsa0JBQWtCLEMzQmtFcEIsYUFBYSxDQUFDO01KMENkLFNBQVMsRUg5RUksSUFBSTtNRytFakIsU0FBUyxFQUFFLE1BQWdDO01JekN6QyxZQUFZLEVBQUUsS0FBaUI7TUFDL0IsT0FBTyxFQUFFLGFBQWE7TUFDdEIsS0FBSyxFQUFFLEdBQUc7TUFDVixVQUFVLEVBQUUsS0FBSztNQUNqQixLQUFLLEVBQUUsSUFBSSxHQUNaO0kyQjdFSCxBM0IrRUUsd0MyQi9Fc0MsQ0FDdEMsb0JBQW9CLENBR2xCLGtCQUFrQixBM0IyRW5CLG9CQUFvQixDQUFDO01BQ3BCLGdCQUFnQixFQUFFLHFDQUFxQyxHQUN4RDtJMkJqRkgsQTNCbUZFLHdDMkJuRnNDLENBQ3RDLG9CQUFvQixDQUdsQixrQkFBa0IsQTNCK0VuQixpQkFBaUIsQ0FBQztNQUNqQixnQkFBZ0IsRUFBRSxrQ0FBa0MsR0FDckQ7STJCckZILEEzQnVGRSx3QzJCdkZzQyxDQUN0QyxvQkFBb0IsQ0FHbEIsa0JBQWtCLEEzQm1GbkIsb0JBQW9CLENBQUM7TUFDcEIsZ0JBQWdCLEVBQUUscUNBQXFDLEdBQ3hEO0kyQnpGSCxBM0IyRkUsd0MyQjNGc0MsQ0FDdEMsb0JBQW9CLENBR2xCLGtCQUFrQixBM0J1Rm5CLGNBQWMsQ0FBQztNQUNkLGdCQUFnQixFQUFFLCtCQUErQixHQUNsRDtJMkI3RkgsQTNCK0ZFLHdDMkIvRnNDLENBQ3RDLG9CQUFvQixDQUdsQixrQkFBa0IsQTNCMkZuQixpQkFBaUIsQ0FBQztNQUNqQixnQkFBZ0IsRUFBRSxrQ0FBa0MsR0FDckQ7STJCakdILEEzQm1HRSx3QzJCbkdzQyxDQUN0QyxvQkFBb0IsQ0FHbEIsa0JBQWtCLEEzQitGbkIsa0JBQWtCLENBQUM7TUFDbEIsZ0JBQWdCLEVBQUUsbUNBQW1DLEdBQ3REO0UyQnJHSCxBQVFJLHdDQVJvQyxDQUN0QyxvQkFBb0IsQ0FPbEIsS0FBSyxDQUFDO0kvQndHUixTQUFTLEVIOUVJLElBQUk7SUcrRWpCLFNBQVMsRUFBRSxNQUFnQztJK0J2R3ZDLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7O0FBWkwsQUFlRSx3Q0Fmc0MsQ0FldEMsYUFBYSxDQUFDO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVBQUUsS0FBSyxHQUNiOztBQ2xCSCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsVUFBVSxFQUFFLElBQUk7RUFDaEIsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FoQ2lERyxBQUFBLE9BQU8sQ2dDL0NYLHdCQUF3QixDaEMrQ1Y7RWJlVixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0VJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0VFNkN6QyxZQUFvQixFQUFTLENBQUM7RStDOUNoQyxLQUFLLEVBQUUsS0FBSyxHaENnRFg7RUFMRCxBYm9DRSxPYXBDSyxDZ0MvQ1gsd0JBQXdCLEE3Q21GakIsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9COztBYTdCSCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0VnQ3hEcEMsQUFBQSx3QkFBd0IsQ0FBQztJN0M4RHJCLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7SUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQztJK0M5Q2hDLEtBQUssRUFBRSxLQUFLLEdBRWY7SUFORCxBN0NtRk0sd0I2Q25Ga0IsQTdDbUZqQixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0E2QzdFUCxBQUFBLDhCQUE4QjtBQUM5Qiw4QkFBOEIsQ0FBQztFN0NxRDNCLEtBQUssRUFBQyxJQUFDO0VBR0wsT0FBTyxFQUFFLEtBQUs7RUFlZCxZQUFvQixFSnRFaEIsUUFBc0M7RUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7RWlEVTdDLE9BQU8sRUFBRSxJQUFJO0VBQ2IsYUFBYSxFQUFFLElBQUk7RUFDbkIsVUFBVSxFQUFFLE1BQU0sR0FNbkI7RUFmRCxBN0MyRU0sOEI2QzNFd0IsQTdDMkV2QixXQUFXO0U2QzFFbEIsOEJBQThCLEE3QzBFdkIsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VhdENILEFBQUEsT0FBTyxDZ0N2Q1gsOEJBQThCLEVoQ3VDMUIsT0FBTztFZ0N0Q1gsOEJBQThCLENoQ3NDaEI7SWdDbkNWLE9BQU8sRUFBRSxLQUFLLEdoQ3dDYjtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdDaERwQyxBQUFBLDhCQUE4QjtJQUM5Qiw4QkFBOEIsQ0FBQztNQUczQixPQUFPLEVBQUUsS0FBSyxHQVdqQjtFQWZELEFBV0UsOEJBWDRCLENBVzVCLEdBQUc7RUFWTCw4QkFBOEIsQ0FVNUIsR0FBRyxDQUFDO0lBQ0YsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUdILEFBQUEscUJBQXFCLENBQUM7RUFDcEIsS0FBSyxFQUFFLElBQUk7RUFDWCxhQUFhLEVBQUUsSUFBSTtFQUNuQixRQUFRLEVBQUUsTUFBTSxHQUNqQjs7QUFFRCxBQUFBLHVCQUF1QixDQUFDO0VBS3RCLEtBQUssRUFBRSxJQUFJO0VBQ1gsV0FBVyxFQUFFLElBQUksR0FLbEI7RWhDS0csQUFBQSxPQUFPLENnQ2hCWCx1QkFBdUIsQ2hDZ0JUO0liZVYsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHaUIrQzFDO0lBTEQsQWJvQ0UsT2FwQ0ssQ2dDaEJYLHVCQUF1QixBN0NvRGhCLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFYTdCSCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQ3pCcEMsQUFBQSx1QkFBdUIsQ0FBQztNN0MrQnBCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsR2lEcUM5QztNQVhELEE3Q29ETSx1QjZDcERpQixBN0NvRGhCLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFNkN0RFAsQUFRRSx1QkFScUIsQ0FRckIsY0FBYyxDQUFDO0lBQ2IsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBR0gsQUFBQSx5QkFBeUIsQ0FBQztFQVN4QixLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFdBQVcsRUFBRSxHQUFHLEdBU2pCO0VoQ2pCRyxBQUFBLE9BQU8sQ2dDSFgseUJBQXlCLENoQ0dYO0liZVYsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztJaUQwQzNDLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFlBQVksRWpEdENOLE9BQXNDO0lpRHVDNUMsV0FBVyxFQUFFLENBQUM7SUFDZCxVQUFVLEVBQUUsTUFBTSxHaENFakI7SUFMRCxBYm9DRSxPYXBDSyxDZ0NIWCx5QkFBeUIsQTdDdUNsQixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RWE3QkgsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0NacEMsQUFBQSx5QkFBeUIsQ0FBQztNN0NrQnRCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7TWlEMEMzQyxXQUFXLEVBQUUsR0FBRztNQUNoQixZQUFZLEVqRHRDTixPQUFzQztNaUR1QzVDLFdBQVcsRUFBRSxDQUFDO01BQ2QsVUFBVSxFQUFFLE1BQU0sR0FjckI7TUFwQkQsQTdDdUNNLHlCNkN2Q21CLEE3Q3VDbEIsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0U2Q3pDUCxBQWFFLHlCQWJ1QixBQWF0QixRQUFRLENBQUM7SUFLUixPQUFPLEVBQUUsS0FBSyxHQUNmO0loQ2hCQyxBQUFBLE9BQU8sQ2dDSFgseUJBQXlCLEFBYXRCLFFBQVEsQ2hDVkc7TWdDWVIsT0FBTyxFQUFFLElBQUksR2hDUGQ7SUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO01nQ1pwQyxBQWFFLHlCQWJ1QixBQWF0QixRQUFRLENBQUM7UUFFTixPQUFPLEVBQUUsSUFBSSxHQUloQjs7QUFHSCxBQUFBLHNCQUFzQixDQUFDO0U3Q0puQixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0VJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0VxQmdHN0MsbUJBQW1CLEVBQUUsV0FBVztFQUNoQyxpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFdBQVcsRUFBRSxHQUFHO0U0QmxDaEIsZ0JBQWdCLEVBQUUsZ0ZBQWdGO0VBQ2xHLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFSRCxBN0NpQk0sc0I2Q2pCZ0IsQTdDaUJmLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFNkNuQlAsQTVCMENFLHNCNEIxQ29CLEM1QjBDcEIsS0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLElBQUksR0FDZDtFSi9EQyxBQUFBLE9BQU8sQ2dDbUJYLHNCQUFzQixDaENuQlI7SWJlVixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0lxQjZHM0MsVUFBVSxFQUFFLGVBQWU7SUFDM0IsWUFBWSxFQUFFLENBQUM7SUFDZixXQUFXLEVBQUUsQ0FBQztJQUNkLFVBQVUsRUFBRSxNQUFNLEdKakVqQjtJQUxELEFib0NFLE9hcENLLENnQ21CWCxzQkFBc0IsQTdDaUJmLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJYXRDSCxBSXdFQSxPSnhFTyxDZ0NtQlgsc0JBQXNCLEM1QnFEbEIsS0FBSyxDQUFDO01BQ0osT0FBTyxFQUFFLEtBQUssR0FDZjtFSmpFRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQ1VwQyxBQUFBLHNCQUFzQixDQUFDO003Q0puQixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDO01xQjZHM0MsVUFBVSxFQUFFLGVBQWU7TUFDM0IsWUFBWSxFQUFFLENBQUM7TUFDZixXQUFXLEVBQUUsQ0FBQztNQUNkLFVBQVUsRUFBRSxNQUFNLEc0QjNDckI7TUFSRCxBN0NpQk0sc0I2Q2pCZ0IsQTdDaUJmLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNNkNuQlAsQTVCMENFLHNCNEIxQ29CLEM1QjBDcEIsS0FBSyxDQVdHO1FBQ0osT0FBTyxFQUFFLEtBQUssR0FDZjtFSjFFRCxBQUFBLE9BQU8sQ2dDbUJYLHNCQUFzQixDaENuQlI7SWdDc0JWLEtBQUssRUFBRSxJQUFJLEdoQ2pCVjtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdDVXBDLEFBQUEsc0JBQXNCLENBQUM7TUFHbkIsS0FBSyxFQUFFLElBQUksR0FLZDs7QUFFRCxBQUFBLHNCQUFzQixDQUFDO0U3Q2RuQixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0VJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0VxQmdHN0MsbUJBQW1CLEVBQUUsV0FBVztFQUNoQyxpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFdBQVcsRUFBRSxHQUFHO0U0QjVCaEIsZ0JBQWdCLEVBQUUsOEVBQThFLEdBQ2pHO0VBSEQsQTdDT00sc0I2Q1BnQixBN0NPZixXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RTZDVFAsQTVCZ0NFLHNCNEJoQ29CLEM1QmdDcEIsS0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLElBQUksR0FDZDtFSi9EQyxBQUFBLE9BQU8sQ2dDNkJYLHNCQUFzQixDaEM3QlI7SWJlVixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0lxQjZHM0MsVUFBVSxFQUFFLGVBQWU7SUFDM0IsWUFBWSxFQUFFLENBQUM7SUFDZixXQUFXLEVBQUUsQ0FBQztJQUNkLFVBQVUsRUFBRSxNQUFNLEdKakVqQjtJQUxELEFib0NFLE9hcENLLENnQzZCWCxzQkFBc0IsQTdDT2YsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lhdENILEFJd0VBLE9KeEVPLENnQzZCWCxzQkFBc0IsQzVCMkNsQixLQUFLLENBQUM7TUFDSixPQUFPLEVBQUUsS0FBSyxHQUNmO0VKakVELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdDb0JwQyxBQUFBLHNCQUFzQixDQUFDO003Q2RuQixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDO01xQjZHM0MsVUFBVSxFQUFFLGVBQWU7TUFDM0IsWUFBWSxFQUFFLENBQUM7TUFDZixXQUFXLEVBQUUsQ0FBQztNQUNkLFVBQVUsRUFBRSxNQUFNLEc0QnRDckI7TUFIRCxBN0NPTSxzQjZDUGdCLEE3Q09mLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNNkNUUCxBNUJnQ0Usc0I0QmhDb0IsQzVCZ0NwQixLQUFLLENBV0c7UUFDSixPQUFPLEVBQUUsS0FBSyxHQUNmOztBNEJ4Q0wsQUFBQSxzQkFBc0IsQ0FBQztFN0NuQm5CLEtBQUssRUFBQyxJQUFDO0VBR0wsT0FBTyxFQUFFLEtBQUs7RUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7RUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7RXFCZ0c3QyxtQkFBbUIsRUFBRSxXQUFXO0VBQ2hDLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsZUFBZSxFQUFFLElBQUk7RUFDckIsVUFBVSxFQUFFLFVBQVU7RUFDdEIsWUFBWSxFQUFFLElBQUk7RUFDbEIsV0FBVyxFQUFFLEdBQUc7RW5CeERaLFlBQW9CLEVBQVMsQ0FBQztFK0NrQ2xDLGdCQUFnQixFQUFFLDZGQUE2RixHQUNoSDtFQUpELEE3Q0VNLHNCNkNGZ0IsQTdDRWYsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0U2Q0pQLEE1QjJCRSxzQjRCM0JvQixDNUIyQnBCLEtBQUssQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUovREMsQUFBQSxPQUFPLENnQ2tDWCxzQkFBc0IsQ2hDbENSO0liZVYsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztJcUI2RzNDLFVBQVUsRUFBRSxlQUFlO0lBQzNCLFlBQVksRUFBRSxDQUFDO0lBQ2YsV0FBVyxFQUFFLENBQUM7SUFDZCxVQUFVLEVBQUUsTUFBTSxHSmpFakI7SUFMRCxBYm9DRSxPYXBDSyxDZ0NrQ1gsc0JBQXNCLEE3Q0VmLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJYXRDSCxBSXdFQSxPSnhFTyxDZ0NrQ1gsc0JBQXNCLEM1QnNDbEIsS0FBSyxDQUFDO01BQ0osT0FBTyxFQUFFLEtBQUssR0FDZjtFSmpFRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQ3lCcEMsQUFBQSxzQkFBc0IsQ0FBQztNN0NuQm5CLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7TXFCNkczQyxVQUFVLEVBQUUsZUFBZTtNQUMzQixZQUFZLEVBQUUsQ0FBQztNQUNmLFdBQVcsRUFBRSxDQUFDO01BQ2QsVUFBVSxFQUFFLE1BQU0sRzRCaENyQjtNQUpELEE3Q0VNLHNCNkNGZ0IsQTdDRWYsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO002Q0pQLEE1QjJCRSxzQjRCM0JvQixDNUIyQnBCLEtBQUssQ0FXRztRQUNKLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0E0QmxDTCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFFBQVEsRUFBRSxNQUFNLEdBQ2pCOztBQUVELEFBQUEsOEJBQThCLENBQUM7RTVCa0M3QixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLFlBQVksRUFBRSxHQUFHO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxlQUFlO0VqQm5FMUIsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKdEVoQixPQUFzQztFSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztFaUQrRjdDLFlBQVksRW5DakdOLE9BQU87RW1Da0diLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLElBQUksR0FDbEI7RUFYRCxBN0NUTSw4QjZDU3dCLEE3Q1R2QixXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RWF0Q0gsQUFBQSxPQUFPLENnQzZDWCw4QkFBOEIsQ2hDN0NoQjtJZ0NrRFYsT0FBTyxFQUFFLEtBQUssR2hDN0NiO0VBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0NvQ3BDLEFBQUEsOEJBQThCLENBQUM7TUFLM0IsT0FBTyxFQUFFLEtBQUssR0FNakI7O0FBRUQsQUFBQSw2QkFBNkIsQ0FBQztFN0MzQzFCLEtBQUssRUFBQyxJQUFDO0VBR0wsT0FBTyxFQUFFLEtBQUs7RUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7RUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7RXFCZ0c3QyxtQkFBbUIsRUFBRSxXQUFXO0VBQ2hDLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsZUFBZSxFQUFFLElBQUk7RUFDckIsVUFBVSxFQUFFLFVBQVU7RUFDdEIsWUFBWSxFQUFFLElBQUk7RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFvQmhCLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsWUFBWSxFQUFFLEdBQUc7RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLGVBQWU7RTRCcEI1QixZQUFZLEVBQUUsT0FBTyxHQUN0QjtFQUxELEE3Q3RCTSw2QjZDc0J1QixBN0N0QnRCLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFNkNvQlAsQTVCR0UsNkI0QkgyQixDNUJHM0IsS0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLElBQUksR0FDZDtFSi9EQyxBQUFBLE9BQU8sQ2dDMERYLDZCQUE2QixDaEMxRGY7SWJlVixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0lxQjZHM0MsVUFBVSxFQUFFLGVBQWU7SUFDM0IsWUFBWSxFQUFFLENBQUM7SUFDZixXQUFXLEVBQUUsQ0FBQztJQUNkLFVBQVUsRUFBRSxNQUFNLEdKakVqQjtJQUxELEFib0NFLE9hcENLLENnQzBEWCw2QkFBNkIsQTdDdEJ0QixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SWF0Q0gsQUl3RUEsT0p4RU8sQ2dDMERYLDZCQUE2QixDNUJjekIsS0FBSyxDQUFDO01BQ0osT0FBTyxFQUFFLEtBQUssR0FDZjtFSmpFRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQ2lEcEMsQUFBQSw2QkFBNkIsQ0FBQztNN0MzQzFCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7TXFCNkczQyxVQUFVLEVBQUUsZUFBZTtNQUMzQixZQUFZLEVBQUUsQ0FBQztNQUNmLFdBQVcsRUFBRSxDQUFDO01BQ2QsVUFBVSxFQUFFLE1BQU0sRzRCUHJCO01BTEQsQTdDdEJNLDZCNkNzQnVCLEE3Q3RCdEIsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO002Q29CUCxBNUJHRSw2QjRCSDJCLEM1QkczQixLQUFLLENBV0c7UUFDSixPQUFPLEVBQUUsS0FBSyxHQUNmOztBNEJUTCxBQUFBLDZCQUE2QixDQUFDO0U3Q2xEMUIsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKdEVoQixPQUFzQztFSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztFcUJnRzdDLG1CQUFtQixFQUFFLFdBQVc7RUFDaEMsaUJBQWlCLEVBQUUsU0FBUztFQUM1QixlQUFlLEVBQUUsSUFBSTtFQUNyQixVQUFVLEVBQUUsVUFBVTtFQUN0QixZQUFZLEVBQUUsSUFBSTtFQUNsQixXQUFXLEVBQUUsR0FBRztFQW9CaEIsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixZQUFZLEVBQUUsR0FBRztFQUNqQixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsZUFBZTtFNEJiNUIsWUFBWSxFQUFFLE9BQU8sR0FDdEI7RUFMRCxBN0M3Qk0sNkI2QzZCdUIsQTdDN0J0QixXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RTZDMkJQLEE1QkpFLDZCNEJJMkIsQzVCSjNCLEtBQUssQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUovREMsQUFBQSxPQUFPLENnQ2lFWCw2QkFBNkIsQ2hDakVmO0liZVYsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztJcUI2RzNDLFVBQVUsRUFBRSxlQUFlO0lBQzNCLFlBQVksRUFBRSxDQUFDO0lBQ2YsV0FBVyxFQUFFLENBQUM7SUFDZCxVQUFVLEVBQUUsTUFBTSxHSmpFakI7SUFMRCxBYm9DRSxPYXBDSyxDZ0NpRVgsNkJBQTZCLEE3QzdCdEIsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lhdENILEFJd0VBLE9KeEVPLENnQ2lFWCw2QkFBNkIsQzVCT3pCLEtBQUssQ0FBQztNQUNKLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUpqRUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0N3RHBDLEFBQUEsNkJBQTZCLENBQUM7TTdDbEQxQixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDO01xQjZHM0MsVUFBVSxFQUFFLGVBQWU7TUFDM0IsWUFBWSxFQUFFLENBQUM7TUFDZixXQUFXLEVBQUUsQ0FBQztNQUNkLFVBQVUsRUFBRSxNQUFNLEc0QkFyQjtNQUxELEE3QzdCTSw2QjZDNkJ1QixBN0M3QnRCLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNNkMyQlAsQTVCSkUsNkI0QkkyQixDNUJKM0IsS0FBSyxDQVdHO1FBQ0osT0FBTyxFQUFFLEtBQUssR0FDZjs7QTRCRkwsQUFBQSw2QkFBNkIsQ0FBQztFN0N6RDFCLEtBQUssRUFBQyxJQUFDO0VBR0wsT0FBTyxFQUFFLEtBQUs7RUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7RUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7RXFCZ0c3QyxtQkFBbUIsRUFBRSxXQUFXO0VBQ2hDLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsZUFBZSxFQUFFLElBQUk7RUFDckIsVUFBVSxFQUFFLFVBQVU7RUFDdEIsWUFBWSxFQUFFLElBQUk7RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFvQmhCLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsWUFBWSxFQUFFLEdBQUc7RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLGVBQWU7RW5CL0V4QixZQUFvQixFQUFTLENBQUM7RStDMEVsQyxZQUFZLEVBQUUsT0FBTyxHQUN0QjtFQU5ELEE3Q3BDTSw2QjZDb0N1QixBN0NwQ3RCLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFNkNrQ1AsQTVCWEUsNkI0QlcyQixDNUJYM0IsS0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLElBQUksR0FDZDtFSi9EQyxBQUFBLE9BQU8sQ2dDd0VYLDZCQUE2QixDaEN4RWY7SWJlVixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0lxQjZHM0MsVUFBVSxFQUFFLGVBQWU7SUFDM0IsWUFBWSxFQUFFLENBQUM7SUFDZixXQUFXLEVBQUUsQ0FBQztJQUNkLFVBQVUsRUFBRSxNQUFNLEdKakVqQjtJQUxELEFib0NFLE9hcENLLENnQ3dFWCw2QkFBNkIsQTdDcEN0QixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SWF0Q0gsQUl3RUEsT0p4RU8sQ2dDd0VYLDZCQUE2QixDNUJBekIsS0FBSyxDQUFDO01BQ0osT0FBTyxFQUFFLEtBQUssR0FDZjtFSmpFRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQytEcEMsQUFBQSw2QkFBNkIsQ0FBQztNN0N6RDFCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7TXFCNkczQyxVQUFVLEVBQUUsZUFBZTtNQUMzQixZQUFZLEVBQUUsQ0FBQztNQUNmLFdBQVcsRUFBRSxDQUFDO01BQ2QsVUFBVSxFQUFFLE1BQU0sRzRCUXJCO01BTkQsQTdDcENNLDZCNkNvQ3VCLEE3Q3BDdEIsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO002Q2tDUCxBNUJYRSw2QjRCVzJCLEM1QlgzQixLQUFLLENBV0c7UUFDSixPQUFPLEVBQUUsS0FBSyxHQUNmOztBNEJNTCxBQUFBLHlCQUF5QixDQUFDO0VoQ3BCeEIsU0FBUyxFSDlFSSxJQUFJO0VHK0VqQixTQUFTLEVBQUUsTUFBZ0M7RWdDeUIzQyxhQUFhLEVBQUUsSUFBSSxHQUNwQjtFaEN2RkcsQUFBQSxPQUFPLENnQ2dGWCx5QkFBeUIsQ2hDaEZYO0liZVYsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHaUIrQzFDO0lBTEQsQWJvQ0UsT2FwQ0ssQ2dDZ0ZYLHlCQUF5QixBN0M1Q2xCLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFYTdCSCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQ3VFcEMsQUFBQSx5QkFBeUIsQ0FBQztNN0NqRXRCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsR2lEaUk5QztNQVBELEE3QzVDTSx5QjZDNENtQixBN0M1Q2xCLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QTZDbURQLEFBQUEsK0JBQStCO0FBQy9CLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsZ0NBQWdDLENBQUM7RUFDL0IsVUFBVSxFQUFFLFVBQVU7RUFDdEIsT0FBTyxFQUFFLEtBQUssR0FTZjtFQWRELEFBT0UsK0JBUDZCLENBTzdCLEdBQUc7RUFOTCwrQkFBK0IsQ0FNN0IsR0FBRztFQUxMLCtCQUErQixDQUs3QixHQUFHO0VBSkwsZ0NBQWdDLENBSTlCLEdBQUcsQ0FBQztJQUNGLE1BQU0sRUFBRSxJQUFJO0lBQ1osTUFBTSxFQUFFLElBQUk7SUFDWixZQUFZLEVBQUUsR0FBRztJQUNqQixRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUdILEFBQUEsZ0NBQWdDLENBQUM7RUFDL0IsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBRUQsQUFDRSxxQkFEbUIsQ0FDbkIsQ0FBQyxDQUFDO0VoQ2xERixTQUFTLEVIeEZNLElBQUk7RUd5Rm5CLFNBQVMsRUFBRSxJQUFnQztFRzVHM0MsVUFBVSxFTklDLE9BQU87RU1IbEIsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsSUFBSTtFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRUFBRSxDQUFDO0VBQ2QsT0FBTyxFQUFFLFlBQVk7RUFDckIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLFNBQVM7RUFDekIsVUFBVSxFQUFFLDJDQUEyQztFQUN2RCxhQUFhLEVBQUUsMkNBQTJDO0VBQzFELGNBQWMsRUFBRSwyQ0FBMkM7RUFDM0Qsc0JBQXNCLEVBQUUsV0FBVztFNkJpSmpDLE1BQU0sRUFBRSxNQUFNO0VBQ2QsT0FBTyxFQUFFLEtBQUs7RUFDZCxhQUFhLEVBQUUsSUFBSTtFQUNuQixVQUFVLEVBQUUsTUFBTSxHQU1uQjtFQVpILEE3QjVJRSxxQjZCNEltQixDQUNuQixDQUFDLEE3QjdJQSxPQUFPLEU2QjRJVixxQkFBcUIsQ0FDbkIsQ0FBQyxBN0I1SUEsTUFBTSxFNkIySVQscUJBQXFCLENBQ25CLENBQUMsQTdCM0lBLE1BQU0sQ0FBQztJQUNOLFVBQVUsRU5oQk4sT0FBTztJTWlCWCxLQUFLLEVObEJJLElBQUk7SU1tQmIsT0FBTyxFQUFFLElBQUksR0FDZDtFSHlCQyxBQUFBLE9BQU8sQ2dDNkdYLHFCQUFxQixDQUNuQixDQUFDLENoQzlHVztJZ0NzSFIsTUFBTSxFQUFFLFNBQVM7SUFDakIsT0FBTyxFQUFFLFlBQVksR2hDbEh0QjtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdDb0dwQyxBQUNFLHFCQURtQixDQUNuQixDQUFDLENBQUM7TUFRRSxNQUFNLEVBQUUsU0FBUztNQUNqQixPQUFPLEVBQUUsWUFBWSxHQUV4Qjs7QUFHSCxBQUFBLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDO0VBQ3pDLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBRUQsQUFBQSxzQ0FBc0MsQ0FBQztFQUNyQyxVQUFVLEVBQUUsSUFBSTtFQUNoQixXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFFRCxBQUFBLHFDQUFxQyxDQUFDO0VBQ3BDLFVBQVUsRUFBRSxHQUFHLEdBQ2hCOztBQUlELEFBQUEsWUFBWSxDQUFDO0VBQ1gsV0FBVyxFQUFFLElBQUksR0FDbEI7O0FBRUQsQUFBQSw0QkFBNEIsQ0FBQztFQUMzQixXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFFRCxBQUFBLDRCQUE0QixDQUFDO0VBQzNCLGFBQWEsRUFBRSxHQUFHLEdBQ25COztBQ3pNRCxBQUNFLHFDQURtQyxDQUNuQyxFQUFFLEVBREoscUNBQXFDLEM2QkFyQyxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFEdkMsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLEM3QkR0QixxQ0FBcUMsQzZCQ2QsZ0JBQWdCLEM3QkFsQztFQUNELGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDcENtQlIsT0FBTztFb0NsQnZCLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFcENLSSxPQUFPO0VvQ0poQixjQUFjLEVBQUUsSUFBSTtFQUNwQixXQUFXLEVBQUUsSUFBSTtFQUNqQixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQVJILEFBVUUscUNBVm1DLENBVW5DLFdBQVcsQ0FBQztFQUNWLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDcENVUixPQUFPO0VvQ1R2QixPQUFPLEVBQUUsV0FBVyxHQUNyQjs7QUFiSCxBQWVFLHFDQWZtQyxDQWVuQyxhQUFhLENBQUM7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLFFBQVEsRUFBRSxNQUFNLEdBQ2pCOztBQWxCSCxBQW9CRSxxQ0FwQm1DLENBb0JuQyxLQUFLLENBQUM7RUFDSixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRXBDRUksSUFBSTtFb0NEakIsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUF4QkgsQUE0QkkscUNBNUJpQyxDQTBCbkMsb0JBQW9CLENBRWxCLEtBQUs7QUE1QlQscUNBQXFDLENBMkJuQyxpQkFBaUIsQ0FDZixLQUFLLENBQUM7RUFDSixNQUFNLEVBQUUsZUFBZTtFQUN2QixLQUFLLEVBQUUsS0FBSyxHQUNiOztBQS9CTCxBQWlDSSxxQ0FqQ2lDLENBMEJuQyxvQkFBb0IsQ0FPbEIsYUFBYTtBQWpDakIscUNBQXFDLENBMkJuQyxpQkFBaUIsQ0FNZixhQUFhLENBQUM7RUFDWixPQUFPLEVBQUUsWUFBWTtFQUNyQixXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFwQ0wsQUF3Q0kscUNBeENpQyxDQXVDbkMsaUJBQWlCLENBQ2YsTUFBTSxDQUFDO0VBQ0wsTUFBTSxFQUFFLGVBQWU7RUFDdkIsS0FBSyxFQUFFLEtBQUssR0FDYjs7QUEzQ0wsQUErQ0kscUNBL0NpQyxDQThDbkMsbUJBQW1CLENBQ2pCLEtBQUssQ0FBQztFQUNKLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHLEdBQ1Q7O0FBbkRMLEFBeURJLHFDQXpEaUMsQ0FzRG5DLDBDQUEwQyxDQUd4QyxLQUFLO0FBekRULHFDQUFxQyxDQXVEbkMseUNBQXlDLENBRXZDLEtBQUs7QUF6RFQscUNBQXFDLENBd0RuQyx3Q0FBd0MsQ0FDdEMsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLElBQUksR0FDZDs7QUEzREwsQUFrRUkscUNBbEVpQyxDQThEbkMsa0NBQWtDLENBSWhDLEtBQUs7QUFsRVQscUNBQXFDLENBK0RuQyxxQ0FBcUMsQ0FHbkMsS0FBSztBQWxFVCxxQ0FBcUMsQ0FnRW5DLDJDQUEyQyxDQUV6QyxLQUFLO0FBbEVULHFDQUFxQyxDQWlFbkMsNkNBQTZDLENBQzNDLEtBQUssQ0FBQztFQUNKLFVBQVUsRUFBRSxLQUFLLEdBQ2xCOztBQXBFTCxBQWtGSSxxQ0FsRmlDLENBdUVuQyxrQ0FBa0MsQ0FXaEMsS0FBSztBQWxGVCxxQ0FBcUMsQ0F3RW5DLDZCQUE2QixDQVUzQixLQUFLO0FBbEZULHFDQUFxQyxDQXlFbkMsc0NBQXNDLENBU3BDLEtBQUs7QUFsRlQscUNBQXFDLENBMEVuQyxzQ0FBc0MsQ0FRcEMsS0FBSztBQWxGVCxxQ0FBcUMsQ0EyRW5DLHFDQUFxQyxDQU9uQyxLQUFLO0FBbEZULHFDQUFxQyxDQTRFbkMscUNBQXFDLENBTW5DLEtBQUs7QUFsRlQscUNBQXFDLENBNkVuQyw0Q0FBNEMsQ0FLMUMsS0FBSztBQWxGVCxxQ0FBcUMsQ0E4RW5DLDJDQUEyQyxDQUl6QyxLQUFLO0FBbEZULHFDQUFxQyxDQStFbkMsc0NBQXNDLENBR3BDLEtBQUs7QUFsRlQscUNBQXFDLENBZ0ZuQywyQ0FBMkMsQ0FFekMsS0FBSztBQWxGVCxxQ0FBcUMsQ0FpRm5DLDRDQUE0QyxDQUMxQyxLQUFLLENBQUM7RUFDSixXQUFXLEVBQUUsR0FBRyxHQUNqQjs7QUFwRkwsQUF3RkkscUNBeEZpQyxDQXVGbkMsMENBQTBDLENBQ3hDLEtBQUssQ0FBQztFQUNKLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxDQUFDO0VBQ2IsR0FBRyxFQUFFLEdBQUcsR0FDVDs7QUE1RkwsQUErRkUscUNBL0ZtQyxDQStGbkMsYUFBYSxDQUFDO0VBQ1osV0FBVyxFQUFFLElBQUksR0FDbEI7O0FBakdILEFBb0dFLHFDQXBHbUMsQ0FvR25DLHNDQUFzQztBQXBHeEMscUNBQXFDLENBcUduQyxzQ0FBc0M7QUFyR3hDLHFDQUFxQyxDQXNHbkMsNkNBQTZDO0FBdEcvQyxxQ0FBcUMsQ0F1R25DLHVCQUF1QixHQUFHLEtBQUs7QUF2R2pDLHFDQUFxQyxDQXdHbkMsNENBQTRDO0FBeEc5QyxxQ0FBcUMsQ0F5R25DLHVDQUF1QztBQXpHekMscUNBQXFDLENBMEduQyw0Q0FBNEM7QUExRzlDLHFDQUFxQyxDQTJHbkMsNkNBQTZDLENBQUM7RUFDNUMsT0FBTyxFQUFFLElBQUksR0FDZDs7QUE3R0gsQUErR0UscUNBL0dtQyxDQStHbkMsdUJBQXVCLENBQUM7RUFDdEIsYUFBYSxFQUFFLENBQUM7RUFDaEIsT0FBTyxFQUFFLENBQUMsR0FVWDtFQTNISCxBQW1ISSxxQ0FuSGlDLENBK0duQyx1QkFBdUIsR0FJakIsS0FBSyxDQUFDO0lBQ1IsV0FBVyxFQUFFLElBQUksR0FDbEI7RUFySEwsQUF1SEkscUNBdkhpQyxDQStHbkMsdUJBQXVCLENBUXJCLDRDQUE0QyxDQUFDO0lBQzNDLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDcENuR1YsT0FBTztJb0NvR3JCLGNBQWMsRUFBRSxJQUFJLEdBQ3JCOztBQzFITCxBQUFBLGFBQWEsQ0FBQztFQUNaLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFFBQVEsRUFBRSxNQUFNO0VBRWhCLFFBQVEsRUFBRSxtQkFBbUIsR0FDOUI7O0FsQytDRyxBQUFBLE9BQU8sQ2tDNUNYLHFCQUFxQixDbEM0Q1A7RWJlVixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0VJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0VFNkN6QyxZQUFvQixFQUFTLENBQUM7RWlEM0NoQyxLQUFLLEVBQUUsS0FBSyxHbEM2Q1g7RUFMRCxBYm9DRSxPYXBDSyxDa0M1Q1gscUJBQXFCLEEvQ2dGZCxXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0FhN0JILE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWtDckRwQyxBQUFBLHFCQUFxQixDQUFDO0kvQzJEbEIsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztJRTZDekMsWUFBb0IsRUFBUyxDQUFDO0lpRDNDaEMsS0FBSyxFQUFFLEtBQUssR0FFZjtJQU5ELEEvQ2dGTSxxQitDaEZlLEEvQ2dGZCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0ErQ3pFUCxBQUFBLDJCQUEyQjtBQUMzQiwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDJCQUEyQixDQUFDO0UvQytDeEIsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKdEVoQixRQUFzQztFSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztFbURZN0MsT0FBTyxFQUFFLEtBQUs7RUFDZCxXQUFXLEVBQUUsSUFBSTtFQUNqQixhQUFhLEVBQUUsSUFBSTtFQUNuQixVQUFVLEVBQUUsTUFBTSxHQUNuQjtFQVRELEEvQ3VFTSwyQitDdkVxQixBL0N1RXBCLFdBQVc7RStDdEVsQiwyQkFBMkIsQS9Dc0VwQixXQUFXO0UrQ3JFbEIsMkJBQTJCLEEvQ3FFcEIsV0FBVztFK0NwRWxCLDJCQUEyQixBL0NvRXBCLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QStDOURQLEFBQUEsa0JBQWtCO0FBQ2xCLG9CQUFvQixDQUFDO0VBQ25CLEtBQUssRUFBRSxJQUFJO0VBQ1gsYUFBYSxFQUFFLElBQUk7RUFDbkIsUUFBUSxFQUFFLE1BQU0sR0FNakI7RUFWRCxBQU1FLGtCQU5nQixDQU1oQixFQUFFLEVBTkosa0JBQWtCLENiNUJsQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ0FRVixhQUFhLEVBMUJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ2FVaEIsa0JBQWtCLENiRlosYUFBYSxFYUVuQixrQkFBa0IsQ2I1QmxCLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ0FHbkIsS0FBSyxFQTlGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENhL0QzQixrQkFBa0IsQ2JrRVYsS0FBSyxFYWxFYixrQkFBa0IsQ2I1QmxCLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENBS2QsS0FBSyxFQW5IZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDYWxGeEIsa0JBQWtCLENidUZSLEtBQUssRWF2RmYsa0JBQWtCLEN3QjVCbEIsYUFBYSxDQTRFWCxtQkFBbUIsQ0FHakIsS0FBSyxFQS9FVCxhQUFhLENBNEVYLG1CQUFtQixDeEJoRHJCLGtCQUFrQixDd0JtRGQsS0FBSyxFeEJuRFQsa0JBQWtCLEM0QjVCbEIsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDNUJwQ2xDLGtCQUFrQixDNEJzQ2QsTUFBTTtFNUJyQ1Ysb0JBQW9CLENBS2xCLEVBQUU7RUFMSixvQkFBb0IsQ2I3QnBCLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDQVFWLGFBQWE7RUExQm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDYVdoQixvQkFBb0IsQ2JIZCxhQUFhO0VhR25CLG9CQUFvQixDYjdCcEIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLO0VBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ2E5RDNCLG9CQUFvQixDYmlFWixLQUFLO0VhakViLG9CQUFvQixDYjdCcEIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ0FLZCxLQUFLO0VBbkhmLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENhakZ4QixvQkFBb0IsQ2JzRlYsS0FBSztFYXRGZixvQkFBb0IsQ3dCN0JwQixhQUFhLENBNEVYLG1CQUFtQixDQUdqQixLQUFLO0VBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLEN4Qi9DckIsb0JBQW9CLEN3QmtEaEIsS0FBSztFeEJsRFQsb0JBQW9CLEM0QjdCcEIsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTTtFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDNUJuQ2xDLG9CQUFvQixDNEJxQ2hCLE1BQU0sQzVCaENMO0lBQ0QsU0FBUyxFckNIRSxJQUFJO0lxQ0lmLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUdILEFBQUEscUJBQXFCLEdBQUcsa0JBQWtCLEdBQUcsRUFBRSxFYnhDL0MsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENhc0JoQixxQkFBcUIsR0FBRyxrQkFBa0IsR2JkcEMsYUFBYSxFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDYW5EM0IscUJBQXFCLEdBQUcsa0JBQWtCLEdic0RsQyxLQUFLLEVBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENhdEV4QixxQkFBcUIsR0FBRyxrQkFBa0IsR2IyRWhDLEtBQUssRXFDbkhmLGFBQWEsQ0E0RVgsbUJBQW1CLEN4QnBDckIscUJBQXFCLEdBQUcsa0JBQWtCLEd3QnVDdEMsS0FBSyxFSS9FVCxjQUFjLENBZ0VaLGdDQUFnQyxDNUJ4QmxDLHFCQUFxQixHQUFHLGtCQUFrQixHNEIwQnRDLE1BQU0sQzVCMUJzQztFQUM5QyxVQUFVLEVBQUUsQ0FBQyxHQUNkOztBQUdELEFBQUEsb0JBQW9CLENBQUM7RUFNbkIsV0FBVyxFQUFFLElBQUksR0FDbEI7RWxDQUcsQUFBQSxPQUFPLENrQ1BYLG9CQUFvQixDbENPTjtJYmVWLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7SW1Ec0MzQyxXQUFXLEVBQUUsR0FBRyxHbENTZjtJQUxELEFib0NFLE9hcENLLENrQ1BYLG9CQUFvQixBL0MyQ2IsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VhN0JILE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtDaEJwQyxBQUFBLG9CQUFvQixDQUFDO00vQ3NCakIsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKdEVoQixPQUFzQztNSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztNbURzQzNDLFdBQVcsRUFBRSxHQUFHLEdBSW5CO01BUEQsQS9DMkNNLG9CK0MzQ2MsQS9DMkNiLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QStDcENQLEFBQUEsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQixtQkFBbUI7QUFDbkIsbUJBQW1CO0FBQ25CLG9CQUFvQixDQUFDO0UvQ1NqQixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0VJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0VxQmdHN0MsbUJBQW1CLEVBQUUsV0FBVztFQUNoQyxpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFdBQVcsRUFBRSxHQUFHLEc4Qm5EakI7RUFORCxBL0NrQ00sbUIrQ2xDYSxBL0NrQ1osV0FBVztFK0NqQ2xCLG1CQUFtQixBL0NpQ1osV0FBVztFK0NoQ2xCLG1CQUFtQixBL0NnQ1osV0FBVztFK0MvQmxCLG1CQUFtQixBL0MrQlosV0FBVztFK0M5QmxCLG9CQUFvQixBL0M4QmIsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0UrQ3BDUCxBOUIyREUsbUI4QjNEaUIsQzlCMkRqQixLQUFLO0U4QjFEUCxtQkFBbUIsQzlCMERqQixLQUFLO0U4QnpEUCxtQkFBbUIsQzlCeURqQixLQUFLO0U4QnhEUCxtQkFBbUIsQzlCd0RqQixLQUFLO0U4QnZEUCxvQkFBb0IsQzlCdURsQixLQUFLLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSSxHQUNkO0VKL0RDLEFBQUEsT0FBTyxDa0NFWCxtQkFBbUIsRWxDRmYsT0FBTztFa0NHWCxtQkFBbUIsRWxDSGYsT0FBTztFa0NJWCxtQkFBbUIsRWxDSmYsT0FBTztFa0NLWCxtQkFBbUIsRWxDTGYsT0FBTztFa0NNWCxvQkFBb0IsQ2xDTk47SWJlVixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0lxQjZHM0MsVUFBVSxFQUFFLGVBQWU7SUFDM0IsWUFBWSxFQUFFLENBQUM7SUFDZixXQUFXLEVBQUUsQ0FBQztJQUNkLFVBQVUsRUFBRSxNQUFNLEdKakVqQjtJQUxELEFib0NFLE9hcENLLENrQ0VYLG1CQUFtQixBL0NrQ1osV0FBVyxFYXBDZCxPQUFPO0lrQ0dYLG1CQUFtQixBL0NpQ1osV0FBVyxFYXBDZCxPQUFPO0lrQ0lYLG1CQUFtQixBL0NnQ1osV0FBVyxFYXBDZCxPQUFPO0lrQ0tYLG1CQUFtQixBL0MrQlosV0FBVyxFYXBDZCxPQUFPO0lrQ01YLG9CQUFvQixBL0M4QmIsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lhdENILEFJd0VBLE9KeEVPLENrQ0VYLG1CQUFtQixDOUJzRWYsS0FBSyxFSnhFTCxPQUFPO0lrQ0dYLG1CQUFtQixDOUJxRWYsS0FBSyxFSnhFTCxPQUFPO0lrQ0lYLG1CQUFtQixDOUJvRWYsS0FBSyxFSnhFTCxPQUFPO0lrQ0tYLG1CQUFtQixDOUJtRWYsS0FBSyxFSnhFTCxPQUFPO0lrQ01YLG9CQUFvQixDOUJrRWhCLEtBQUssQ0FBQztNQUNKLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUpqRUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztJa0NQcEMsQUFBQSxtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsb0JBQW9CLENBQUM7TS9DU2pCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7TXFCNkczQyxVQUFVLEVBQUUsZUFBZTtNQUMzQixZQUFZLEVBQUUsQ0FBQztNQUNmLFdBQVcsRUFBRSxDQUFDO01BQ2QsVUFBVSxFQUFFLE1BQU0sRzhCOURyQjtNQU5ELEEvQ2tDTSxtQitDbENhLEEvQ2tDWixXQUFXO00rQ2pDbEIsbUJBQW1CLEEvQ2lDWixXQUFXO00rQ2hDbEIsbUJBQW1CLEEvQ2dDWixXQUFXO00rQy9CbEIsbUJBQW1CLEEvQytCWixXQUFXO00rQzlCbEIsb0JBQW9CLEEvQzhCYixXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TStDcENQLEE5QjJERSxtQjhCM0RpQixDOUIyRGpCLEtBQUs7TThCMURQLG1CQUFtQixDOUIwRGpCLEtBQUs7TThCekRQLG1CQUFtQixDOUJ5RGpCLEtBQUs7TThCeERQLG1CQUFtQixDOUJ3RGpCLEtBQUs7TThCdkRQLG9CQUFvQixDOUJ1RGxCLEtBQUssQ0FXRztRQUNKLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0E4QmhFTCxBQUNFLG9CQURrQixDQUNsQixvQkFBb0IsQ0FBQztFQUtuQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0VsQ25CQyxBQUFBLE9BQU8sQ2tDVVgsb0JBQW9CLENBQ2xCLG9CQUFvQixDbENYUjtJa0NhUixPQUFPLEVBQUUsS0FBSyxHbENSZjtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtDQ3BDLEFBQ0Usb0JBRGtCLENBQ2xCLG9CQUFvQixDQUFDO01BRWpCLE9BQU8sRUFBRSxLQUFLLEdBTWpCOztBQVRILEFBV0Usb0JBWGtCLENBV2xCLG1CQUFtQjtBQVhyQixvQkFBb0IsQ0FZbEIsbUJBQW1CO0FBWnJCLG9CQUFvQixDQWFsQixtQkFBbUI7QUFickIsb0JBQW9CLENBY2xCLG1CQUFtQixDQUFDO0U5QnVEcEIsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixZQUFZLEVBQUUsR0FBRztFQUNqQixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsZUFBZSxHOEJ4RDNCOztBQUdILEFBQUEsYUFBYSxDQUFDO0VBQ1osVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENyQzdESCxPQUFPO0VxQzhEekIsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsR0FBRztFQUNkLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxJQUFJLEdBV2xCO0VBaEJELEFBT0UsYUFQVyxDQU9YLEVBQUUsRUFQSixhQUFhLENwQnRFYixJQUFJLENBNEJGLEtBQUssRUE1QlAsSUFBSSxDb0JzRUosYUFBYSxDcEIxQ1gsS0FBSyxFb0IwQ1AsYUFBYSxDSWpGYixjQUFjLEFBdUJYLGdCQUFnQixDQUNmLEVBQUUsRUF4Qk4sY0FBYyxBQXVCWCxnQkFBZ0IsQ0owRG5CLGFBQWEsQ0l6RFQsRUFBRSxFSnlETixhQUFhLENJakZiLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYSxFaUIxQm5CLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENhK0RoQixhQUFhLENidkRQLGFBQWEsRWF1RG5CLGFBQWEsQ2JqRmIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENpQmxCaEIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCR2IsYUFBYSxFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENpQmxCaEIsY0FBYyxBQXVCWCxnQkFBZ0IsQ0owRG5CLGFBQWEsQ2J2RFAsYUFBYSxFYXVEbkIsYUFBYSxDSWpGYixjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ0FHbkIsS0FBSyxFaUI5RmIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENhVjNCLGFBQWEsQ2JhTCxLQUFLLEVhYmIsYUFBYSxDYmpGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENpQjNGM0IsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdUVYLEtBQUssRUE5RmIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDaUIzRjNCLGNBQWMsQUF1QlgsZ0JBQWdCLENKMERuQixhQUFhLENiYUwsS0FBSyxFYWJiLGFBQWEsQ0lqRmIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDQUtkLEtBQUssRWlCbkhmLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ2E3QnhCLGFBQWEsQ2JrQ0gsS0FBSyxFYWxDZixhQUFhLENiakZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENpQjlHeEIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCNEZULEtBQUssRUFuSGYsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ2lCOUd4QixjQUFjLEFBdUJYLGdCQUFnQixDSjBEbkIsYUFBYSxDYmtDSCxLQUFLLEVhbENmLGFBQWEsQ0lqRmIsY0FBYyxBQXVCWCxnQkFBZ0IsQ29CdkJuQixhQUFhLENBNEVYLG1CQUFtQixDQUdqQixLQUFLLEVwQi9FVCxjQUFjLEFBdUJYLGdCQUFnQixDb0J2Qm5CLGFBQWEsQ0E0RVgsbUJBQW1CLEN4QktyQixhQUFhLEN3QkZULEtBQUssRXhCRVQsYUFBYSxDd0JqRmIsYUFBYSxDQTRFWCxtQkFBbUIsQ3BCNUVyQixjQUFjLEFBdUJYLGdCQUFnQixDb0J3RGYsS0FBSyxFQS9FVCxhQUFhLENBNEVYLG1CQUFtQixDcEI1RXJCLGNBQWMsQUF1QlgsZ0JBQWdCLENKMERuQixhQUFhLEN3QkZULEtBQUssRXhCRVQsYUFBYSxDSWpGYixjQUFjLEFBdUJYLGdCQUFnQixDd0J2Qm5CLGNBQWMsQ0FnRVosZ0NBQWdDLENBRTlCLE1BQU0sRXhCbEVWLGNBQWMsQUF1QlgsZ0JBQWdCLEN3QnZCbkIsY0FBYyxDQWdFWixnQ0FBZ0MsQzVCaUJsQyxhQUFhLEM0QmZULE1BQU0sRTVCZVYsYUFBYSxDNEJqRmIsY0FBYyxDQWdFWixnQ0FBZ0MsQ3hCaEVsQyxjQUFjLEFBdUJYLGdCQUFnQixDd0IyQ2YsTUFBTSxFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDeEJoRWxDLGNBQWMsQUF1QlgsZ0JBQWdCLENKMERuQixhQUFhLEM0QmZULE1BQU0sRTVCZVYsYUFBYSxDUWpGYixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ0FDQyxFQUFFLEVBdEJSLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDUjRETCxhQUFhLENRM0RQLEVBQUUsRVIyRFIsYUFBYSxDUWpGYixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDQVFWLGFBQWEsRXFCMUJuQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDYStEaEIsYUFBYSxDYnZEUCxhQUFhLEVhdURuQixhQUFhLENiakZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDcUJsQmhCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJLQyxhQUFhLEVBMUJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ3FCbEJoQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ1I0REwsYUFBYSxDYnZEUCxhQUFhLEVhdURuQixhQUFhLENRakZiLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLLEVxQjlGYixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ2FWM0IsYUFBYSxDYmFMLEtBQUssRWFiYixhQUFhLENiakZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ3FCM0YzQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCeUVHLEtBQUssRUE5RmIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDcUIzRjNCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDUjRETCxhQUFhLENiYUwsS0FBSyxFYWJiLGFBQWEsQ1FqRmIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnJCTCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDQUtkLEtBQUssRXFCbkhmLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ2E3QnhCLGFBQWEsQ2JrQ0gsS0FBSyxFYWxDZixhQUFhLENiakZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENxQjlHeEIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQjhGSyxLQUFLLEVBbkhmLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENxQjlHeEIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENSNERMLGFBQWEsQ2JrQ0gsS0FBSyxFYWxDZixhQUFhLENRakZiLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDZ0JyQkwsYUFBYSxDQTRFWCxtQkFBbUIsQ0FHakIsS0FBSyxFaEIvRVQsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENnQnJCTCxhQUFhLENBNEVYLG1CQUFtQixDeEJLckIsYUFBYSxDd0JGVCxLQUFLLEV4QkVULGFBQWEsQ3dCakZiLGFBQWEsQ0E0RVgsbUJBQW1CLENoQjVFckIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENnQjBERCxLQUFLLEVBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLENoQjVFckIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENSNERMLGFBQWEsQ3dCRlQsS0FBSyxFeEJFVCxhQUFhLENRakZiLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDb0JyQkwsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxFcEJsRVYsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENvQnJCTCxjQUFjLENBZ0VaLGdDQUFnQyxDNUJpQmxDLGFBQWEsQzRCZlQsTUFBTSxFNUJlVixhQUFhLEM0QmpGYixjQUFjLENBZ0VaLGdDQUFnQyxDcEJoRWxDLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDb0I2Q0QsTUFBTSxFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDcEJoRWxDLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDUjRETCxhQUFhLEM0QmZULE1BQU0sQzVCc0JMO0lBQ0QsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVyQ2xFSSxJQUFJLEdxQ21FbEI7RUFWSCxBQVlFLGFBWlcsQ0FZWCxFQUFFLENBQUM7SUFDRCxXQUFXLEVBQUUsQ0FBQztJQUNkLFlBQVksRUFBRSxJQUFJLEdBQ25COztBbEM1Q0MsQUFBQSxPQUFPLENrQytDWCxrQkFBa0IsQ2xDL0NKO0ViZVYsS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKdEVoQixPQUFzQztFSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHaUIrQzFDO0VBTEQsQWJvQ0UsT2FwQ0ssQ2tDK0NYLGtCQUFrQixBL0NYWCxXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0FhN0JILE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWtDc0NwQyxBQUFBLGtCQUFrQixDQUFDO0kvQ2hDZixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdtRG9HOUM7SUFYRCxBL0NYTSxrQitDV1ksQS9DWFgsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9COztBK0NTUCxBQUtFLGtCQUxnQixDQUtoQixDQUFDLENBQUM7RWxDUUYsU0FBUyxFSHhGTSxJQUFJO0VHeUZuQixTQUFTLEVBQUUsSUFBZ0M7RUc1RzNDLFVBQVUsRU5JQyxPQUFPO0VNSGxCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLElBQUk7RUFDaEIsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsR0FBRztFQUNoQixPQUFPLEVBQUUsWUFBWTtFQUNyQixXQUFXLEVBQUUsQ0FBQztFQUNkLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLFVBQVUsRUFBRSwyQ0FBMkM7RUFDdkQsYUFBYSxFQUFFLDJDQUEyQztFQUMxRCxjQUFjLEVBQUUsMkNBQTJDO0VBQzNELHNCQUFzQixFQUFFLFdBQVc7RStCdUZqQyxPQUFPLEVBQUUsS0FBSztFQUNkLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0VBVkgsQS9COUVFLGtCK0I4RWdCLENBS2hCLENBQUMsQS9CbkZBLE9BQU8sRStCOEVWLGtCQUFrQixDQUtoQixDQUFDLEEvQmxGQSxNQUFNLEUrQjZFVCxrQkFBa0IsQ0FLaEIsQ0FBQyxBL0JqRkEsTUFBTSxDQUFDO0lBQ04sVUFBVSxFTmhCTixPQUFPO0lNaUJYLEtBQUssRU5sQkksSUFBSTtJTW1CYixPQUFPLEVBQUUsSUFBSSxHQUNkOztBK0JxRkgsQUFBQSxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQztFQUN0QyxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQ2xIRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBR0QsQUFBQSwrQkFBK0I7QUFDL0IsU0FBUztBQUNULFFBQVEsQ0FBQztFQUNQLEtBQUssRUFBRSxLQUFLO0VBS2Q7Ozt1QkFHdUI7RUFDckIsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUFBLCtCQUErQixDQUFDO0VBQzlCLGdCQUFnQixFQUFFLElBQUksR0FDdkI7O0FBS0QsQUFBQSxTQUFTLENBQUM7RUFDUixrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsb0JBQW9CO0VBQ3hELGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsb0JBQW9CO0VBQ3JELFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEdBQ2pEOztBQUVELEFBQUEsUUFBUSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQ1QsR0FBQzs7QUFFRCxBQUFBLFFBQVEsQ0FBQztFQUNQLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLE1BQU07RUFDZCxPQUFPLEVBQUUsS0FBSztFQUNkLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsTUFBTSxFQUFFLGNBQWM7RUFDdEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsa0JBQWtCO0VBQ3BDLHFCQUFxQixFQUFFLEdBQUc7RUFDMUIsa0JBQWtCLEVBQUUsR0FBRztFQUN2QixhQUFhLEVBQUUsR0FBRztFQUNsQixrQkFBa0IsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBYztFQUM3QyxlQUFlLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWM7RUFDMUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFjLEdBQ3RDOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2IsT0FBTyxFQUFFLFFBQVE7RUFDakIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFFRCxBQUFBLGNBQWMsQUFBQSxNQUFNLENBQUM7RUFDbkIsTUFBTSxFQUFFLE9BQU87RUFDZixLQUFLLEVBQUUsSUFBSTtFQUNYLGdCQUFnQixFQUFFLE9BQU8sR0FDMUI7O0FBRUQsQUFBQSxjQUFjLEFBQUEsVUFBVSxDQUFDO0VBQ3ZCLEtBQUssRUFBRSxJQUFJO0VBQ1gsZ0JBQWdCLEVBQUUsT0FBTyxHQUUxQjs7QUFFRCxBQUFBLGNBQWMsQ0FBQyxDQUFDLENBQUM7RUFDZixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVELEFBQUEsS0FBSyxDQUFDO0VBQ0osU0FBUyxFQUFFLElBQUksR0FDaEI7O0FDNUVELEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsS0FBSyxFQUFFLElBQUksR0F3RVo7RUExRUQsQUFJRSx1QkFKcUIsQ0FJckIsS0FBSyxDQUFDO0lBQ0osS0FBSyxFQUFFLElBQUk7SUFDWCxlQUFlLEVBQUUsUUFBUTtJQUN6QixhQUFhLEVBQUUsSUFBSSxHQWtCcEI7SUF6QkgsQUFTSSx1QkFUbUIsQ0FJckIsS0FBSyxDQUtILEVBQUUsQ0FBQztNQUNELE9BQU8sRUFBRSxRQUFRO01BQ2pCLGFBQWEsRUFBRSxjQUFjO01BQzdCLGNBQWMsRUFBRSxHQUFHLEdBWXBCO01BeEJMLEFBY00sdUJBZGlCLENBSXJCLEtBQUssQ0FLSCxFQUFFLEFBS0MsWUFBWSxDQUFDO1FBQ1osS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsSUFBSSxHQUNaO01BakJQLEFBbUJNLHVCQW5CaUIsQ0FJckIsS0FBSyxDQUtILEVBQUUsQUFVQyxXQUFXLENBQUM7UUFDWCxVQUFVLEVBQUUsS0FBSztRQUNqQixXQUFXLEVBQUUsTUFBTTtRQUNuQixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQXZCUCxBQTJCRSx1QkEzQnFCLENBMkJyQixrQkFBa0IsQ0FBQztJQUNqQixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQTlCSCxBQWdDRSx1QkFoQ3FCLENBZ0NyQix1QkFBdUIsQ0FBQyxDQUFDLENBQUM7SUFDeEIsS0FBSyxFQUFFLE9BQU87SUFDZCxXQUFXLEVBQUUsR0FBRztJQUNoQixlQUFlLEVBQUUsU0FBUztJQUMxQixTQUFTLEVBQUUsTUFBTSxHQUtsQjtJQXpDSCxBQXNDSSx1QkF0Q21CLENBZ0NyQix1QkFBdUIsQ0FBQyxDQUFDLEFBTXRCLE1BQU0sQ0FBQztNQUNOLGVBQWUsRUFBRSxJQUFJLEdBQ3RCO0VBeENMLEFBMkNFLHVCQTNDcUIsQ0EyQ3JCLGtCQUFrQixDQUFDO0lBQ2pCLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLEtBQUs7SUFDaEIsVUFBVSxFQUFFLEdBQUcsR0FDaEI7RUEvQ0gsQUFpREUsdUJBakRxQixDQWlEckIsaUJBQWlCLENBQUM7SUFDaEIsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsUUFBUTtJQUN6QixHQUFHLEVBQUUsSUFBSTtJQUNULE9BQU8sRUFBRSxPQUFPLEdBb0JqQjtJQXpFSCxBQXVESSx1QkF2RG1CLENBdURsQix1QkFBTSxDQUFDO01BQ04sS0FBSyxFQUFFLElBQUk7TUFDWCxTQUFTLEVBQUUsS0FBSztNQUNoQixVQUFVLEVBQUUsS0FBSyxHQUNsQjtJQTNETCxBQTZESSx1QkE3RG1CLENBNkRsQix1QkFBTSxDQUFDO01BQ04sU0FBUyxFQUFFLElBQUk7TUFDZixVQUFVLEVBQUUsS0FBSyxHQUNsQjtJQWhFTCxBQWtFSSx1QkFsRW1CLENBa0VsQix3QkFBTyxDQUFDO01BQ1AsVUFBVSxFQUFFLGNBQWM7TUFDMUIsVUFBVSxFQUFFLEdBQUc7TUFDZixXQUFXLEVBQUUsSUFBSTtNQUNqQixXQUFXLEVBQUUsR0FBRztNQUNoQixTQUFTLEVBQUUsS0FBSyxHQUNqQjs7QUV4RUwsQUFJTSxjQUpRLEFBQ1gsaUJBQWlCLEFBRWYsY0FBYyxDQUNiLGVBQWU7QUFKckIsY0FBYyxBQUNYLGlCQUFpQixBQUVmLGNBQWMsQ0FFYixtQkFBbUIsRUFMekIsY0FBYyxBQUVYLHVCQUF1QixBQUNyQixjQUFjLENBQ2IsZUFBZTtBQUpyQixjQUFjLEFBRVgsdUJBQXVCLEFBQ3JCLGNBQWMsQ0FFYixtQkFBbUIsQ0FBQztFQUNsQixLQUFLLEV6Q0lELE9BQU8sR3lDSFo7O0FBUFAsQUFVUSxjQVZNLEFBQ1gsaUJBQWlCLEFBRWYsY0FBYyxDQU1iLGVBQWUsQUFBQSxXQUFXLEFBQ3ZCLE1BQU0sRUFWZixjQUFjLEFBRVgsdUJBQXVCLEFBQ3JCLGNBQWMsQ0FNYixlQUFlLEFBQUEsV0FBVyxBQUN2QixNQUFNLENBQUM7RXhDV2QsV0FBVyxFQUFFLG9CQUFvQjtFQUNqQyxLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFlBQVksRUFBRSxNQUFNO0VBQ3BCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFdBQVcsRUFBRSxDQUFDO0VBQ2Qsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0V3Q2YxQixXQUFXLEVBQUUsR0FBRztFQUNoQixTQUFTLEVBQUUsSUFBSTtFQUNmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBbEJULEFBd0JJLGNBeEJVLEFBdUJYLGdCQUFnQixDQUNmLEVBQUUsRUF4Qk4sY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ0FRVixhQUFhLEVBMUJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ2lCbEJoQixjQUFjLEFBdUJYLGdCQUFnQixDakJHYixhQUFhLEVpQjFCbkIsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENBR25CLEtBQUssRUE5RmIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDaUIzRjNCLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnVFWCxLQUFLLEVpQjlGYixjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENBS2QsS0FBSyxFQW5IZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDaUI5R3hCLGNBQWMsQUF1QlgsZ0JBQWdCLENqQjRGVCxLQUFLLEVpQm5IZixjQUFjLEFBdUJYLGdCQUFnQixDb0J2Qm5CLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssRUEvRVQsYUFBYSxDQTRFWCxtQkFBbUIsQ3BCNUVyQixjQUFjLEFBdUJYLGdCQUFnQixDb0J3RGYsS0FBSyxFcEIvRVQsY0FBYyxBQXVCWCxnQkFBZ0IsQ3dCdkJuQixjQUFjLENBZ0VaLGdDQUFnQyxDQUU5QixNQUFNLEVBbEVWLGNBQWMsQ0FnRVosZ0NBQWdDLEN4QmhFbEMsY0FBYyxBQXVCWCxnQkFBZ0IsQ3dCMkNmLE1BQU0sQ3hCMUNIO0VBRUQsS0FBSyxFekNqQkUsT0FBTyxHeUN3QmY7RUFqQ0wsQUE0Qk0sY0E1QlEsQUF1QlgsZ0JBQWdCLENBQ2YsRUFBRSxBQUlDLE9BQU8sRUE1QmQsY0FBYyxBQXVCWCxnQkFBZ0IsQ2pCdkJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ0FRVixhQUFhLEFpQkVaLE9BQU8sRWpCNUJkLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDaUJsQmhCLGNBQWMsQUF1QlgsZ0JBQWdCLENqQkdiLGFBQWEsQWlCRVosT0FBTyxFQTVCZCxjQUFjLEFBdUJYLGdCQUFnQixDakJ2Qm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ0FHbkIsS0FBSyxBaUJsRU4sT0FBTyxFakI1QmQsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDaUIzRjNCLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnVFWCxLQUFLLEFpQmxFTixPQUFPLEVBNUJkLGNBQWMsQUF1QlgsZ0JBQWdCLENqQnZCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ0FLZCxLQUFLLEFpQnZGUixPQUFPLEVqQjVCZCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDaUI5R3hCLGNBQWMsQUF1QlgsZ0JBQWdCLENqQjRGVCxLQUFLLEFpQnZGUixPQUFPLEVBNUJkLGNBQWMsQUF1QlgsZ0JBQWdCLENvQnZCbkIsYUFBYSxDQTRFWCxtQkFBbUIsQ0FHakIsS0FBSyxBcEJuREYsT0FBTyxFb0I1QmQsYUFBYSxDQTRFWCxtQkFBbUIsQ3BCNUVyQixjQUFjLEFBdUJYLGdCQUFnQixDb0J3RGYsS0FBSyxBcEJuREYsT0FBTyxFQTVCZCxjQUFjLEFBdUJYLGdCQUFnQixDd0J2Qm5CLGNBQWMsQ0FnRVosZ0NBQWdDLENBRTlCLE1BQU0sQXhCdENILE9BQU8sRXdCNUJkLGNBQWMsQ0FnRVosZ0NBQWdDLEN4QmhFbEMsY0FBYyxBQXVCWCxnQkFBZ0IsQ3dCMkNmLE1BQU0sQXhCdENILE9BQU8sQ0FBQztJeENQYixXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsWUFBWSxFQUFFLE1BQU07SUFDcEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsV0FBVyxFQUFFLENBQUM7SUFDZCxzQkFBc0IsRUFBRSxXQUFXO0lBQ25DLHVCQUF1QixFQUFFLFNBQVM7SXdDRTVCLEtBQUssRUFBRSxLQUFLLEdBQ2I7O0FBaENQLEFBb0NNLGNBcENRLEFBdUJYLGdCQUFnQixBQVlkLGNBQWMsQ0FDYixFQUFFLEVBcENSLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDakJuQ25CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDQVFWLGFBQWEsRUExQm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDaUJsQmhCLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDakJUYixhQUFhLEVpQjFCbkIsY0FBYyxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLENqQm5DbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLLEVBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ2lCM0YzQixjQUFjLEFBdUJYLGdCQUFnQixBQVlkLGNBQWMsQ2pCMkRYLEtBQUssRWlCOUZiLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDakJuQ25CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENBS2QsS0FBSyxFQW5IZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDaUI5R3hCLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDakJnRlQsS0FBSyxFaUJuSGYsY0FBYyxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLENvQm5DbkIsYUFBYSxDQTRFWCxtQkFBbUIsQ0FHakIsS0FBSyxFQS9FVCxhQUFhLENBNEVYLG1CQUFtQixDcEI1RXJCLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDb0I0Q2YsS0FBSyxFcEIvRVQsY0FBYyxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLEN3Qm5DbkIsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDeEJoRWxDLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDd0IrQmYsTUFBTSxDeEI5QkQ7RUFDRCxLQUFLLEV6QzNCRCxPQUFPLEd5Q3NDWjtFQWhEUCxBQXVDUSxjQXZDTSxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLENBQ2IsRUFBRSxBQUdDLE1BQU0sRUF2Q2YsY0FBYyxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLENqQm5DbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYSxBaUJhVixNQUFNLEVqQnZDZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ2lCbEJoQixjQUFjLEFBdUJYLGdCQUFnQixBQVlkLGNBQWMsQ2pCVGIsYUFBYSxBaUJhVixNQUFNLEVBdkNmLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDakJuQ25CLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ0FHbkIsS0FBSyxBaUJ2REosTUFBTSxFakJ2Q2YsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDaUIzRjNCLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDakIyRFgsS0FBSyxBaUJ2REosTUFBTSxFQXZDZixjQUFjLEFBdUJYLGdCQUFnQixBQVlkLGNBQWMsQ2pCbkNuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDQUtkLEtBQUssQWlCNUVOLE1BQU0sRWpCdkNmLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENpQjlHeEIsY0FBYyxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLENqQmdGVCxLQUFLLEFpQjVFTixNQUFNLEVBdkNmLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDb0JuQ25CLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssQXBCeENBLE1BQU0sRW9CdkNmLGFBQWEsQ0E0RVgsbUJBQW1CLENwQjVFckIsY0FBYyxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLENvQjRDZixLQUFLLEFwQnhDQSxNQUFNLEVBdkNmLGNBQWMsQUF1QlgsZ0JBQWdCLEFBWWQsY0FBYyxDd0JuQ25CLGNBQWMsQ0FnRVosZ0NBQWdDLENBRTlCLE1BQU0sQXhCM0JELE1BQU0sRXdCdkNmLGNBQWMsQ0FnRVosZ0NBQWdDLEN4QmhFbEMsY0FBYyxBQXVCWCxnQkFBZ0IsQUFZZCxjQUFjLEN3QitCZixNQUFNLEF4QjNCRCxNQUFNLENBQUM7SXhDbEJkLFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsTUFBTTtJQUNuQixZQUFZLEVBQUUsTUFBTTtJQUNwQixjQUFjLEVBQUUsSUFBSTtJQUNwQixXQUFXLEVBQUUsQ0FBQztJQUNkLHNCQUFzQixFQUFFLFdBQVc7SUFDbkMsdUJBQXVCLEVBQUUsU0FBUztJd0NjMUIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFQUFFLElBQUk7SUFDZixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsSUFBSSxHQUNiOztBQS9DVCxBQW1ESSxjQW5EVSxBQXVCWCxnQkFBZ0IsQ0E0QmYsZUFBZTtBQW5EbkIsY0FBYyxBQXVCWCxnQkFBZ0IsQ0E2QmYsbUJBQW1CLENBQUM7RXRDNER0QixTQUFTLEVIOUVJLElBQUk7RUcrRWpCLFNBQVMsRUFBRSxNQUFnQztFc0MzRHZDLEtBQUssRXpDOUNILE9BQU87RXlDK0NULFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQXhETCxBQTBESSxjQTFEVSxBQXVCWCxnQkFBZ0IsQ0FtQ2YsbUJBQW1CLENBQUM7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsR0FBRztFQUNoQixVQUFVLEVBQUUsR0FBRztFQUNmLFlBQVksRUFBRSxHQUFHLEdBQ2xCOztBQS9ETCxBQW1FSSxjQW5FVSxBQWtFWCxxQkFBcUIsQ0FDcEIsYUFBYSxDQUFDO0V0QzZDaEIsU0FBUyxFSDlFSSxJQUFJO0VHK0VqQixTQUFTLEVBQUUsTUFBZ0M7RUd2RTNDLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGNBQWMsRUFBRSxTQUFTLEdtQ3dCdEI7O0FBSUwsQUFBQSw4QkFBOEIsQ0FBQztFcEN2QzdCLFVBQVUsRUx4QkEsT0FBTztFS3lCakIsS0FBSyxFTHRCQyxJQUFJO0VLdUJWLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxJQUFJLEdvQ3NDZDtFQUZELEFwQ2xDRSw4Qm9Da0M0QixDcENsQzVCLEVBQUUsRW9Da0NKLDhCQUE4QixDakJ6RTlCLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDQVFWLGFBQWEsRUExQm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDaUJ1RGhCLDhCQUE4QixDakIvQ3hCLGFBQWEsRWlCK0NuQiw4QkFBOEIsQ2pCekU5QixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENBR25CLEtBQUssRUE5RmIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDaUJsQjNCLDhCQUE4QixDakJxQnRCLEtBQUssRWlCckJiLDhCQUE4QixDakJ6RTlCLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENBS2QsS0FBSyxFQW5IZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDaUJyQ3hCLDhCQUE4QixDakIwQ3BCLEtBQUssRWlCMUNmLDhCQUE4QixDb0J6RTlCLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssRUEvRVQsYUFBYSxDQTRFWCxtQkFBbUIsQ3BCSHJCLDhCQUE4QixDb0JNMUIsS0FBSyxFcEJOVCw4QkFBOEIsQ3dCekU5QixjQUFjLENBZ0VaLGdDQUFnQyxDQUU5QixNQUFNLEVBbEVWLGNBQWMsQ0FnRVosZ0NBQWdDLEN4QlNsQyw4QkFBOEIsQ3dCUDFCLE1BQU0sQzVEM0JMO0lBQ0QsS0FBSyxFTDNCRCxJQUFJO0lLNEJSLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsT0FBTztJQUNmLGNBQWMsRUFBRSxTQUFTLEdBQzFCOztBcUM5Q0gsQUFFSSxhQUZTLEFBQ1YsZUFBZSxDQUNkLFdBQVcsQ0FBQztFcERpRVosS0FBSyxFQUFDLElBQUM7RUFHTCxPQUFPLEVBQUUsS0FBSztFQWVkLFlBQW9CLEVKdEVoQixPQUFzQztFSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHd0ROMUM7RUFKTCxBcER3Rk0sYW9EeEZPLEFBQ1YsZUFBZSxDQUNkLFdBQVcsQXBEc0ZSLFdBQVcsQ0FBQztJQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QW9EMUZQLEFBTUksYUFOUyxBQUNWLGVBQWUsQ0FLZCxZQUFZLENBQUM7RXBENkRiLEtBQUssRUFBQyxJQUFDO0VBR0wsT0FBTyxFQUFFLEtBQUs7RUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7RUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7RUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHc0Q5Qy9CO0VBVEwsQXBEd0ZNLGFvRHhGTyxBQUNWLGVBQWUsQ0FLZCxZQUFZLEFwRGtGVCxXQUFXLENBQUM7SUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0FvRDFGUCxBQVdJLGFBWFMsQUFDVixlQUFlLENBVWQsYUFBYSxDQUFDO0VBQ1osUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBSUwsQUFBQSx3QkFBd0IsQ0FBQztFdkMrRnZCLFNBQVMsRUg5RUksSUFBSTtFRytFakIsU0FBUyxFQUFFLE1BQWdDO0VHakYzQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVOeEJNLE9BQU87RU15QmxCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGVBQWUsRUFBRSxTQUFTO0VvQ2xCMUIsS0FBSyxFMUNYQyxPQUFPO0UwQ1liLE9BQU8sRUFBRSxLQUFLO0VBQ2QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsZUFBZSxFQUFFLElBQUksR0FDdEI7O0FBRUQsQUFBQSxvQkFBb0IsQ0FBQztFdkN1Rm5CLFNBQVMsRUg5RUksSUFBSTtFRytFakIsU0FBUyxFQUFFLE1BQWdDO0VHakYzQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVOeEJNLE9BQU87RU15QmxCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGVBQWUsRUFBRSxTQUFTO0VvQ1YxQixLQUFLLEUxQ25CQyxPQUFPO0UwQ29CYixPQUFPLEVBQUUsS0FBSztFQUNkLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLGNBQWMsRUFBRSxTQUFTLEdBSzFCO0VBWEQsQUFRRSxvQkFSa0IsQ0FRbEIsQ0FBQyxDQUFDO0lBQ0EsZUFBZSxFQUFFLElBQUksR0FDdEI7O0FBR0gsQUFBQSxzQkFBc0IsQ0FBQztFdkMwRXJCLFNBQVMsRUg5RUksSUFBSTtFRytFakIsU0FBUyxFQUFFLE1BQWdDO0VHakYzQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVOeEJNLE9BQU87RU15QmxCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGVBQWUsRUFBRSxTQUFTO0VvQ0cxQixLQUFLLEUxQ2hDQyxPQUFPO0UwQ2lDYixPQUFPLEVBQUUsS0FBSztFQUNkLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLGNBQWMsRUFBRSxTQUFTLEdBSzFCO0VBWEQsQUFRRSxzQkFSb0IsQ0FRcEIsQ0FBQyxDQUFDO0lBQ0EsZUFBZSxFQUFFLElBQUksR0FDdEI7O0FBR0gsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQ3pERCxBQUFBLDJCQUEyQixDQUFDO0VBQzFCLGFBQWEsRUFBRSxHQUFHLEdBQ25COztBQ0ZELEFsQytHRSxja0MvR1ksQ2xDK0daLEVBQUUsQUFBQSxhQUFhLEVrQy9HakIsY0FBYyxDcUJBZCxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3ZEOEdsQixhQUFhLEF1RDlHTSxnQkFBZ0IsRUFEdkMsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENyQkR0QixjQUFjLENsQytHVixhQUFhLEF1RDlHTSxnQkFBZ0IsQ3ZEOEdyQjtFQUNkLEtBQUssRVZ2R0ksT0FBTztFVXdHaEIsTUFBTSxFQUFFLE9BQU87RUFDZixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1Y3RkwsT0FBTztFVThGdkIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLElBQUk7RUFDcEIsYUFBYSxFQUFFLElBQUksR0E4QnBCO0VrQ25KSCxBbEN1SEksY2tDdkhVLENsQytHWixFQUFFLEFBQUEsYUFBYSxBQVFaLFlBQVksRWtDdkhqQixjQUFjLENxQkFkLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDdkQ4R2xCLGFBQWEsQXVEOUdNLGdCQUFnQixBdkRzSGxDLFlBQVksRXVEdkhqQixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3JCRHRCLGNBQWMsQ2xDK0dWLGFBQWEsQXVEOUdNLGdCQUFnQixBdkRzSGxDLFlBQVksQ0FBQztJQUNaLFVBQVUsRUFBRSxDQUFDO0lBQ2IsV0FBVyxFQUFFLENBQUMsR0FDZjtFa0MxSEwsQWxDNEhJLGNrQzVIVSxDbEMrR1osRUFBRSxBQUFBLGFBQWEsQUFhWixNQUFNLEVrQzVIWCxjQUFjLENxQkFkLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDdkQ4R2xCLGFBQWEsQXVEOUdNLGdCQUFnQixBdkQySGxDLE1BQU0sRXVENUhYLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDckJEdEIsY0FBYyxDbEMrR1YsYUFBYSxBdUQ5R00sZ0JBQWdCLEF2RDJIbEMsTUFBTSxDQUFDO0lUdkdWLFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsTUFBTTtJQUNuQixZQUFZLEVBQUUsTUFBTTtJQUNwQixjQUFjLEVBQUUsSUFBSTtJQUNwQixXQUFXLEVBQUUsQ0FBQztJQUNkLHNCQUFzQixFQUFFLFdBQVc7SUFDbkMsdUJBQXVCLEVBQUUsU0FBUztJU2tHOUIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsS0FBSztJQUNaLFlBQVksRUFBRSxLQUFLLEdBS3BCO0VrQ3ZJTCxBbEN5SUksY2tDeklVLENsQytHWixFQUFFLEFBQUEsYUFBYSxDQTBCYixNQUFNLEVrQ3pJVixjQUFjLENxQkFkLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDdkQ4R2xCLGFBQWEsQXVEOUdNLGdCQUFnQixDdkR3SW5DLE1BQU0sRXVEeklWLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDckJEdEIsY0FBYyxDbEMrR1YsYUFBYSxBdUQ5R00sZ0JBQWdCLEN2RHdJbkMsTUFBTSxDQUFDO0lBQ0wsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQztJQUNULFVBQVUsRUFBRSxJQUFJLEdBTWpCO0lrQ2xKTCxBbEM4SU0sY2tDOUlRLENsQytHWixFQUFFLEFBQUEsYUFBYSxDQTBCYixNQUFNLEFBS0gsTUFBTSxFa0M5SWIsY0FBYyxDcUJBZCxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3ZEOEdsQixhQUFhLEF1RDlHTSxnQkFBZ0IsQ3ZEd0luQyxNQUFNLEFBS0gsTUFBTSxFdUQ5SWIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENyQkR0QixjQUFjLENsQytHVixhQUFhLEF1RDlHTSxnQkFBZ0IsQ3ZEd0luQyxNQUFNLEFBS0gsTUFBTSxDQUFDO01BQ04sT0FBTyxFQUFFLDRCQUE0QjtNQUNyQyxjQUFjLEVBQUUsY0FBYyxHQUMvQjs7QWtDakpQLEFsQ3FKRSxja0NySlksQ2xDcUpaLFlBQVksQ0FBQztFQUNYLE9BQU8sRUFBRSxJQUFJLEdBS2Q7RWtDM0pILEFsQ3dKSSxja0N4SlUsQ2xDcUpaLFlBQVksQ0FHVixVQUFVLEFBQUEsWUFBWSxDQUFDO0lBQ3JCLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDVnBJUCxPQUFPLEdVcUl0Qjs7QWtDMUpMLEFsQytHRSxja0MvR1ksQ2xDK0daLEVBQUUsQUFBQSxhQUFhLEVrQy9HakIsY0FBYyxDcUJBZCxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3ZEOEdsQixhQUFhLEF1RDlHTSxnQkFBZ0IsRUFEdkMsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENyQkR0QixjQUFjLENsQytHVixhQUFhLEF1RDlHTSxnQkFBZ0IsQ3JCRXJCO0V6QzZHaEIsU0FBUyxFSGpGSSxJQUFJO0VHa0ZqQixTQUFTLEVBQUUsVUFBZ0M7RXlDM0d6QyxVQUFVLEVBQUUsQ0FBQztFQUNiLE9BQU8sRUFBRSxXQUFXLEdBQ3JCOztBQVJILEFsQ3FKRSxja0NySlksQ2xDcUpaLFlBQVksQ2tDM0lDO0VBQ1gsY0FBYyxFQUFFLElBQUksR0FDckI7O0FBWkgsQUFjRSxjQWRZLENBY1osYUFBYSxDQUFDO0VBQ1osV0FBVyxFQUFFLEdBQUc7RUFDaEIsVUFBVSxFQUFFLEdBQUcsR0FDaEI7O0FBT0gsQUFDRSx1QkFEcUIsQ0FDckIsQ0FBQyxDQUFDO0VBQ0EsVUFBVSxFQUFFLENBQUMsR0FDZDs7QUFHSCxBQUVFLHdCQUZzQixDQUV0QixFQUFFLEFBQUEsS0FBSztBQURULHlCQUF5QixDQUN2QixFQUFFLEFBQUEsS0FBSyxDQUFDO0VBQ04sVUFBVSxFQUFFLENBQUMsR0FDZDs7QUFHSCxBQUFBLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsRUFBRSxFQUFsRCx1QkFBdUIsQ0FBQyxRQUFRLENxQnJDaEMsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENyQm9DVyxZQUFZLEdxQnBDdEIsZ0JBQWdCLEVBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDckJvQ3RCLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxZQUFZLEdxQnBDdEIsZ0JBQWdCLENyQm9DWTtFQUNqRCxVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUN4Q0QsQUFJTSxVQUpJLEFBQ1AsaUJBQWlCLEFBRWYsY0FBYyxDQUNiLGVBQWUsRUFKckIsVUFBVSxBQUVQLHVCQUF1QixBQUNyQixjQUFjLENBQ2IsZUFBZSxDQUFDO0VBQ2QsS0FBSyxFN0NLRCxPQUFPLEc2Q01aO0VBaEJQLEFBT1EsVUFQRSxBQUNQLGlCQUFpQixBQUVmLGNBQWMsQ0FDYixlQUFlLEFBR1osTUFBTSxFQVBmLFVBQVUsQUFFUCx1QkFBdUIsQUFDckIsY0FBYyxDQUNiLGVBQWUsQUFHWixNQUFNLENBQUM7STVDY2QsV0FBVyxFQUFFLG9CQUFvQjtJQUNqQyxLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFlBQVksRUFBRSxNQUFNO0lBQ3BCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFdBQVcsRUFBRSxDQUFDO0lBQ2Qsc0JBQXNCLEVBQUUsV0FBVztJQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0k0Q2xCMUIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFQUFFLElBQUk7SUFDZixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsSUFBSSxHQUNiOztBQWZULEFBc0JNLFVBdEJJLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ0FDQyxFQUFFLEVBdEJSLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYSxFQTFCbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENxQmxCaEIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQktDLGFBQWEsRXFCMUJuQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ0FHbkIsS0FBSyxFQTlGYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENxQjNGM0IsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnlFRyxLQUFLLEVxQjlGYixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCckJMLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENBS2QsS0FBSyxFQW5IZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDcUI5R3hCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckI4RkssS0FBSyxFcUJuSGYsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENnQnJCTCxhQUFhLENBNEVYLG1CQUFtQixDQUdqQixLQUFLLEVBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLENoQjVFckIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENnQjBERCxLQUFLLEVoQi9FVCxVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ29CckJMLGNBQWMsQ0FnRVosZ0NBQWdDLENBRTlCLE1BQU0sRUFsRVYsY0FBYyxDQWdFWixnQ0FBZ0MsQ3BCaEVsQyxVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ29CNkNELE1BQU0sQ3BCNUNEO0VBRUQsS0FBSyxFN0NmQSxPQUFPLEc2Q3NCYjtFQS9CUCxBQTBCUSxVQTFCRSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENBQ0MsRUFBRSxBQUlDLE9BQU8sRUExQmhCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYSxBaUJFWixPQUFPLEVqQjVCZCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ3FCbEJoQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ3JCS0MsYUFBYSxBaUJFWixPQUFPLEVJNUJkLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLLEFpQmxFTixPQUFPLEVqQjVCZCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENxQjNGM0IsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENyQnlFRyxLQUFLLEFpQmxFTixPQUFPLEVJNUJkLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckJyQkwsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ0FLZCxLQUFLLEFpQnZGUixPQUFPLEVqQjVCZCxpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDcUI5R3hCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDckI4RkssS0FBSyxBaUJ2RlIsT0FBTyxFSTVCZCxVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ2dCckJMLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssQXBCbkRGLE9BQU8sRW9CNUJkLGFBQWEsQ0E0RVgsbUJBQW1CLENoQjVFckIsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLENnQjBERCxLQUFLLEFwQm5ERixPQUFPLEVJNUJkLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxDb0JyQkwsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxBeEJ0Q0gsT0FBTyxFd0I1QmQsY0FBYyxDQWdFWixnQ0FBZ0MsQ3BCaEVsQyxVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQ29CNkNELE1BQU0sQXhCdENILE9BQU8sQ0lGRztJNUNMZixXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsWUFBWSxFQUFFLE1BQU07SUFDcEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsV0FBVyxFQUFFLENBQUM7SUFDZCxzQkFBc0IsRUFBRSxXQUFXO0lBQ25DLHVCQUF1QixFQUFFLFNBQVM7STRDQTFCLEtBQUssRUFBRSxLQUFLLEdBQ2I7O0FBOUJULEFBa0NRLFVBbENFLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQUFZRSxNQUFNLENBQ0wsRUFBRSxFQWxDVixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQUFZRSxNQUFNLENyQmpDYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ0FRVixhQUFhLEVBMUJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ3FCbEJoQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQUFZRSxNQUFNLENyQlBQLGFBQWEsRXFCMUJuQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQUFZRSxNQUFNLENyQmpDYixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENBR25CLEtBQUssRUE5RmIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDcUIzRjNCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxBQVlFLE1BQU0sQ3JCNkRMLEtBQUssRXFCOUZiLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxBQVlFLE1BQU0sQ3JCakNiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENBS2QsS0FBSyxFQW5IZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDcUI5R3hCLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxBQVlFLE1BQU0sQ3JCa0ZILEtBQUssRXFCbkhmLFVBQVUsQUFvQlAsZ0JBQWdCLENBQ2YsQ0FBQyxBQVlFLE1BQU0sQ2dCakNiLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssRUEvRVQsYUFBYSxDQTRFWCxtQkFBbUIsQ2hCNUVyQixVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQUFZRSxNQUFNLENnQjhDVCxLQUFLLEVoQi9FVCxVQUFVLEFBb0JQLGdCQUFnQixDQUNmLENBQUMsQUFZRSxNQUFNLENvQmpDYixjQUFjLENBZ0VaLGdDQUFnQyxDQUU5QixNQUFNLEVBbEVWLGNBQWMsQ0FnRVosZ0NBQWdDLENwQmhFbEMsVUFBVSxBQW9CUCxnQkFBZ0IsQ0FDZixDQUFDLEFBWUUsTUFBTSxDb0JpQ1QsTUFBTSxDcEJoQ0M7RUFDRCxLQUFLLEU3QzNCUCxPQUFPLEc2QzRCTjs7QUFwQ1QsQUEwQ00sVUExQ0ksQUFvQlAsZ0JBQWdCLEFBcUJkLGNBQWMsQ0FDYixFQUFFLEVBMUNSLFVBQVUsQUFvQlAsZ0JBQWdCLEFBcUJkLGNBQWMsQ3JCekNuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ0FRVixhQUFhLEVBMUJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ3FCbEJoQixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENyQmZiLGFBQWEsRXFCMUJuQixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENyQnpDbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLLEVBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ3FCM0YzQixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENyQnFEWCxLQUFLLEVxQjlGYixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENyQnpDbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ0FLZCxLQUFLLEVBbkhmLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENxQjlHeEIsVUFBVSxBQW9CUCxnQkFBZ0IsQUFxQmQsY0FBYyxDckIwRVQsS0FBSyxFcUJuSGYsVUFBVSxBQW9CUCxnQkFBZ0IsQUFxQmQsY0FBYyxDZ0J6Q25CLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssRUEvRVQsYUFBYSxDQTRFWCxtQkFBbUIsQ2hCNUVyQixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENnQnNDZixLQUFLLEVoQi9FVCxVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENvQnpDbkIsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDcEJoRWxDLFVBQVUsQUFvQlAsZ0JBQWdCLEFBcUJkLGNBQWMsQ29CeUJmLE1BQU0sQ3BCeEJEO0VBQ0QsS0FBSyxFN0NqQ0QsT0FBTyxHNkM0Q1o7RUF0RFAsQUE2Q1EsVUE3Q0UsQUFvQlAsZ0JBQWdCLEFBcUJkLGNBQWMsQ0FDYixFQUFFLEFBR0MsTUFBTSxFQTdDZixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENyQnpDbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBaUJoQyxZQUFZLENBUVYsYUFBYSxBaUJhVixNQUFNLEVqQnZDZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ3FCbEJoQixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENyQmZiLGFBQWEsQWlCYVYsTUFBTSxFSXZDZixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENyQnpDbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLLEFpQnZESixNQUFNLEVqQnZDZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQWdEbkMscUJBQXFCLENxQjNGM0IsVUFBVSxBQW9CUCxnQkFBZ0IsQUFxQmQsY0FBYyxDckJxRFgsS0FBSyxBaUJ2REosTUFBTSxFSXZDZixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENyQnpDbkIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ0FLZCxLQUFLLEFpQjVFTixNQUFNLEVqQnZDZixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDcUI5R3hCLFVBQVUsQUFvQlAsZ0JBQWdCLEFBcUJkLGNBQWMsQ3JCMEVULEtBQUssQWlCNUVOLE1BQU0sRUl2Q2YsVUFBVSxBQW9CUCxnQkFBZ0IsQUFxQmQsY0FBYyxDZ0J6Q25CLGFBQWEsQ0E0RVgsbUJBQW1CLENBR2pCLEtBQUssQXBCeENBLE1BQU0sRW9CdkNmLGFBQWEsQ0E0RVgsbUJBQW1CLENoQjVFckIsVUFBVSxBQW9CUCxnQkFBZ0IsQUFxQmQsY0FBYyxDZ0JzQ2YsS0FBSyxBcEJ4Q0EsTUFBTSxFSXZDZixVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENvQnpDbkIsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxBeEIzQkQsTUFBTSxFd0J2Q2YsY0FBYyxDQWdFWixnQ0FBZ0MsQ3BCaEVsQyxVQUFVLEFBb0JQLGdCQUFnQixBQXFCZCxjQUFjLENvQnlCZixNQUFNLEF4QjNCRCxNQUFNLENJTUM7STVDeEJkLFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsTUFBTTtJQUNuQixZQUFZLEVBQUUsTUFBTTtJQUNwQixjQUFjLEVBQUUsSUFBSTtJQUNwQixXQUFXLEVBQUUsQ0FBQztJQUNkLHNCQUFzQixFQUFFLFdBQVc7SUFDbkMsdUJBQXVCLEVBQUUsU0FBUztJNENvQjFCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLElBQUksR0FDYjs7QUFyRFQsQUF5REksVUF6RE0sQUFvQlAsZ0JBQWdCLENBcUNmLGVBQWUsQ0FBQztFMUN1RGxCLFNBQVMsRUg5RUksSUFBSTtFRytFakIsU0FBUyxFQUFFLE1BQWdDO0UwQ3REdkMsS0FBSyxFN0NuREgsT0FBTztFNkNvRFQsV0FBVyxFQUFFLEdBQUcsR0FDakI7O0FBN0RMLEFBaUVJLFVBakVNLEFBZ0VQLHFCQUFxQixDQUNwQixhQUFhLENBQUM7RTFDK0NoQixTQUFTLEVIOUVJLElBQUk7RUcrRWpCLFNBQVMsRUFBRSxNQUFnQztFR3ZFM0MsT0FBTyxFQUFFLFlBQVk7RUFDckIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsY0FBYyxFQUFFLFNBQVMsR3VDc0J0Qjs7QUFuRUwsQUFzRUUsVUF0RVEsQUFzRVAsNEJBQTRCLENBQUM7RTFDK0M5QixxQkFBcUIsRUFnQkgsR0FBRztFQWZyQixhQUFhLEVBZUssR0FBRztFQVhILFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBcUI7RUFjOUQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENIbkhDLE9BQU87RUdvSHpCLE9BQU8sRUFBRSxJQUFJO0UwQ2pFWCxVQUFVLEVBQUUsVUFBVTtFQUN0QixNQUFNLEVBQUUsSUFBSTtFQUNaLFFBQVEsRUFBRSxRQUFRLEdBd0RuQjtFQWxJSCxBQTRFSSxVQTVFTSxBQXNFUCw0QkFBNEIsQUFNMUIsaUJBQWlCLENBQUM7STFDeUNyQixxQkFBcUIsRTBDdkNKLEdBQUc7STFDd0NwQixhQUFhLEUwQ3hDSSxHQUFHO0kxQ2dERyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXFCO0lBVW5FLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDSG5IQyxPQUFPO0lHb0h6QixPQUFPLEVBQUUsSUFBSTtJMEMxRFQsWUFBWSxFN0N0RUwsT0FBTztJNkN1RWQsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHVCQUFzQjtJQUM3QyxnQkFBZ0IsRUFBRSxTQUFTLEdBQzVCO0VBbEZMLEFBb0ZJLFVBcEZNLEFBc0VQLDRCQUE0QixDQWMzQix1QkFBdUIsQ0FBQztJQUN0QixlQUFlLEVBQUUsSUFBSSxHQUl0QjtJQXpGTCxBQXNGTSxVQXRGSSxBQXNFUCw0QkFBNEIsQ0FjM0IsdUJBQXVCLEFBRXBCLE1BQU0sQ0FBQztNQUNOLEtBQUssRUFBRSxLQUFLLEdBQ2I7RUF4RlAsQUEyRkksVUEzRk0sQUFzRVAsNEJBQTRCLENBcUIzQixFQUFFLEVBM0ZOLFVBQVUsQUFzRVAsNEJBQTRCLENvQnRFL0IsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDcEJEdEIsVUFBVSxBQXNFUCw0QkFBNEIsQ29CckVSLGdCQUFnQixDcEIwRmhDO0lBQ0QsT0FBTyxFQUFFLFVBQVU7SUFDbkIsZUFBZSxFQUFFLElBQUksR0FDdEI7RUE5RkwsQUFnR0ksVUFoR00sQUFzRVAsNEJBQTRCLENBMEIzQixxQkFBcUIsQ0FBQztJQUNwQixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsSUFBSSxHQUNiO0VBbkdMLEFBcUdJLFVBckdNLEFBc0VQLDRCQUE0QixDQStCM0Isb0JBQW9CLENBQUM7SUFDbkIsY0FBYyxFQUFFLElBQUk7SUFDcEIsZUFBZSxFQUFFLElBQUksR0FNdEI7SUE3R0wsQUF5R00sVUF6R0ksQUFzRVAsNEJBQTRCLENBK0IzQixvQkFBb0IsQ0FJbEIsQ0FBQyxBQUFBLFdBQVcsQ0FBQztNQUNYLGNBQWMsRUFBRSxDQUFDO01BQ2pCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0VBNUdQLEFBZ0hNLFVBaEhJLEFBc0VQLDRCQUE0QixDQXlDM0IsZUFBZSxBQUNaLE9BQU8sQ0FBQTtJQUNOLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFsSFAsQUFxSEksVUFySE0sQUFzRVAsNEJBQTRCLENBK0MzQixzQkFBc0IsQ0FBQztJMUNMekIsU0FBUyxFMENNcUIsSUFBSTtJMUNMbEMsU0FBUyxFQUFFLE1BQWdDO0kwQ012QyxjQUFjLEVBQUUsU0FBUztJQUN6QixPQUFPLEVBQUUsWUFBWTtJQUNyQixlQUFlLEVBQUUsS0FBSyxHQUN2QjtFQTFITCxBQTRISSxVQTVITSxBQXNFUCw0QkFBNEIsQUFzRDFCLE1BQU0sQ0FBQztJMUNQVixxQkFBcUIsRTBDUUosR0FBRztJMUNQcEIsYUFBYSxFMENPSSxHQUFHO0kxQ0ZHLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBa0I7SUFhL0QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENIbkhDLE9BQU87SUdvSHpCLE9BQU8sRUFBRSxJQUFJLEcwQ1JWO0lBaklMLEFBOEhNLFVBOUhJLEFBc0VQLDRCQUE0QixBQXNEMUIsTUFBTSxBQUVKLGlCQUFpQixDQUFDO01BQ2pCLFlBQVksRTdDdEhQLE9BQU8sRzZDdUhiOztBQUtQLEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsV0FBVztFQUNuQixRQUFRLEVBQUUsTUFBTSxHQTJCakI7RUE5QkQsQUFLRSxtQkFMaUIsQ0FLakIsQ0FBQyxBQUFBLFNBQVMsQ0FBQztJdkR2RVQsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztJMkRtSjNDLGFBQWEsRTNEOUlQLE9BQXNDLEcyRG1KN0M7SUE3QkgsQXZEN0NNLG1CdUQ2Q2EsQ0FLakIsQ0FBQyxBQUFBLFNBQVMsQXZEbERMLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJdUQyQ1AsQUFRSSxtQkFSZSxDQUtqQixDQUFDLEFBQUEsU0FBUyxBQUdQLFVBQVcsQ0FBQSxFQUFFLEVBQUU7TXpEdEZkLFlBQW9CLEVBQVMsQ0FBQyxHeUR3Ri9CO0kxQzNGRCxBQUFBLE9BQU8sQzBDaUZYLG1CQUFtQixDQUtqQixDQUFDLEFBQUEsU0FBUyxDMUN0RkU7TWJlVixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdpQitDMUM7TUFMRCxBYm9DRSxPYXBDSyxDMENpRlgsbUJBQW1CLENBS2pCLENBQUMsQUFBQSxTQUFTLEF2RGxETCxXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TWF0Q0gsQTBDZ0dFLE8xQ2hHSyxDMENpRlgsbUJBQW1CLENBS2pCLENBQUMsQUFBQSxTQUFTLEFBVUwsVUFBVyxDQUFBLEVBQUUsRUFBRTtRQUNkLFlBQVksRTNEdElWLE9BQXNDLEcyRHVJekM7TTFDbEdILEEwQ29HRSxPMUNwR0ssQzBDaUZYLG1CQUFtQixDQUtqQixDQUFDLEFBQUEsU0FBUyxBQWNMLFVBQVcsQ0FBQSxFQUFFLEVBQUU7UXpEakdoQixZQUFvQixFQUFTLENBQUMsR3lEbUc3QjtJMUM3RkgsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztNMEN3RXBDLEFBS0UsbUJBTGlCLENBS2pCLENBQUMsQUFBQSxTQUFTLENBQUM7UXZEdkVULEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7UUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsRzJEd0o1QztRQTdCSCxBdkQ3Q00sbUJ1RDZDYSxDQUtqQixDQUFDLEFBQUEsU0FBUyxBdkRsREwsV0FBVyxDQUFDO1VBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO1F1RDJDUCxBQVFJLG1CQVJlLENBS2pCLENBQUMsQUFBQSxTQUFTLEFBR1AsVUFBVyxDQUFBLEVBQUUsRUFPSTtVQUNkLFlBQVksRTNEdElWLE9BQXNDLEcyRHVJekM7UUFqQlAsQUFtQk0sbUJBbkJhLENBS2pCLENBQUMsQUFBQSxTQUFTLEFBY0wsVUFBVyxDQUFBLEVBQUUsRUFBRTtVekRqR2hCLFlBQW9CLEVBQVMsQ0FBQyxHeURtRzdCO0lBckJQLEFBMEJJLG1CQTFCZSxDQUtqQixDQUFDLEFBQUEsU0FBUyxDQXFCUixHQUFHLENBQUM7TUFDRixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUlMLEFBQUEsMEJBQTBCLENBQUM7RXhDbkl6QixVQUFVLEVMeEJBLE9BQU87RUt5QmpCLEtBQUssRUx0QkMsSUFBSTtFS3VCVixhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsSUFBSSxHd0NrSWQ7RUFGRCxBeEM5SEUsMEJ3QzhId0IsQ3hDOUh4QixFQUFFLEV3QzhISiwwQkFBMEIsQ3JCcksxQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ0FRVixhQUFhLEVBMUJuQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0FpQmhDLFlBQVksQ3FCbUpoQiwwQkFBMEIsQ3JCM0lwQixhQUFhLEVxQjJJbkIsMEJBQTBCLENyQnJLMUIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLLEVBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ3FCMEUzQiwwQkFBMEIsQ3JCdkVsQixLQUFLLEVxQnVFYiwwQkFBMEIsQ3JCcksxQixpQkFBaUIsQUFDZCxpQ0FBaUMsQ0EwQ2hDLHFDQUFxQyxDQTZEbkMsWUFBWSxDQU1WLGdCQUFnQixDQUtkLEtBQUssRUFuSGYsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ3FCdUR4QiwwQkFBMEIsQ3JCbERoQixLQUFLLEVxQmtEZiwwQkFBMEIsQ2dCcksxQixhQUFhLENBNEVYLG1CQUFtQixDQUdqQixLQUFLLEVBL0VULGFBQWEsQ0E0RVgsbUJBQW1CLENoQnlGckIsMEJBQTBCLENnQnRGdEIsS0FBSyxFaEJzRlQsMEJBQTBCLENvQnJLMUIsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDcEJxR2xDLDBCQUEwQixDb0JuR3RCLE1BQU0sQzVEM0JMO0lBQ0QsS0FBSyxFTDNCRCxJQUFJO0lLNEJSLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsT0FBTztJQUNmLGNBQWMsRUFBRSxTQUFTLEdBQzFCOztBeUM5Q0gsQUFFSSxVQUZNLEFBQ1AscUJBQXFCLENBQ3BCLGFBQWEsQ0FBQztFM0M4R2hCLFNBQVMsRUg5RUksSUFBSTtFRytFakIsU0FBUyxFQUFFLE1BQWdDO0VHdkUzQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixXQUFXLEVBQUUsR0FBRztFQUNoQixVQUFVLEVBQUUsSUFBSTtFQUNoQixjQUFjLEVBQUUsU0FBUyxHd0N6Q3RCOztBQUpMLEFBT0UsVUFQUSxBQU9QLHFCQUFxQixBQUFBLE1BQU0sQ0FBQztFQUMzQixRQUFRLEVBQUUsT0FBTyxHQUNsQjs7QUNUSCxBQUFBLHNCQUFzQixDQUFDO0U1Q2dIckIsU0FBUyxFSDlFSSxJQUFJO0VHK0VqQixTQUFTLEVBQUUsTUFBZ0M7RUdqRjNDLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRU54Qk0sT0FBTztFTXlCbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsY0FBYyxFQUFFLFNBQVM7RUFDekIsZUFBZSxFQUFFLFNBQVM7RXlDbkMxQixLQUFLLEUvQ01DLE9BQU87RStDTGIsZUFBZSxFQUFFLElBQUk7RUFDckIsTUFBTSxFQUFFLFlBQVksR0FDckI7O0FDTEQsQUFFSSxhQUZTLEFBQ1YsZUFBZSxDQUNkLEdBQUcsQ0FBQztFQUNGLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLElBQUk7RUFDaEIsS0FBSyxFQUFFLElBQUksR0FDWjs7QVJPTCxBQVVFLDRCQVYwQixDQVUxQixHQUFHLEFBQUEsV0FBVztBQVRoQixpQ0FBaUMsQ0FTL0IsR0FBRyxBQUFBLFdBQVc7QUFSaEIsZ0NBQWdDLENBUTlCLEdBQUcsQUFBQSxXQUFXO0FBUGhCLDJCQUEyQixDQU96QixHQUFHLEFBQUEsV0FBVztBQU5oQiwrQkFBK0IsQ0FNN0IsR0FBRyxBQUFBLFdBQVc7QUFMaEIsK0JBQStCLENBSzdCLEdBQUcsQUFBQSxXQUFXO0FBSmhCLGdDQUFnQyxDQUk5QixHQUFHLEFBQUEsV0FBVztBQUhoQiw4QkFBOEIsQ0FHNUIsR0FBRyxBQUFBLFdBQVc7QUFGaEIsNEJBQTRCLENBRTFCLEdBQUcsQUFBQSxXQUFXO0FBRGhCLHdCQUF3QixDQUN0QixHQUFHLEFBQUEsV0FBVyxDQUFDO0VBQ2IsWUFBWSxFQUFFLElBQUksR0FDbkI7O0FBWkgsQUFhRSw0QkFiMEIsQ0FhMUIsR0FBRyxBQUFBLFlBQVk7QUFaakIsaUNBQWlDLENBWS9CLEdBQUcsQUFBQSxZQUFZO0FBWGpCLGdDQUFnQyxDQVc5QixHQUFHLEFBQUEsWUFBWTtBQVZqQiwyQkFBMkIsQ0FVekIsR0FBRyxBQUFBLFlBQVk7QUFUakIsK0JBQStCLENBUzdCLEdBQUcsQUFBQSxZQUFZO0FBUmpCLCtCQUErQixDQVE3QixHQUFHLEFBQUEsWUFBWTtBQVBqQixnQ0FBZ0MsQ0FPOUIsR0FBRyxBQUFBLFlBQVk7QUFOakIsOEJBQThCLENBTTVCLEdBQUcsQUFBQSxZQUFZO0FBTGpCLDRCQUE0QixDQUsxQixHQUFHLEFBQUEsWUFBWTtBQUpqQix3QkFBd0IsQ0FJdEIsR0FBRyxBQUFBLFlBQVksQ0FBQztFQUNkLFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBVTVCSCxBQUVJLElBRkEsQUFDRCw0QkFBNEIsQ0FDM0IsZUFBZSxDQUFDO0VBQ2QsS0FBSyxFQUFFLGdCQUFnQixHQUN4Qjs7QUFLTCxBQUNFLDhCQUQ0QixDQUM1QixpQkFBaUIsQ0FBQztFQUNoQixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsQ0FBQztFQUNULEtBQUssRUFBRSxLQUFLO0VBQ1osU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsTUFBTSxHQUNuQjs7QUNsQkgsQUFDRSxlQURhLEdBQ1osVUFBVSxHQUFDLEVBQUUsQUFBQSxLQUFLLEdBQUMsRUFBRSxBQUFBLElBQUssR0FBRSxVQUFVLEVBQUU7RUFDdkMsV0FBVyxFQUFFLElBQUksR0FDbEI7O0FDSEgsQUFDRSw2QkFEMkIsQ0FDM0IsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixHQUFHLEVBQUUsTUFBTSxHQUNaOztBQUxILEFBT0UsNkJBUDJCLENBTzNCLCtCQUErQixDQUFDO0VBQzlCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLE1BQU0sR0FDWjs7QUVWSCxBNUNJSSxjNENKVSxBQUNYLHFCQUFxQixHNUNFbEIsYUFBYSxDQUNmLFVBQVUsQ0FBQztFQUNULGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDVmdCVixPQUFPO0VVZnJCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLGtCQUFrQixFQUFFLDJCQUEyQixHQXFDaEQ7RTRDN0NMLEE1Q1VNLGM0Q1ZRLEFBQ1gscUJBQXFCLEc1Q0VsQixhQUFhLENBQ2YsVUFBVSxBQU1QLFdBQVcsQ0FBQztJQUNYLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0U0Q2JQLEE1Q2VNLGM0Q2ZRLEFBQ1gscUJBQXFCLEc1Q0VsQixhQUFhLENBQ2YsVUFBVSxDQVdSLGFBQWEsQ0FBQztJcEJvRGhCLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsSUFBcUM7SUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQztJc0JwQzVCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0k0Q3BCUCxBaEV3Rk0sY2dFeEZRLEFBQ1gscUJBQXFCLEc1Q0VsQixhQUFhLENBQ2YsVUFBVSxDQVdSLGFBQWEsQXBCeUVaLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFZ0UxRlAsQTVDc0JNLGM0Q3RCUSxBQUNYLHFCQUFxQixHNUNFbEIsYUFBYSxDQUNmLFVBQVUsQ0FrQlIsV0FBVyxDQUFDO0lwQjZDZCxLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEd3Qm9CeEM7STRDOUJQLEFoRXdGTSxjZ0V4RlEsQUFDWCxxQkFBcUIsRzVDRWxCLGFBQWEsQ0FDZixVQUFVLENBa0JSLFdBQVcsQXBCa0VWLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJZ0UxRlAsQTVDeUJRLGM0Q3pCTSxBQUNYLHFCQUFxQixHNUNFbEIsYUFBYSxDQUNmLFVBQVUsQ0FrQlIsV0FBVyxDQUdULEdBQUcsQ0FBQztNQUNGLE1BQU0sRUFBRSxJQUFJO01BQ1osVUFBVSxFQUFFLEdBQUc7TUFDZixLQUFLLEVBQUUsSUFBSSxHQUNaO0U0QzdCVCxBNUNnQ00sYzRDaENRLEFBQ1gscUJBQXFCLEc1Q0VsQixhQUFhLENBQ2YsVUFBVSxDQTRCUixZQUFZLENBQUM7SXBCbUNmLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsSUFBcUM7SUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHc0JoQjdCO0k0Q3ZDUCxBaEV3Rk0sY2dFeEZRLEFBQ1gscUJBQXFCLEc1Q0VsQixhQUFhLENBQ2YsVUFBVSxDQTRCUixZQUFZLEFwQndEWCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SWdFMUZQLEE1Q29DUSxjNENwQ00sQUFDWCxxQkFBcUIsRzVDRWxCLGFBQWEsQ0FDZixVQUFVLENBNEJSLFlBQVksQ0FJVixDQUFDLENBQUM7TUFDQSxVQUFVLEVBQUUsQ0FBQyxHQUNkO0U0Q3RDVCxBNUN5Q00sYzRDekNRLEFBQ1gscUJBQXFCLEc1Q0VsQixhQUFhLENBQ2YsVUFBVSxDQXFDUixXQUFXLEdBQUcsWUFBWSxDQUFDO0lwQjBCN0IsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztJRTZDekMsWUFBb0IsRUFBUyxDQUFDLEdzQlg3QjtJNEM1Q1AsQWhFd0ZNLGNnRXhGUSxBQUNYLHFCQUFxQixHNUNFbEIsYUFBYSxDQUNmLFVBQVUsQ0FxQ1IsV0FBVyxHQUFHLFlBQVksQXBCK0N6QixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0FnRTFGUCxBNUNJSSxjNENKVSxBQUNYLHFCQUFxQixHNUNFbEIsYUFBYSxDQUNmLFVBQVUsQ0ErQ0M7RUFDVCxXQUFXLEVBQUUsQ0FBQztFQUNkLGNBQWMsRUFBRSxDQUFDLEdBUWxCO0U0QzdETCxBNUN1RE0sYzRDdkRRLEFBQ1gscUJBQXFCLEc1Q2lEbEIsYUFBYSxDQUNmLFVBQVUsQ0FJUixXQUFXLENBQUM7SUFDVixPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBQ3JCOztBNEM1RFAsQTVDa0VJLGM0Q2xFVSxBQUNYLHFCQUFxQixHNUNnRWxCLGFBQWEsQUFBQSxNQUFNLENBQ3JCLFVBQVUsQ0FBQztFQUNULGNBQWMsRUFBRSxjQUFjO0VBQzlCLE1BQU0sRUFBRSxjQUFjLEdBQ3ZCOztBNENyRUwsQTVDdUVJLGM0Q3ZFVSxBQUNYLHFCQUFxQixHNUNnRWxCLGFBQWEsQUFBQSxNQUFNLENBTXJCLFVBQVUsQUFBQSxNQUFNLENBQUM7RUFDZixjQUFjLEVBQUUsYUFBYTtFQUM3QixNQUFNLEVBQUUsYUFBYSxHQUN0Qjs7QTRDMUVMLEE1Q2dGSSxjNENoRlUsQUFNWCxzQkFBc0IsRzVDeUVuQixhQUFhLENBQ2YsVUFBVSxDQUFDO0VBQ1QsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENWNURWLE9BQU87RVU2RHJCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBQ3JCOztBNENwRkwsQTVDd0ZJLGM0Q3hGVSxBQU1YLHNCQUFzQixHNUNpRm5CLFVBQVUsQ0FDWixDQUFDLENBQUM7RUFFQSxLQUFLLEVWakZFLE9BQU87RVVrRmQsT0FBTyxFQUFFLEtBQUs7RUFDZCxlQUFlLEVBQUUsSUFBSTtFQUNyQixjQUFjLEVBQUUsU0FBUztFQUN6QixPQUFPLEVBQUUsTUFBTSxHQVloQjtFNEMxR0wsQTVDZ0dNLGM0Q2hHUSxBQU1YLHNCQUFzQixHNUNpRm5CLFVBQVUsQ0FDWixDQUFDLEFBUUUsT0FBTyxDQUFDO0lQZ0JiLFNBQVMsRUhoRkksSUFBSTtJR2lGakIsU0FBUyxFQUFFLE1BQWdDO0lGNUYzQyxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsWUFBWSxFQUFFLE1BQU07SUFDcEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsV0FBVyxFQUFFLENBQUM7SUFDZCxzQkFBc0IsRUFBRSxXQUFXO0lBQ25DLHVCQUF1QixFQUFFLFNBQVM7SVN1RTVCLEtBQUssRUFBRSxLQUFLLEdBQ2I7RTRDckdQLEE1Q3VHTSxjNEN2R1EsQUFNWCxzQkFBc0IsRzVDaUZuQixVQUFVLENBQ1osQ0FBQyxBQWVFLE1BQU0sQ0FBQztJQUNOLEtBQUssRVZoR0wsT0FBTyxHVWlHUjs7QTRDOUZQLEFBQ0UsZ0NBRDhCLENBQzlCLEVBQUUsQUFBQSxPQUFPLEVBRFgsZ0NBQWdDLENXWGhDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixBWFduQyxPQUFPLEVXWlgsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENYVXRCLGdDQUFnQyxDV1ZULGdCQUFnQixBWFduQyxPQUFPLENBQUM7RXJEU1YsV0FBVyxFQUFFLG9CQUFvQjtFQUNqQyxLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFlBQVksRUFBRSxNQUFNO0VBQ3BCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFdBQVcsRUFBRSxDQUFDO0VBQ2Qsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VxRGRoQyxZQUFZLEVBQUUsSUFBSSxHQUNuQjs7QUNoQkgsQUFDRSxjQURZLEFBQ1gscUJBQXFCLENBQUM7RUFJckIsVUFBVSxFQUFFLElBQUksR0FDakI7RUFOSCxBN0NJSSxjNkNKVSxBQUNYLHFCQUFxQixHN0NFbEIsYUFBYSxDQUNmLFVBQVUsQ0FBQztJQUNULGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDVmdCVixPQUFPO0lVZnJCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGtCQUFrQixFQUFFLDJCQUEyQixHQXFDaEQ7STZDN0NMLEE3Q1VNLGM2Q1ZRLEFBQ1gscUJBQXFCLEc3Q0VsQixhQUFhLENBQ2YsVUFBVSxBQU1QLFdBQVcsQ0FBQztNQUNYLGFBQWEsRUFBRSxDQUFDO01BQ2hCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0k2Q2JQLEE3Q2VNLGM2Q2ZRLEFBQ1gscUJBQXFCLEc3Q0VsQixhQUFhLENBQ2YsVUFBVSxDQVdSLGFBQWEsQ0FBQztNcEJvRGhCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsSUFBcUM7TUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQztNc0JwQzVCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO002Q3BCUCxBakV3Rk0sY2lFeEZRLEFBQ1gscUJBQXFCLEc3Q0VsQixhQUFhLENBQ2YsVUFBVSxDQVdSLGFBQWEsQXBCeUVaLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJaUUxRlAsQTdDc0JNLGM2Q3RCUSxBQUNYLHFCQUFxQixHN0NFbEIsYUFBYSxDQUNmLFVBQVUsQ0FrQlIsV0FBVyxDQUFDO01wQjZDZCxLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDLEd3Qm9CeEM7TTZDOUJQLEFqRXdGTSxjaUV4RlEsQUFDWCxxQkFBcUIsRzdDRWxCLGFBQWEsQ0FDZixVQUFVLENBa0JSLFdBQVcsQXBCa0VWLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNaUUxRlAsQTdDeUJRLGM2Q3pCTSxBQUNYLHFCQUFxQixHN0NFbEIsYUFBYSxDQUNmLFVBQVUsQ0FrQlIsV0FBVyxDQUdULEdBQUcsQ0FBQztRQUNGLE1BQU0sRUFBRSxJQUFJO1FBQ1osVUFBVSxFQUFFLEdBQUc7UUFDZixLQUFLLEVBQUUsSUFBSSxHQUNaO0k2QzdCVCxBN0NnQ00sYzZDaENRLEFBQ1gscUJBQXFCLEc3Q0VsQixhQUFhLENBQ2YsVUFBVSxDQTRCUixZQUFZLENBQUM7TXBCbUNmLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsSUFBcUM7TUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHc0JoQjdCO002Q3ZDUCxBakV3Rk0sY2lFeEZRLEFBQ1gscUJBQXFCLEc3Q0VsQixhQUFhLENBQ2YsVUFBVSxDQTRCUixZQUFZLEFwQndEWCxXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TWlFMUZQLEE3Q29DUSxjNkNwQ00sQUFDWCxxQkFBcUIsRzdDRWxCLGFBQWEsQ0FDZixVQUFVLENBNEJSLFlBQVksQ0FJVixDQUFDLENBQUM7UUFDQSxVQUFVLEVBQUUsQ0FBQyxHQUNkO0k2Q3RDVCxBN0N5Q00sYzZDekNRLEFBQ1gscUJBQXFCLEc3Q0VsQixhQUFhLENBQ2YsVUFBVSxDQXFDUixXQUFXLEdBQUcsWUFBWSxDQUFDO01wQjBCN0IsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKdEVoQixPQUFzQztNSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztNRTZDekMsWUFBb0IsRUFBUyxDQUFDLEdzQlg3QjtNNkM1Q1AsQWpFd0ZNLGNpRXhGUSxBQUNYLHFCQUFxQixHN0NFbEIsYUFBYSxDQUNmLFVBQVUsQ0FxQ1IsV0FBVyxHQUFHLFlBQVksQXBCK0N6QixXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RWlFMUZQLEE3QytHRSxjNkMvR1ksQUFDWCxxQkFBcUIsQzdDOEd0QixFQUFFLEFBQUEsYUFBYSxFNkMvR2pCLGNBQWMsQUFDWCxxQkFBcUIsQ1VEeEIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLEN2RDhHbEIsYUFBYSxBdUQ5R00sZ0JBQWdCLEVBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDVkR0QixjQUFjLEFBQ1gscUJBQXFCLEM3QzhHcEIsYUFBYSxBdUQ5R00sZ0JBQWdCLEN2RDhHckI7SUFDZCxLQUFLLEVWdkdJLE9BQU87SVV3R2hCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENWN0ZMLE9BQU87SVU4RnZCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGFBQWEsRUFBRSxJQUFJLEdBOEJwQjtJNkNuSkgsQTdDdUhJLGM2Q3ZIVSxBQUNYLHFCQUFxQixDN0M4R3RCLEVBQUUsQUFBQSxhQUFhLEFBUVosWUFBWSxFNkN2SGpCLGNBQWMsQUFDWCxxQkFBcUIsQ1VEeEIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLEN2RDhHbEIsYUFBYSxBdUQ5R00sZ0JBQWdCLEF2RHNIbEMsWUFBWSxFdUR2SGpCLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDVkR0QixjQUFjLEFBQ1gscUJBQXFCLEM3QzhHcEIsYUFBYSxBdUQ5R00sZ0JBQWdCLEF2RHNIbEMsWUFBWSxDQUFDO01BQ1osVUFBVSxFQUFFLENBQUM7TUFDYixXQUFXLEVBQUUsQ0FBQyxHQUNmO0k2QzFITCxBN0M0SEksYzZDNUhVLEFBQ1gscUJBQXFCLEM3QzhHdEIsRUFBRSxBQUFBLGFBQWEsQUFhWixNQUFNLEU2QzVIWCxjQUFjLEFBQ1gscUJBQXFCLENVRHhCLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDdkQ4R2xCLGFBQWEsQXVEOUdNLGdCQUFnQixBdkQySGxDLE1BQU0sRXVENUhYLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDVkR0QixjQUFjLEFBQ1gscUJBQXFCLEM3QzhHcEIsYUFBYSxBdUQ5R00sZ0JBQWdCLEF2RDJIbEMsTUFBTSxDQUFDO01UdkdWLFdBQVcsRUFBRSxvQkFBb0I7TUFDakMsS0FBSyxFQUFFLElBQUk7TUFDWCxVQUFVLEVBQUUsTUFBTTtNQUNsQixXQUFXLEVBQUUsTUFBTTtNQUNuQixZQUFZLEVBQUUsTUFBTTtNQUNwQixjQUFjLEVBQUUsSUFBSTtNQUNwQixXQUFXLEVBQUUsQ0FBQztNQUNkLHNCQUFzQixFQUFFLFdBQVc7TUFDbkMsdUJBQXVCLEVBQUUsU0FBUztNU2tHOUIsUUFBUSxFQUFFLFFBQVE7TUFDbEIsTUFBTSxFQUFFLElBQUk7TUFDWixLQUFLLEVBQUUsS0FBSztNQUNaLFlBQVksRUFBRSxLQUFLLEdBS3BCO0k2Q3ZJTCxBN0N5SUksYzZDeklVLEFBQ1gscUJBQXFCLEM3QzhHdEIsRUFBRSxBQUFBLGFBQWEsQ0EwQmIsTUFBTSxFNkN6SVYsY0FBYyxBQUNYLHFCQUFxQixDVUR4QixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3ZEOEdsQixhQUFhLEF1RDlHTSxnQkFBZ0IsQ3ZEd0luQyxNQUFNLEV1RHpJVixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ1ZEdEIsY0FBYyxBQUNYLHFCQUFxQixDN0M4R3BCLGFBQWEsQXVEOUdNLGdCQUFnQixDdkR3SW5DLE1BQU0sQ0FBQztNQUNMLE9BQU8sRUFBRSxDQUFDO01BQ1YsTUFBTSxFQUFFLENBQUM7TUFDVCxVQUFVLEVBQUUsSUFBSSxHQU1qQjtNNkNsSkwsQTdDOElNLGM2QzlJUSxBQUNYLHFCQUFxQixDN0M4R3RCLEVBQUUsQUFBQSxhQUFhLENBMEJiLE1BQU0sQUFLSCxNQUFNLEU2QzlJYixjQUFjLEFBQ1gscUJBQXFCLENVRHhCLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDdkQ4R2xCLGFBQWEsQXVEOUdNLGdCQUFnQixDdkR3SW5DLE1BQU0sQUFLSCxNQUFNLEV1RDlJYixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ1ZEdEIsY0FBYyxBQUNYLHFCQUFxQixDN0M4R3BCLGFBQWEsQXVEOUdNLGdCQUFnQixDdkR3SW5DLE1BQU0sQUFLSCxNQUFNLENBQUM7UUFDTixPQUFPLEVBQUUsNEJBQTRCO1FBQ3JDLGNBQWMsRUFBRSxjQUFjLEdBQy9CO0U2Q2pKUCxBN0NxSkUsYzZDckpZLEFBQ1gscUJBQXFCLEM3Q29KdEIsWUFBWSxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUksR0FLZDtJNkMzSkgsQTdDd0pJLGM2Q3hKVSxBQUNYLHFCQUFxQixDN0NvSnRCLFlBQVksQ0FHVixVQUFVLEFBQUEsWUFBWSxDQUFDO01BQ3JCLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDVnBJUCxPQUFPLEdVcUl0Qjs7QThDMUpMLEFBQ0UsU0FETyxBQUNOLHFCQUFxQixDQUFDO0VBSXJCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBTkgsQTlDSUksUzhDSkssQUFDTixxQkFBcUIsRzlDRWxCLGFBQWEsQ0FDZixVQUFVLENBQUM7SUFDVCxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1ZnQlYsT0FBTztJVWZyQixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSTtJQUNwQixrQkFBa0IsRUFBRSwyQkFBMkIsR0FxQ2hEO0k4QzdDTCxBOUNVTSxTOENWRyxBQUNOLHFCQUFxQixHOUNFbEIsYUFBYSxDQUNmLFVBQVUsQUFNUCxXQUFXLENBQUM7TUFDWCxhQUFhLEVBQUUsQ0FBQztNQUNoQixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtJOENiUCxBOUNlTSxTOENmRyxBQUNOLHFCQUFxQixHOUNFbEIsYUFBYSxDQUNmLFVBQVUsQ0FXUixhQUFhLENBQUM7TXBCb0RoQixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELElBQXFDO01FNkN6QyxZQUFvQixFQUFTLENBQUM7TXNCcEM1QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtNOENwQlAsQWxFd0ZNLFNrRXhGRyxBQUNOLHFCQUFxQixHOUNFbEIsYUFBYSxDQUNmLFVBQVUsQ0FXUixhQUFhLEFwQnlFWixXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SWtFMUZQLEE5Q3NCTSxTOEN0QkcsQUFDTixxQkFBcUIsRzlDRWxCLGFBQWEsQ0FDZixVQUFVLENBa0JSLFdBQVcsQ0FBQztNcEI2Q2QsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKdEVoQixPQUFzQztNSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHd0JvQnhDO004QzlCUCxBbEV3Rk0sU2tFeEZHLEFBQ04scUJBQXFCLEc5Q0VsQixhQUFhLENBQ2YsVUFBVSxDQWtCUixXQUFXLEFwQmtFVixXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TWtFMUZQLEE5Q3lCUSxTOEN6QkMsQUFDTixxQkFBcUIsRzlDRWxCLGFBQWEsQ0FDZixVQUFVLENBa0JSLFdBQVcsQ0FHVCxHQUFHLENBQUM7UUFDRixNQUFNLEVBQUUsSUFBSTtRQUNaLFVBQVUsRUFBRSxHQUFHO1FBQ2YsS0FBSyxFQUFFLElBQUksR0FDWjtJOEM3QlQsQTlDZ0NNLFM4Q2hDRyxBQUNOLHFCQUFxQixHOUNFbEIsYUFBYSxDQUNmLFVBQVUsQ0E0QlIsWUFBWSxDQUFDO01wQm1DZixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELElBQXFDO01FNkN6QyxZQUFvQixFQUFTLENBQUMsR3NCaEI3QjtNOEN2Q1AsQWxFd0ZNLFNrRXhGRyxBQUNOLHFCQUFxQixHOUNFbEIsYUFBYSxDQUNmLFVBQVUsQ0E0QlIsWUFBWSxBcEJ3RFgsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO01rRTFGUCxBOUNvQ1EsUzhDcENDLEFBQ04scUJBQXFCLEc5Q0VsQixhQUFhLENBQ2YsVUFBVSxDQTRCUixZQUFZLENBSVYsQ0FBQyxDQUFDO1FBQ0EsVUFBVSxFQUFFLENBQUMsR0FDZDtJOEN0Q1QsQTlDeUNNLFM4Q3pDRyxBQUNOLHFCQUFxQixHOUNFbEIsYUFBYSxDQUNmLFVBQVUsQ0FxQ1IsV0FBVyxHQUFHLFlBQVksQ0FBQztNcEIwQjdCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7TUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHc0JYN0I7TThDNUNQLEFsRXdGTSxTa0V4RkcsQUFDTixxQkFBcUIsRzlDRWxCLGFBQWEsQ0FDZixVQUFVLENBcUNSLFdBQVcsR0FBRyxZQUFZLEFwQitDekIsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VrRTFGUCxBOUMrR0UsUzhDL0dPLEFBQ04scUJBQXFCLEM5QzhHdEIsRUFBRSxBQUFBLGFBQWEsRThDL0dqQixTQUFTLEFBQ04scUJBQXFCLENTRHhCLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDdkQ4R2xCLGFBQWEsQXVEOUdNLGdCQUFnQixFQUR2QyxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ1REdEIsU0FBUyxBQUNOLHFCQUFxQixDOUM4R3BCLGFBQWEsQXVEOUdNLGdCQUFnQixDdkQ4R3JCO0lBQ2QsS0FBSyxFVnZHSSxPQUFPO0lVd0doQixNQUFNLEVBQUUsT0FBTztJQUNmLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDVjdGTCxPQUFPO0lVOEZ2QixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSTtJQUNwQixhQUFhLEVBQUUsSUFBSSxHQThCcEI7SThDbkpILEE5Q3VISSxTOEN2SEssQUFDTixxQkFBcUIsQzlDOEd0QixFQUFFLEFBQUEsYUFBYSxBQVFaLFlBQVksRThDdkhqQixTQUFTLEFBQ04scUJBQXFCLENTRHhCLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDdkQ4R2xCLGFBQWEsQXVEOUdNLGdCQUFnQixBdkRzSGxDLFlBQVksRXVEdkhqQixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ1REdEIsU0FBUyxBQUNOLHFCQUFxQixDOUM4R3BCLGFBQWEsQXVEOUdNLGdCQUFnQixBdkRzSGxDLFlBQVksQ0FBQztNQUNaLFVBQVUsRUFBRSxDQUFDO01BQ2IsV0FBVyxFQUFFLENBQUMsR0FDZjtJOEMxSEwsQTlDNEhJLFM4QzVISyxBQUNOLHFCQUFxQixDOUM4R3RCLEVBQUUsQUFBQSxhQUFhLEFBYVosTUFBTSxFOEM1SFgsU0FBUyxBQUNOLHFCQUFxQixDU0R4QixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3ZEOEdsQixhQUFhLEF1RDlHTSxnQkFBZ0IsQXZEMkhsQyxNQUFNLEV1RDVIWCxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ1REdEIsU0FBUyxBQUNOLHFCQUFxQixDOUM4R3BCLGFBQWEsQXVEOUdNLGdCQUFnQixBdkQySGxDLE1BQU0sQ0FBQztNVHZHVixXQUFXLEVBQUUsb0JBQW9CO01BQ2pDLEtBQUssRUFBRSxJQUFJO01BQ1gsVUFBVSxFQUFFLE1BQU07TUFDbEIsV0FBVyxFQUFFLE1BQU07TUFDbkIsWUFBWSxFQUFFLE1BQU07TUFDcEIsY0FBYyxFQUFFLElBQUk7TUFDcEIsV0FBVyxFQUFFLENBQUM7TUFDZCxzQkFBc0IsRUFBRSxXQUFXO01BQ25DLHVCQUF1QixFQUFFLFNBQVM7TVNrRzlCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE1BQU0sRUFBRSxJQUFJO01BQ1osS0FBSyxFQUFFLEtBQUs7TUFDWixZQUFZLEVBQUUsS0FBSyxHQUtwQjtJOEN2SUwsQTlDeUlJLFM4Q3pJSyxBQUNOLHFCQUFxQixDOUM4R3RCLEVBQUUsQUFBQSxhQUFhLENBMEJiLE1BQU0sRThDeklWLFNBQVMsQUFDTixxQkFBcUIsQ1NEeEIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLEN2RDhHbEIsYUFBYSxBdUQ5R00sZ0JBQWdCLEN2RHdJbkMsTUFBTSxFdUR6SVYsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENURHRCLFNBQVMsQUFDTixxQkFBcUIsQzlDOEdwQixhQUFhLEF1RDlHTSxnQkFBZ0IsQ3ZEd0luQyxNQUFNLENBQUM7TUFDTCxPQUFPLEVBQUUsQ0FBQztNQUNWLE1BQU0sRUFBRSxDQUFDO01BQ1QsVUFBVSxFQUFFLElBQUksR0FNakI7TThDbEpMLEE5QzhJTSxTOEM5SUcsQUFDTixxQkFBcUIsQzlDOEd0QixFQUFFLEFBQUEsYUFBYSxDQTBCYixNQUFNLEFBS0gsTUFBTSxFOEM5SWIsU0FBUyxBQUNOLHFCQUFxQixDU0R4QixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3ZEOEdsQixhQUFhLEF1RDlHTSxnQkFBZ0IsQ3ZEd0luQyxNQUFNLEFBS0gsTUFBTSxFdUQ5SWIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENURHRCLFNBQVMsQUFDTixxQkFBcUIsQzlDOEdwQixhQUFhLEF1RDlHTSxnQkFBZ0IsQ3ZEd0luQyxNQUFNLEFBS0gsTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLDRCQUE0QjtRQUNyQyxjQUFjLEVBQUUsY0FBYyxHQUMvQjtFOENqSlAsQTlDcUpFLFM4Q3JKTyxBQUNOLHFCQUFxQixDOUNvSnRCLFlBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxJQUFJLEdBS2Q7SThDM0pILEE5Q3dKSSxTOEN4SkssQUFDTixxQkFBcUIsQzlDb0p0QixZQUFZLENBR1YsVUFBVSxBQUFBLFlBQVksQ0FBQztNQUNyQixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1ZwSVAsT0FBTyxHVXFJdEI7O0ErQzFKTCxBL0NJSSxVK0NKTSxBQUNQLHFCQUFxQixHL0NFbEIsYUFBYSxDQUNmLFVBQVUsQ0FBQztFQUNULGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDVmdCVixPQUFPO0VVZnJCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLGtCQUFrQixFQUFFLDJCQUEyQixHQXFDaEQ7RStDN0NMLEEvQ1VNLFUrQ1ZJLEFBQ1AscUJBQXFCLEcvQ0VsQixhQUFhLENBQ2YsVUFBVSxBQU1QLFdBQVcsQ0FBQztJQUNYLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0UrQ2JQLEEvQ2VNLFUrQ2ZJLEFBQ1AscUJBQXFCLEcvQ0VsQixhQUFhLENBQ2YsVUFBVSxDQVdSLGFBQWEsQ0FBQztJcEJvRGhCLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsSUFBcUM7SUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQztJc0JwQzVCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0krQ3BCUCxBbkV3Rk0sVW1FeEZJLEFBQ1AscUJBQXFCLEcvQ0VsQixhQUFhLENBQ2YsVUFBVSxDQVdSLGFBQWEsQXBCeUVaLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFbUUxRlAsQS9Dc0JNLFUrQ3RCSSxBQUNQLHFCQUFxQixHL0NFbEIsYUFBYSxDQUNmLFVBQVUsQ0FrQlIsV0FBVyxDQUFDO0lwQjZDZCxLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEd3Qm9CeEM7SStDOUJQLEFuRXdGTSxVbUV4RkksQUFDUCxxQkFBcUIsRy9DRWxCLGFBQWEsQ0FDZixVQUFVLENBa0JSLFdBQVcsQXBCa0VWLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJbUUxRlAsQS9DeUJRLFUrQ3pCRSxBQUNQLHFCQUFxQixHL0NFbEIsYUFBYSxDQUNmLFVBQVUsQ0FrQlIsV0FBVyxDQUdULEdBQUcsQ0FBQztNQUNGLE1BQU0sRUFBRSxJQUFJO01BQ1osVUFBVSxFQUFFLEdBQUc7TUFDZixLQUFLLEVBQUUsSUFBSSxHQUNaO0UrQzdCVCxBL0NnQ00sVStDaENJLEFBQ1AscUJBQXFCLEcvQ0VsQixhQUFhLENBQ2YsVUFBVSxDQTRCUixZQUFZLENBQUM7SXBCbUNmLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsSUFBcUM7SUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHc0JoQjdCO0krQ3ZDUCxBbkV3Rk0sVW1FeEZJLEFBQ1AscUJBQXFCLEcvQ0VsQixhQUFhLENBQ2YsVUFBVSxDQTRCUixZQUFZLEFwQndEWCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SW1FMUZQLEEvQ29DUSxVK0NwQ0UsQUFDUCxxQkFBcUIsRy9DRWxCLGFBQWEsQ0FDZixVQUFVLENBNEJSLFlBQVksQ0FJVixDQUFDLENBQUM7TUFDQSxVQUFVLEVBQUUsQ0FBQyxHQUNkO0UrQ3RDVCxBL0N5Q00sVStDekNJLEFBQ1AscUJBQXFCLEcvQ0VsQixhQUFhLENBQ2YsVUFBVSxDQXFDUixXQUFXLEdBQUcsWUFBWSxDQUFDO0lwQjBCN0IsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztJRTZDekMsWUFBb0IsRUFBUyxDQUFDLEdzQlg3QjtJK0M1Q1AsQW5Fd0ZNLFVtRXhGSSxBQUNQLHFCQUFxQixHL0NFbEIsYUFBYSxDQUNmLFVBQVUsQ0FxQ1IsV0FBVyxHQUFHLFlBQVksQXBCK0N6QixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0FtRTFGUCxBL0NJSSxVK0NKTSxBQUNQLHFCQUFxQixHL0NFbEIsYUFBYSxDQUNmLFVBQVUsQ0ErQ0M7RUFDVCxXQUFXLEVBQUUsQ0FBQztFQUNkLGNBQWMsRUFBRSxDQUFDLEdBUWxCO0UrQzdETCxBL0N1RE0sVStDdkRJLEFBQ1AscUJBQXFCLEcvQ2lEbEIsYUFBYSxDQUNmLFVBQVUsQ0FJUixXQUFXLENBQUM7SUFDVixPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBQ3JCOztBK0M1RFAsQS9Da0VJLFUrQ2xFTSxBQUNQLHFCQUFxQixHL0NnRWxCLGFBQWEsQUFBQSxNQUFNLENBQ3JCLFVBQVUsQ0FBQztFQUNULGNBQWMsRUFBRSxjQUFjO0VBQzlCLE1BQU0sRUFBRSxjQUFjLEdBQ3ZCOztBK0NyRUwsQS9DdUVJLFUrQ3ZFTSxBQUNQLHFCQUFxQixHL0NnRWxCLGFBQWEsQUFBQSxNQUFNLENBTXJCLFVBQVUsQUFBQSxNQUFNLENBQUM7RUFDZixjQUFjLEVBQUUsYUFBYTtFQUM3QixNQUFNLEVBQUUsYUFBYSxHQUN0Qjs7QStDMUVMLEEvQ2dGSSxVK0NoRk0sQUFNUCxzQkFBc0IsRy9DeUVuQixhQUFhLENBQ2YsVUFBVSxDQUFDO0VBQ1QsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENWNURWLE9BQU87RVU2RHJCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBQ3JCOztBK0NwRkwsQS9Dd0ZJLFUrQ3hGTSxBQU1QLHNCQUFzQixHL0NpRm5CLFVBQVUsQ0FDWixDQUFDLENBQUM7RUFFQSxLQUFLLEVWakZFLE9BQU87RVVrRmQsT0FBTyxFQUFFLEtBQUs7RUFDZCxlQUFlLEVBQUUsSUFBSTtFQUNyQixjQUFjLEVBQUUsU0FBUztFQUN6QixPQUFPLEVBQUUsTUFBTSxHQVloQjtFK0MxR0wsQS9DZ0dNLFUrQ2hHSSxBQU1QLHNCQUFzQixHL0NpRm5CLFVBQVUsQ0FDWixDQUFDLEFBUUUsT0FBTyxDQUFDO0lQZ0JiLFNBQVMsRUhoRkksSUFBSTtJR2lGakIsU0FBUyxFQUFFLE1BQWdDO0lGNUYzQyxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsWUFBWSxFQUFFLE1BQU07SUFDcEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsV0FBVyxFQUFFLENBQUM7SUFDZCxzQkFBc0IsRUFBRSxXQUFXO0lBQ25DLHVCQUF1QixFQUFFLFNBQVM7SVN1RTVCLEtBQUssRUFBRSxLQUFLLEdBQ2I7RStDckdQLEEvQ3VHTSxVK0N2R0ksQUFNUCxzQkFBc0IsRy9DaUZuQixVQUFVLENBQ1osQ0FBQyxBQWVFLE1BQU0sQ0FBQztJQUNOLEtBQUssRVZoR0wsT0FBTyxHVWlHUjs7QStDOUZQLEFBSUksNEJBSndCLENBQzFCLEVBQUUsQUFBQSxPQUFPLENBR1AsQ0FBQyxFQUpMLDRCQUE0QixDUVg1QixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQVhXbkMsT0FBTyxDR0dQLENBQUMsRVFmTCxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ1JVdEIsNEJBQTRCLENRVkwsZ0JBQWdCLEFYV25DLE9BQU8sQ0dHUCxDQUFDLENBQUM7RUFDQSxlQUFlLEVBQUUsSUFBSSxHQUN0Qjs7QUFOTCxBQVNFLDRCQVQwQixDQVMxQixZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsRUFUbkIsNEJBQTRCLENBUzFCLFlBQVksQ1FwQmQsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENSbUJyQixDQUFDLEVRcEJuQixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ1JVdEIsNEJBQTRCLENBUzFCLFlBQVksQ1FuQlMsZ0JBQWdCLENSbUJyQixDQUFDLENBQUM7RUFDaEIsZUFBZSxFQUFFLElBQUksR0FhdEI7RUF2QkgsQUFZSSw0QkFad0IsQ0FTMUIsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEFBR2QsT0FBTyxFQVpaLDRCQUE0QixDQVMxQixZQUFZLENRcEJkLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDUm1CckIsQ0FBQyxBQUdkLE9BQU8sRVF2QlosY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENSVXRCLDRCQUE0QixDQVMxQixZQUFZLENRbkJTLGdCQUFnQixDUm1CckIsQ0FBQyxBQUdkLE9BQU8sQ0FBQztJeERGWCxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsWUFBWSxFQUFFLE1BQU07SUFDcEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsV0FBVyxFQUFFLENBQUM7SUFDZCxzQkFBc0IsRUFBRSxXQUFXO0lBQ25DLHVCQUF1QixFQUFFLFNBQVM7SXdESDlCLFlBQVksRUFBRSxJQUFJLEdBQ25CO0VBaEJMLEFBbUJNLDRCQW5Cc0IsQ0FTMUIsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEFBU2QsTUFBTSxBQUNKLE9BQU8sRUFuQmQsNEJBQTRCLENBUzFCLFlBQVksQ1FwQmQsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENSbUJyQixDQUFDLEFBU2QsTUFBTSxBQUNKLE9BQU8sRVE5QmQsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENSVXRCLDRCQUE0QixDQVMxQixZQUFZLENRbkJTLGdCQUFnQixDUm1CckIsQ0FBQyxBQVNkLE1BQU0sQUFDSixPQUFPLENBQUM7SUFDUCxLQUFLLEV6RHJCRCxPQUFPLEd5RHNCWjs7QUFNUCxBQUFBLFVBQVUsQUFBQSxxQkFBcUIsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLFdBQVcsQUFBQSxNQUFNLENBQUM7RUFDM0UsS0FBSyxFQUFFLElBQUksR0FDWjs7QUN4Q0QsQUFDRSxZQURVLEFBQ1QscUJBQXFCLENBQUM7RUFJckIsVUFBVSxFQUFFLElBQUksR0FjakI7RUFuQkgsQWhESUksWWdESlEsQUFDVCxxQkFBcUIsR2hERWxCLGFBQWEsQ0FDZixVQUFVLENBQUM7SUFDVCxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1ZnQlYsT0FBTztJVWZyQixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSTtJQUNwQixrQkFBa0IsRUFBRSwyQkFBMkIsR0FxQ2hEO0lnRDdDTCxBaERVTSxZZ0RWTSxBQUNULHFCQUFxQixHaERFbEIsYUFBYSxDQUNmLFVBQVUsQUFNUCxXQUFXLENBQUM7TUFDWCxhQUFhLEVBQUUsQ0FBQztNQUNoQixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtJZ0RiUCxBaERlTSxZZ0RmTSxBQUNULHFCQUFxQixHaERFbEIsYUFBYSxDQUNmLFVBQVUsQ0FXUixhQUFhLENBQUM7TXBCb0RoQixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELElBQXFDO01FNkN6QyxZQUFvQixFQUFTLENBQUM7TXNCcEM1QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtNZ0RwQlAsQXBFd0ZNLFlvRXhGTSxBQUNULHFCQUFxQixHaERFbEIsYUFBYSxDQUNmLFVBQVUsQ0FXUixhQUFhLEFwQnlFWixXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SW9FMUZQLEFoRHNCTSxZZ0R0Qk0sQUFDVCxxQkFBcUIsR2hERWxCLGFBQWEsQ0FDZixVQUFVLENBa0JSLFdBQVcsQ0FBQztNcEI2Q2QsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKdEVoQixPQUFzQztNSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHd0JvQnhDO01nRDlCUCxBcEV3Rk0sWW9FeEZNLEFBQ1QscUJBQXFCLEdoREVsQixhQUFhLENBQ2YsVUFBVSxDQWtCUixXQUFXLEFwQmtFVixXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TW9FMUZQLEFoRHlCUSxZZ0R6QkksQUFDVCxxQkFBcUIsR2hERWxCLGFBQWEsQ0FDZixVQUFVLENBa0JSLFdBQVcsQ0FHVCxHQUFHLENBQUM7UUFDRixNQUFNLEVBQUUsSUFBSTtRQUNaLFVBQVUsRUFBRSxHQUFHO1FBQ2YsS0FBSyxFQUFFLElBQUksR0FDWjtJZ0Q3QlQsQWhEZ0NNLFlnRGhDTSxBQUNULHFCQUFxQixHaERFbEIsYUFBYSxDQUNmLFVBQVUsQ0E0QlIsWUFBWSxDQUFDO01wQm1DZixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELElBQXFDO01FNkN6QyxZQUFvQixFQUFTLENBQUMsR3NCaEI3QjtNZ0R2Q1AsQXBFd0ZNLFlvRXhGTSxBQUNULHFCQUFxQixHaERFbEIsYUFBYSxDQUNmLFVBQVUsQ0E0QlIsWUFBWSxBcEJ3RFgsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO01vRTFGUCxBaERvQ1EsWWdEcENJLEFBQ1QscUJBQXFCLEdoREVsQixhQUFhLENBQ2YsVUFBVSxDQTRCUixZQUFZLENBSVYsQ0FBQyxDQUFDO1FBQ0EsVUFBVSxFQUFFLENBQUMsR0FDZDtJZ0R0Q1QsQWhEeUNNLFlnRHpDTSxBQUNULHFCQUFxQixHaERFbEIsYUFBYSxDQUNmLFVBQVUsQ0FxQ1IsV0FBVyxHQUFHLFlBQVksQ0FBQztNcEIwQjdCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7TUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHc0JYN0I7TWdENUNQLEFwRXdGTSxZb0V4Rk0sQUFDVCxxQkFBcUIsR2hERWxCLGFBQWEsQ0FDZixVQUFVLENBcUNSLFdBQVcsR0FBRyxZQUFZLEFwQitDekIsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VvRTFGUCxBaEQrR0UsWWdEL0dVLEFBQ1QscUJBQXFCLENoRDhHdEIsRUFBRSxBQUFBLGFBQWEsRWdEL0dqQixZQUFZLEFBQ1QscUJBQXFCLENPRHhCLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDdkQ4R2xCLGFBQWEsQXVEOUdNLGdCQUFnQixFQUR2QyxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ1BEdEIsWUFBWSxBQUNULHFCQUFxQixDaEQ4R3BCLGFBQWEsQXVEOUdNLGdCQUFnQixDdkQ4R3JCO0lBQ2QsS0FBSyxFVnZHSSxPQUFPO0lVd0doQixNQUFNLEVBQUUsT0FBTztJQUNmLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDVjdGTCxPQUFPO0lVOEZ2QixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSTtJQUNwQixhQUFhLEVBQUUsSUFBSSxHQThCcEI7SWdEbkpILEFoRHVISSxZZ0R2SFEsQUFDVCxxQkFBcUIsQ2hEOEd0QixFQUFFLEFBQUEsYUFBYSxBQVFaLFlBQVksRWdEdkhqQixZQUFZLEFBQ1QscUJBQXFCLENPRHhCLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDdkQ4R2xCLGFBQWEsQXVEOUdNLGdCQUFnQixBdkRzSGxDLFlBQVksRXVEdkhqQixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ1BEdEIsWUFBWSxBQUNULHFCQUFxQixDaEQ4R3BCLGFBQWEsQXVEOUdNLGdCQUFnQixBdkRzSGxDLFlBQVksQ0FBQztNQUNaLFVBQVUsRUFBRSxDQUFDO01BQ2IsV0FBVyxFQUFFLENBQUMsR0FDZjtJZ0QxSEwsQWhENEhJLFlnRDVIUSxBQUNULHFCQUFxQixDaEQ4R3RCLEVBQUUsQUFBQSxhQUFhLEFBYVosTUFBTSxFZ0Q1SFgsWUFBWSxBQUNULHFCQUFxQixDT0R4QixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3ZEOEdsQixhQUFhLEF1RDlHTSxnQkFBZ0IsQXZEMkhsQyxNQUFNLEV1RDVIWCxjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ1BEdEIsWUFBWSxBQUNULHFCQUFxQixDaEQ4R3BCLGFBQWEsQXVEOUdNLGdCQUFnQixBdkQySGxDLE1BQU0sQ0FBQztNVHZHVixXQUFXLEVBQUUsb0JBQW9CO01BQ2pDLEtBQUssRUFBRSxJQUFJO01BQ1gsVUFBVSxFQUFFLE1BQU07TUFDbEIsV0FBVyxFQUFFLE1BQU07TUFDbkIsWUFBWSxFQUFFLE1BQU07TUFDcEIsY0FBYyxFQUFFLElBQUk7TUFDcEIsV0FBVyxFQUFFLENBQUM7TUFDZCxzQkFBc0IsRUFBRSxXQUFXO01BQ25DLHVCQUF1QixFQUFFLFNBQVM7TVNrRzlCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE1BQU0sRUFBRSxJQUFJO01BQ1osS0FBSyxFQUFFLEtBQUs7TUFDWixZQUFZLEVBQUUsS0FBSyxHQUtwQjtJZ0R2SUwsQWhEeUlJLFlnRHpJUSxBQUNULHFCQUFxQixDaEQ4R3RCLEVBQUUsQUFBQSxhQUFhLENBMEJiLE1BQU0sRWdEeklWLFlBQVksQUFDVCxxQkFBcUIsQ09EeEIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLEN2RDhHbEIsYUFBYSxBdUQ5R00sZ0JBQWdCLEN2RHdJbkMsTUFBTSxFdUR6SVYsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENQRHRCLFlBQVksQUFDVCxxQkFBcUIsQ2hEOEdwQixhQUFhLEF1RDlHTSxnQkFBZ0IsQ3ZEd0luQyxNQUFNLENBQUM7TUFDTCxPQUFPLEVBQUUsQ0FBQztNQUNWLE1BQU0sRUFBRSxDQUFDO01BQ1QsVUFBVSxFQUFFLElBQUksR0FNakI7TWdEbEpMLEFoRDhJTSxZZ0Q5SU0sQUFDVCxxQkFBcUIsQ2hEOEd0QixFQUFFLEFBQUEsYUFBYSxDQTBCYixNQUFNLEFBS0gsTUFBTSxFZ0Q5SWIsWUFBWSxBQUNULHFCQUFxQixDT0R4QixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ3ZEOEdsQixhQUFhLEF1RDlHTSxnQkFBZ0IsQ3ZEd0luQyxNQUFNLEFBS0gsTUFBTSxFdUQ5SWIsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENQRHRCLFlBQVksQUFDVCxxQkFBcUIsQ2hEOEdwQixhQUFhLEF1RDlHTSxnQkFBZ0IsQ3ZEd0luQyxNQUFNLEFBS0gsTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLDRCQUE0QjtRQUNyQyxjQUFjLEVBQUUsY0FBYyxHQUMvQjtFZ0RqSlAsQWhEcUpFLFlnRHJKVSxBQUNULHFCQUFxQixDaERvSnRCLFlBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxJQUFJLEdBS2Q7SWdEM0pILEFoRHdKSSxZZ0R4SlEsQUFDVCxxQkFBcUIsQ2hEb0p0QixZQUFZLENBR1YsVUFBVSxBQUFBLFlBQVksQ0FBQztNQUNyQixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1ZwSVAsT0FBTyxHVXFJdEI7RWdEMUpMLEFoRHNCTSxZZ0R0Qk0sQUFDVCxxQkFBcUIsR2hERWxCLGFBQWEsQ0FDZixVQUFVLENBa0JSLFdBQVcsQ2dEYkc7SXBFMERoQixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEd3RUN0QztJQVhULEFwRXdGTSxZb0V4Rk0sQUFDVCxxQkFBcUIsR2hERWxCLGFBQWEsQ0FDZixVQUFVLENBa0JSLFdBQVcsQXBCa0VWLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFb0UxRlAsQWhEeUNNLFlnRHpDTSxBQUNULHFCQUFxQixHaERFbEIsYUFBYSxDQUNmLFVBQVUsQ0FxQ1IsV0FBVyxHQUFHLFlBQVksQ2dENUJHO0lwRXNEL0IsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQztJRTZDekMsWUFBb0IsRUFBUyxDQUFDLEdzRXZDM0I7SUFoQlQsQXBFd0ZNLFlvRXhGTSxBQUNULHFCQUFxQixHaERFbEIsYUFBYSxDQUNmLFVBQVUsQ0FxQ1IsV0FBVyxHQUFHLFlBQVksQXBCK0N6QixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7O0FxRTFGUCxBQUdJLGNBSFUsQUFDWCxxQkFBcUIsR0FFaEIsWUFBWSxDQUFDO0VBQ2YsV0FBVyxFQUFFLEdBQUcsR0FLakI7RUFUTCxBQU1NLGNBTlEsQUFDWCxxQkFBcUIsR0FFaEIsWUFBWSxDQUdkLFVBQVUsQ0FBQztJQUNULGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQVJQLEFBV0ksY0FYVSxBQUNYLHFCQUFxQixHQVVoQixhQUFhLENBQUM7RUFDaEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFQUFFLElBQUksR0FrQ2pCO0VBL0NMLEFBZU0sY0FmUSxBQUNYLHFCQUFxQixHQVVoQixhQUFhLENBSWYsVUFBVSxDQUFDO0lyRW9EYixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0l5RU92QyxhQUFhLEV6RUZYLE9BQXNDLEd5RStCekM7SUE5Q1AsQXJFd0ZNLGNxRXhGUSxBQUNYLHFCQUFxQixHQVVoQixhQUFhLENBSWYsVUFBVSxBckV5RVQsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lxRTFGUCxBQW1CUSxjQW5CTSxBQUNYLHFCQUFxQixHQVVoQixhQUFhLENBSWYsVUFBVSxBQUlQLFVBQVcsQ0FBQSxFQUFFLEVBQUU7TXZFb0NsQixZQUFvQixFQUFTLENBQUMsR3VFbEMzQjtJQXJCVCxBQXVCUSxjQXZCTSxBQUNYLHFCQUFxQixHQVVoQixhQUFhLENBSWYsVUFBVSxBQVFQLFVBQVcsQ0FBQSxNQUFNLEVBQUU7TUFDbEIsS0FBSyxFQUFFLElBQUksR0FDWjtJeEQyQkwsQUFBQSxPQUFPLEN3RHBEWCxjQUFjLEFBQ1gscUJBQXFCLEdBVWhCLGFBQWEsQ0FJZixVQUFVLEN4RHFDRjtNYmVWLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsR2lCK0MxQztNQUxELEFib0NFLE9hcENLLEN3RHBEWCxjQUFjLEFBQ1gscUJBQXFCLEdBVWhCLGFBQWEsQ0FJZixVQUFVLEFyRXlFVCxXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7TWF0Q0gsQXdEdEJNLE94RHNCQyxDd0RwRFgsY0FBYyxBQUNYLHFCQUFxQixHQVVoQixhQUFhLENBSWYsVUFBVSxBQWVMLFVBQVcsQ0FBQSxFQUFFLEVBQUU7UUFDZCxZQUFZLEV6RWhCZCxPQUFzQyxHeUVpQnJDO014RG9CUCxBd0RsQk0sT3hEa0JDLEN3RHBEWCxjQUFjLEFBQ1gscUJBQXFCLEdBVWhCLGFBQWEsQ0FJZixVQUFVLEFBbUJMLFVBQVcsQ0FBQSxNQUFNLEVBQUU7UUFDbEIsS0FBSyxFQUFFLElBQUksR0FDWjtNeERnQlAsQXdEZE0sT3hEY0MsQ3dEcERYLGNBQWMsQUFDWCxxQkFBcUIsR0FVaEIsYUFBYSxDQUlmLFVBQVUsQUF1QkwsVUFBVyxDQUFBLEVBQUUsRUFBRTtRdkVpQnBCLFlBQW9CLEVBQVMsQ0FBQyxHdUVmekI7TXhEWVAsQXdEVk0sT3hEVUMsQ3dEcERYLGNBQWMsQUFDWCxxQkFBcUIsR0FVaEIsYUFBYSxDQUlmLFVBQVUsQUEyQkwsVUFBVyxDQUFBLE1BQU0sRUFBRTtRQUNsQixLQUFLLEVBQUUsSUFBSSxHQUNaO0l4RGlCUCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO013RDdEcEMsQUFlTSxjQWZRLEFBQ1gscUJBQXFCLEdBVWhCLGFBQWEsQ0FJZixVQUFVLENBQUM7UXJFb0RiLEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7UUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsR3lFb0N4QztRQTlDUCxBckV3Rk0sY3FFeEZRLEFBQ1gscUJBQXFCLEdBVWhCLGFBQWEsQ0FJZixVQUFVLEFyRXlFVCxXQUFXLENBQUM7VUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7UXFFMUZQLEFBbUJRLGNBbkJNLEFBQ1gscUJBQXFCLEdBVWhCLGFBQWEsQ0FJZixVQUFVLEFBSVAsVUFBVyxDQUFBLEVBQUUsRUFXSTtVQUNkLFlBQVksRXpFaEJkLE9BQXNDLEd5RWlCckM7UUFoQ1gsQUF1QlEsY0F2Qk0sQUFDWCxxQkFBcUIsR0FVaEIsYUFBYSxDQUlmLFVBQVUsQUFRUCxVQUFXLENBQUEsTUFBTSxFQVdJO1VBQ2xCLEtBQUssRUFBRSxJQUFJLEdBQ1o7UUFwQ1gsQUFzQ1UsY0F0Q0ksQUFDWCxxQkFBcUIsR0FVaEIsYUFBYSxDQUlmLFVBQVUsQUF1QkwsVUFBVyxDQUFBLEVBQUUsRUFBRTtVdkVpQnBCLFlBQW9CLEVBQVMsQ0FBQyxHdUVmekI7UUF4Q1gsQUEwQ1UsY0ExQ0ksQUFDWCxxQkFBcUIsR0FVaEIsYUFBYSxDQUlmLFVBQVUsQUEyQkwsVUFBVyxDQUFBLE1BQU0sRUFBRTtVQUNsQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQzVDWCxBQUNFLFVBRFEsQ0FDUixhQUFhO0FBRGYsVUFBVSxDQUVSLFlBQVksQ0FBQztFQUNYLE9BQU8sRUFBRSxNQUFNLEdBQ2hCOztBQUpILEFBTUUsVUFOUSxDQU1SLFVBQVU7QUFOWixVQUFVLENBT1IsWUFBWSxDQUFDO0VBQ1gsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsWUFBWTtFQUNyQixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBTVg7RUFqQkgsQUFhSSxVQWJNLENBTVIsVUFBVSxDQU9SLENBQUM7RUFiTCxVQUFVLENBT1IsWUFBWSxDQU1WLENBQUMsQ0FBQztJekRtR0osU0FBUyxFSHhGTSxJQUFJO0lHeUZuQixTQUFTLEVBQUUsSUFBZ0M7SUc1RzNDLFVBQVUsRU5JQyxPQUFPO0lNSGxCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsVUFBVSxFQUFFLElBQUk7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxXQUFXLEVBQUUsR0FBRztJQUNoQixPQUFPLEVBQUUsWUFBWTtJQUNyQixXQUFXLEVBQUUsQ0FBQztJQUNkLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFVBQVUsRUFBRSwyQ0FBMkM7SUFDdkQsYUFBYSxFQUFFLDJDQUEyQztJQUMxRCxjQUFjLEVBQUUsMkNBQTJDO0lBQzNELHNCQUFzQixFQUFFLFdBQVc7SXNESi9CLE1BQU0sRUFBRSxXQUFXLEdBQ3BCO0lBaEJMLEF0RHFCRSxVc0RyQlEsQ0FNUixVQUFVLENBT1IsQ0FBQyxBdERRRixPQUFPLEVzRHJCVixVQUFVLENBTVIsVUFBVSxDQU9SLENBQUMsQXREU0YsTUFBTSxFc0R0QlQsVUFBVSxDQU1SLFVBQVUsQ0FPUixDQUFDLEF0RFVGLE1BQU07SXNEdkJULFVBQVUsQ0FPUixZQUFZLENBTVYsQ0FBQyxBdERRRixPQUFPO0lzRHJCVixVQUFVLENBT1IsWUFBWSxDQU1WLENBQUMsQXREU0YsTUFBTTtJc0R0QlQsVUFBVSxDQU9SLFlBQVksQ0FNVixDQUFDLEF0RFVGLE1BQU0sQ0FBQztNQUNOLFVBQVUsRU5oQk4sT0FBTztNTWlCWCxLQUFLLEVObEJJLElBQUk7TU1tQmIsT0FBTyxFQUFFLElBQUksR0FDZDs7QXNETkgsQUFBQSxVQUFVLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUSxHQVluQjtFQWJELEFBRUcsVUFGTyxHQUVMLFlBQVksQ0FBQztJQUNiLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsS0FBSyxFQUFFLENBQUMsR0FPVjtJQVpILEFBT0ssVUFQSyxHQUVMLFlBQVksQ0FLWixlQUFlLENBQUMsQ0FBQyxDQUFDO01BQ2hCLGNBQWMsRUFBRSxTQUFTO01BQ3pCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBQ2hDTixBQUVJLGFBRlMsQUFDVixxQkFBcUIsR0FDaEIsYUFBYTtBQUZyQixhQUFhLEFBQ1YscUJBQXFCLEdBRWhCLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQztFQUN0QyxRQUFRLEVBQUUsTUFBTTtFQUNoQixVQUFVLEVBQUUsSUFBSSxHQWtDakI7RUF2Q0wsQUFPTSxhQVBPLEFBQ1YscUJBQXFCLEdBQ2hCLGFBQWEsQ0FLZixVQUFVO0VBUGhCLGFBQWEsQUFDVixxQkFBcUIsR0FFaEIsWUFBWSxDQUFDLHNCQUFzQixDQUlyQyxVQUFVLENBQUM7SXZFNERiLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7STJFRHZDLGFBQWEsRTNFTVgsT0FBc0MsRzJFdUJ6QztJQXRDUCxBdkV3Rk0sYXVFeEZPLEFBQ1YscUJBQXFCLEdBQ2hCLGFBQWEsQ0FLZixVQUFVLEF2RWlGVCxXQUFXO0l1RXhGbEIsYUFBYSxBQUNWLHFCQUFxQixHQUVoQixZQUFZLENBQUMsc0JBQXNCLENBSXJDLFVBQVUsQXZFaUZULFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJdUUxRlAsQUFXUSxhQVhLLEFBQ1YscUJBQXFCLEdBQ2hCLGFBQWEsQ0FLZixVQUFVLEFBSVAsVUFBVyxDQUFBLEVBQUU7SUFYdEIsYUFBYSxBQUNWLHFCQUFxQixHQUVoQixZQUFZLENBQUMsc0JBQXNCLENBSXJDLFVBQVUsQUFJUCxVQUFXLENBQUEsRUFBRSxFQUFFO016RTRDbEIsWUFBb0IsRUFBUyxDQUFDLEd5RTFDM0I7SUFiVCxBQWVRLGFBZkssQUFDVixxQkFBcUIsR0FDaEIsYUFBYSxDQUtmLFVBQVUsQUFRUCxVQUFXLENBQUEsTUFBTTtJQWYxQixhQUFhLEFBQ1YscUJBQXFCLEdBRWhCLFlBQVksQ0FBQyxzQkFBc0IsQ0FJckMsVUFBVSxBQVFQLFVBQVcsQ0FBQSxNQUFNLEVBQUU7TUFDbEIsS0FBSyxFQUFFLElBQUksR0FDWjtJMURtQ0wsQUFBQSxPQUFPLEMwRHBEWCxhQUFhLEFBQ1YscUJBQXFCLEdBQ2hCLGFBQWEsQ0FLZixVQUFVLEUxRDZDWixPQUFPO0kwRHBEWCxhQUFhLEFBQ1YscUJBQXFCLEdBRWhCLFlBQVksQ0FBQyxzQkFBc0IsQ0FJckMsVUFBVSxDMUQ2Q0Y7TWJlVixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdpQitDMUM7TUFMRCxBYm9DRSxPYXBDSyxDMERwRFgsYUFBYSxBQUNWLHFCQUFxQixHQUNoQixhQUFhLENBS2YsVUFBVSxBdkVpRlQsV0FBVyxFYXBDZCxPQUFPO00wRHBEWCxhQUFhLEFBQ1YscUJBQXFCLEdBRWhCLFlBQVksQ0FBQyxzQkFBc0IsQ0FJckMsVUFBVSxBdkVpRlQsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO01hdENILEEwRDlCTSxPMUQ4QkMsQzBEcERYLGFBQWEsQUFDVixxQkFBcUIsR0FDaEIsYUFBYSxDQUtmLFVBQVUsQUFlTCxVQUFXLENBQUEsRUFBRSxHMUQ4QnBCLE9BQU87TTBEcERYLGFBQWEsQUFDVixxQkFBcUIsR0FFaEIsWUFBWSxDQUFDLHNCQUFzQixDQUlyQyxVQUFVLEFBZUwsVUFBVyxDQUFBLEVBQUUsRUFBRTtRQUNkLFlBQVksRTNFUmQsT0FBc0MsRzJFU3JDO00xRDRCUCxBMEQxQk0sTzFEMEJDLEMwRHBEWCxhQUFhLEFBQ1YscUJBQXFCLEdBQ2hCLGFBQWEsQ0FLZixVQUFVLEFBbUJMLFVBQVcsQ0FBQSxNQUFNLEcxRDBCeEIsT0FBTztNMERwRFgsYUFBYSxBQUNWLHFCQUFxQixHQUVoQixZQUFZLENBQUMsc0JBQXNCLENBSXJDLFVBQVUsQUFtQkwsVUFBVyxDQUFBLE1BQU0sRUFBRTtRQUNsQixLQUFLLEVBQUUsSUFBSSxHQUNaO00xRHdCUCxBMER0Qk0sTzFEc0JDLEMwRHBEWCxhQUFhLEFBQ1YscUJBQXFCLEdBQ2hCLGFBQWEsQ0FLZixVQUFVLEFBdUJMLFVBQVcsQ0FBQSxFQUFFLEcxRHNCcEIsT0FBTztNMERwRFgsYUFBYSxBQUNWLHFCQUFxQixHQUVoQixZQUFZLENBQUMsc0JBQXNCLENBSXJDLFVBQVUsQUF1QkwsVUFBVyxDQUFBLEVBQUUsRUFBRTtRekV5QnBCLFlBQW9CLEVBQVMsQ0FBQyxHeUV2QnpCO00xRG9CUCxBMERsQk0sTzFEa0JDLEMwRHBEWCxhQUFhLEFBQ1YscUJBQXFCLEdBQ2hCLGFBQWEsQ0FLZixVQUFVLEFBMkJMLFVBQVcsQ0FBQSxNQUFNLEcxRGtCeEIsT0FBTztNMERwRFgsYUFBYSxBQUNWLHFCQUFxQixHQUVoQixZQUFZLENBQUMsc0JBQXNCLENBSXJDLFVBQVUsQUEyQkwsVUFBVyxDQUFBLE1BQU0sRUFBRTtRQUNsQixLQUFLLEVBQUUsSUFBSSxHQUNaO0kxRHlCUCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO00wRDdEcEMsQUFPTSxhQVBPLEFBQ1YscUJBQXFCLEdBQ2hCLGFBQWEsQ0FLZixVQUFVO01BUGhCLGFBQWEsQUFDVixxQkFBcUIsR0FFaEIsWUFBWSxDQUFDLHNCQUFzQixDQUlyQyxVQUFVLENBQUM7UXZFNERiLEtBQUssRUFBQyxJQUFDO1FBR0wsT0FBTyxFQUFFLEtBQUs7UUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7UUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsRzJFNEJ4QztRQXRDUCxBdkV3Rk0sYXVFeEZPLEFBQ1YscUJBQXFCLEdBQ2hCLGFBQWEsQ0FLZixVQUFVLEF2RWlGVCxXQUFXO1F1RXhGbEIsYUFBYSxBQUNWLHFCQUFxQixHQUVoQixZQUFZLENBQUMsc0JBQXNCLENBSXJDLFVBQVUsQXZFaUZULFdBQVcsQ0FBQztVQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtRdUUxRlAsQUFXUSxhQVhLLEFBQ1YscUJBQXFCLEdBQ2hCLGFBQWEsQ0FLZixVQUFVLEFBSVAsVUFBVyxDQUFBLEVBQUU7UUFYdEIsYUFBYSxBQUNWLHFCQUFxQixHQUVoQixZQUFZLENBQUMsc0JBQXNCLENBSXJDLFVBQVUsQUFJUCxVQUFXLENBQUEsRUFBRSxFQVdJO1VBQ2QsWUFBWSxFM0VSZCxPQUFzQyxHMkVTckM7UUF4QlgsQUFlUSxhQWZLLEFBQ1YscUJBQXFCLEdBQ2hCLGFBQWEsQ0FLZixVQUFVLEFBUVAsVUFBVyxDQUFBLE1BQU07UUFmMUIsYUFBYSxBQUNWLHFCQUFxQixHQUVoQixZQUFZLENBQUMsc0JBQXNCLENBSXJDLFVBQVUsQUFRUCxVQUFXLENBQUEsTUFBTSxFQVdJO1VBQ2xCLEtBQUssRUFBRSxJQUFJLEdBQ1o7UUE1QlgsQUE4QlUsYUE5QkcsQUFDVixxQkFBcUIsR0FDaEIsYUFBYSxDQUtmLFVBQVUsQUF1QkwsVUFBVyxDQUFBLEVBQUU7UUE5QnhCLGFBQWEsQUFDVixxQkFBcUIsR0FFaEIsWUFBWSxDQUFDLHNCQUFzQixDQUlyQyxVQUFVLEFBdUJMLFVBQVcsQ0FBQSxFQUFFLEVBQUU7VXpFeUJwQixZQUFvQixFQUFTLENBQUMsR3lFdkJ6QjtRQWhDWCxBQWtDVSxhQWxDRyxBQUNWLHFCQUFxQixHQUNoQixhQUFhLENBS2YsVUFBVSxBQTJCTCxVQUFXLENBQUEsTUFBTTtRQWxDNUIsYUFBYSxBQUNWLHFCQUFxQixHQUVoQixZQUFZLENBQUMsc0JBQXNCLENBSXJDLFVBQVUsQUEyQkwsVUFBVyxDQUFBLE1BQU0sRUFBRTtVQUNsQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQXBDWCxBQTBDRSxhQTFDVyxBQTBDVixzQkFBc0IsQ0FBQztFQUN0QixNQUFNLEVBQUUsbUJBQW1CLEdBK0I1QjtFQTFFSCxBQTZDSSxhQTdDUyxBQTBDVixzQkFBc0IsQ0FHckIsRUFBRSxFQTdDTixhQUFhLEFBMENWLHNCQUFzQixDckMxQ3pCLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDQVFWLGFBQWEsRUExQm5CLGlCQUFpQixBQUNkLGlDQUFpQyxDQWlCaEMsWUFBWSxDcUNsQmhCLGFBQWEsQUEwQ1Ysc0JBQXNCLENyQ2hCbkIsYUFBYSxFcUMxQm5CLGFBQWEsQUEwQ1Ysc0JBQXNCLENyQzFDekIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0FnRG5DLHFCQUFxQixDQUduQixLQUFLLEVBOUZiLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBZ0RuQyxxQkFBcUIsQ3FDM0YzQixhQUFhLEFBMENWLHNCQUFzQixDckNvRGpCLEtBQUssRXFDOUZiLGFBQWEsQUEwQ1Ysc0JBQXNCLENyQzFDekIsaUJBQWlCLEFBQ2QsaUNBQWlDLENBMENoQyxxQ0FBcUMsQ0E2RG5DLFlBQVksQ0FNVixnQkFBZ0IsQ0FLZCxLQUFLLEVBbkhmLGlCQUFpQixBQUNkLGlDQUFpQyxDQTBDaEMscUNBQXFDLENBNkRuQyxZQUFZLENBTVYsZ0JBQWdCLENxQzlHeEIsYUFBYSxBQTBDVixzQkFBc0IsQ3JDeUVmLEtBQUssRXFDbkhmLGFBQWEsQUEwQ1Ysc0JBQXNCLENBa0N2QixtQkFBbUIsQ0FHakIsS0FBSyxFQS9FVCxhQUFhLEFBMENWLHNCQUFzQixDSTFDekIsY0FBYyxDQWdFWixnQ0FBZ0MsQ0FFOUIsTUFBTSxFQWxFVixjQUFjLENBZ0VaLGdDQUFnQyxDSmhFbEMsYUFBYSxBQTBDVixzQkFBc0IsQ0l3QnJCLE1BQU0sQ0pyQkg7SUFDRCxjQUFjLEVBQUUsU0FBUztJQUN6QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQWhETCxBQWtESSxhQWxEUyxBQTBDVixzQkFBc0IsQ0FRckIsc0JBQXNCLENBQUM7SUFDckIsY0FBYyxFQUFFLElBQUksR0FDckI7RUFwREwsQUFzREksYUF0RFMsQUEwQ1Ysc0JBQXNCLENBWXJCLHdCQUF3QixDQUFDO0lBQ3ZCLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLENBQUM7SUFDVCxJQUFJLEVBQUUsQ0FBQztJQUNQLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBQ3JCO0VBN0RMLEFBK0RJLGFBL0RTLEFBMENWLHNCQUFzQixDQXFCckIsZUFBZSxDQUFDO0lBQ2QsT0FBTyxFQUFFLElBQUksR0FDZDtFQWpFTCxBQW1FSSxhQW5FUyxBQTBDVixzQkFBc0IsQ0F5QnJCLFVBQVUsQUFBQSxXQUFXLENBQUM7SUFDcEIsT0FBTyxFQUFFLGVBQWUsR0FLekI7STFEckJELEFBQUEsT0FBTyxDMERwRFgsYUFBYSxBQTBDVixzQkFBc0IsQ0F5QnJCLFVBQVUsQUFBQSxXQUFXLEMxRGZYO00wRG1CTixPQUFPLEVBQUUsZ0JBQWdCLEcxRGQ1QjtJQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTBEN0RwQyxBQW1FSSxhQW5FUyxBQTBDVixzQkFBc0IsQ0F5QnJCLFVBQVUsQUFBQSxXQUFXLENBQUM7UUFJbEIsT0FBTyxFQUFFLGdCQUFnQixHQUU1Qjs7QUF6RUwsQUE0RUUsYUE1RVcsQ0E0RVgsbUJBQW1CLENBQUM7RUFDbEIsVUFBVSxFQUFFLElBQUksR0FvRGpCO0VBaklILEFBK0VJLGFBL0VTLENBNEVYLG1CQUFtQixDQUdqQixLQUFLLENBQUM7SUFFSixjQUFjLEVBQUUsU0FBUztJQUN6QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQW5GTCxBQXFGSSxhQXJGUyxDQTRFWCxtQkFBbUIsQ0FTakIsYUFBYSxDQUFDO0lBQ1osbUJBQW1CLEVBQUUsT0FBTztJQUM1QixPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxLQUFLO0lBQ1osU0FBUyxFQUFFLEtBQUssR0FNakI7SUFoR0wsQUE0Rk0sYUE1Rk8sQ0E0RVgsbUJBQW1CLENBU2pCLGFBQWEsQ0FPWCxNQUFNLENBQUM7TUFDTCxLQUFLLEVBQUUsS0FBSztNQUNaLFNBQVMsRUFBRSxlQUFlLEdBQzNCO0VBL0ZQLEFBa0dJLGFBbEdTLENBNEVYLG1CQUFtQixDQXNCakIsb0JBQW9CO0VBbEd4QixhQUFhLENBNEVYLG1CQUFtQixDQXVCakIsYUFBYSxDQUFDO0lBQ1osT0FBTyxFQUFFLFlBQVksR0FRdEI7SUE1R0wsQUFzR00sYUF0R08sQ0E0RVgsbUJBQW1CLENBc0JqQixvQkFBb0IsQ0FJbEIsS0FBSyxBQUFBLE9BQU87SUF0R2xCLGFBQWEsQ0E0RVgsbUJBQW1CLENBdUJqQixhQUFhLENBR1gsS0FBSyxBQUFBLE9BQU8sQ0FBQztNQUNYLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLFlBQVk7TUFDcEIsT0FBTyxFQUFFLE1BQU07TUFDZixNQUFNLEVBQUUsSUFBSSxHQUNiO0VBM0dQLEFBOEdJLGFBOUdTLENBNEVYLG1CQUFtQixDQWtDakIsdUJBQXVCLENBQUM7SUFDdEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsWUFBWSxFQUFFLElBQUk7SUFDbEIsT0FBTyxFQUFFLEtBQUssR0FlZjtJMUQ1RUQsQUFBQSxPQUFPLEMwRHBEWCxhQUFhLENBNEVYLG1CQUFtQixDQWtDakIsdUJBQXVCLEMxRDFEYjtNMERnRU4sT0FBTyxFQUFFLFlBQVk7TUFDckIsS0FBSyxFQUFFLElBQUksRzFENURkO0lBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztNMEQ3RHBDLEFBOEdJLGFBOUdTLENBNEVYLG1CQUFtQixDQWtDakIsdUJBQXVCLENBQUM7UUFNcEIsT0FBTyxFQUFFLFlBQVk7UUFDckIsS0FBSyxFQUFFLElBQUksR0FXZDtJQWhJTCxBQXdITSxhQXhITyxDQTRFWCxtQkFBbUIsQ0FrQ2pCLHVCQUF1QixDQVVyQixLQUFLLEFBQUEsVUFBVSxDQUFDO01BQ2QsS0FBSyxFQUFFLEtBQUs7TUFDWixTQUFTLEVBQUUsSUFBSSxHQUtoQjtNMUQzRUgsQUFBQSxPQUFPLEMwRHBEWCxhQUFhLENBNEVYLG1CQUFtQixDQWtDakIsdUJBQXVCLENBVXJCLEtBQUssQUFBQSxVQUFVLEMxRHBFUDtRMER5RUosS0FBSyxFQUFFLEtBQUssRzFEcEVqQjtNQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7UTBEN0RwQyxBQXdITSxhQXhITyxDQTRFWCxtQkFBbUIsQ0FrQ2pCLHVCQUF1QixDQVVyQixLQUFLLEFBQUEsVUFBVSxDQUFDO1VBS1osS0FBSyxFQUFFLEtBQUssR0FFZjs7QUMvSFAsQUFDRSxJQURFLEFBQUEsaUJBQWlCLENBQ25CLHFCQUFxQixDQUFDO0VBQ3BCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBR0gsQUFJRSxrQkFKZ0IsQ0FJaEIsYUFBYSxDQUFDO0VBQ1osV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLElBQUk7RUFDcEIsS0FBSyxFQUFFLEtBQUssR0FNYjtFQWJILEFBU0ksa0JBVGMsQ0FJaEIsYUFBYSxDQUtYLGFBQWEsQ0FBQztJQUNaLEtBQUssRUFBRSxLQUFLO0lBQ1osU0FBUyxFQUFFLEtBQUssR0FDakI7O0FBWkwsQUFlRSxrQkFmZ0IsQ0FlaEIsYUFBYSxDQUFDO0VBQ1osS0FBSyxFQUFFLElBQUksR0FDWjs7QUFqQkgsQUFtQkUsa0JBbkJnQixBQW1CZixXQUFXLENBQUM7RUFDWCxLQUFLLEVBQUUsSUFBSSxHQXVCWjtFQTNDSCxBQXNCSSxrQkF0QmMsQUFtQmYsV0FBVyxDQUdWLGFBQWEsQ0FBQztJQUVaLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLG1CQUFtQjtJQUNuQyxRQUFRLEVBQUUsSUFBSSxHQWdCZjtJM0RJRCxBQUFBLE9BQU8sQzJEOUNYLGtCQUFrQixBQW1CZixXQUFXLENBR1YsYUFBYSxDM0R3Qkg7TTJEakJOLHFCQUFxQixFQUFFLGNBQWM7TUFDckMsUUFBUSxFQUFFLElBQUksRzNEcUJqQjtJQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTJEdkRwQyxBQXNCSSxrQkF0QmMsQUFtQmYsV0FBVyxDQUdWLGFBQWEsQ0FBQztRQU9WLHFCQUFxQixFQUFFLGNBQWM7UUFDckMsUUFBUSxFQUFFLElBQUksR0FZakI7STNESUQsQUFBQSxPQUFPLEMyRDlDWCxrQkFBa0IsQUFtQmYsV0FBVyxDQUdWLGFBQWEsQzNEd0JIO00yRFpOLHFCQUFxQixFQUFFLGNBQWM7TUFDckMsUUFBUSxFQUFFLElBQUksRzNEZ0JqQjtJQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTJEdkRwQyxBQXNCSSxrQkF0QmMsQUFtQmYsV0FBVyxDQUdWLGFBQWEsQ0FBQztRQVlWLHFCQUFxQixFQUFFLGNBQWM7UUFDckMsUUFBUSxFQUFFLElBQUksR0FPakI7SUExQ0wsQUFzQ00sa0JBdENZLEFBbUJmLFdBQVcsQ0FHVixhQUFhLENBZ0JYLFVBQVUsQUFBQSxZQUFZLENBQUM7TUFDckIsV0FBVyxFQUFFLEtBQUs7TUFDbEIsUUFBUSxFQUFFLEtBQUssR0FDaEI7O0FBS1AsQUFBQSxhQUFhLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEFBQUEsTUFBTSxDQUFDO0VBQ3pELEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBRUQsQUFFRSxhQUZXLENBRVgsYUFBYSxDQUFDO0VBQ1osTUFBTSxFQUFDLE1BQU07RUFDYixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxNQUFNLEdBQ3hCOztBQU5ILEFBUUUsYUFSVyxDQVFYLFdBQVcsQ0FBQztFM0RnRFosU0FBUyxFSHhGTSxJQUFJO0VHeUZuQixTQUFTLEVBQUUsSUFBZ0M7RUc1RzNDLFVBQVUsRU5JQyxPQUFPO0VNSGxCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLElBQUk7RUFDaEIsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsR0FBRztFQUNoQixPQUFPLEVBQUUsWUFBWTtFQUNyQixXQUFXLEVBQUUsQ0FBQztFQUNkLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLFVBQVUsRUFBRSwyQ0FBMkM7RUFDdkQsYUFBYSxFQUFFLDJDQUEyQztFQUMxRCxjQUFjLEVBQUUsMkNBQTJDO0VBQzNELHNCQUFzQixFQUFFLFdBQVc7RXdEK0NqQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEVBQUUsbUJBQW1CO0VBQzVCLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFQUFFLElBQUksR0FZakI7RUExQkgsQXhEbkNFLGF3RG1DVyxDQVFYLFdBQVcsQXhEM0NWLE9BQU8sRXdEbUNWLGFBQWEsQ0FRWCxXQUFXLEF4RDFDVixNQUFNLEV3RGtDVCxhQUFhLENBUVgsV0FBVyxBeER6Q1YsTUFBTSxDQUFDO0lBQ04sVUFBVSxFTmhCTixPQUFPO0lNaUJYLEtBQUssRU5sQkksSUFBSTtJTW1CYixPQUFPLEVBQUUsSUFBSSxHQUNkO0V3RDZCSCxBQWlCSSxhQWpCUyxDQVFYLFdBQVcsQUFTUixNQUFNLENBQUM7STdEcERWLFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsTUFBTTtJQUNuQixZQUFZLEVBQUUsTUFBTTtJQUNwQixjQUFjLEVBQUUsSUFBSTtJQUNwQixXQUFXLEVBQUUsQ0FBQztJQUNkLHNCQUFzQixFQUFFLFdBQVc7SUFDbkMsdUJBQXVCLEVBQUUsU0FBUztJNkQrQzlCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxLQUFLLEdBQ2xCOztBQUtMLEFBT00sUUFQRSxDQUFDLEtBQUssQUFBQSxxQkFBcUIsQ0FJakMsYUFBYSxDQUVYLGFBQWEsQ0FDWCxDQUFDLENBQUM7RUFDQSxVQUFVLEVBQUUsaUJBQWlCO0VBQzdCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztFQUNoQixPQUFPLEVBQUUsU0FBUztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixjQUFjLEVBQUUsU0FBUztFQUN6QixLQUFLLEU5RDdGTCxPQUFPO0U4RDhGUCxlQUFlLEVBQUUsSUFBSSxHQVl0QjtFQTVCUCxBQWtCUSxRQWxCQSxDQUFDLEtBQUssQUFBQSxxQkFBcUIsQ0FJakMsYUFBYSxDQUVYLGFBQWEsQ0FDWCxDQUFDLEFBV0UsTUFBTSxDQUFDO0lBQ04sS0FBSyxFOURoR0YsT0FBTyxHOERpR1g7RUFwQlQsQUFzQlEsUUF0QkEsQ0FBQyxLQUFLLEFBQUEscUJBQXFCLENBSWpDLGFBQWEsQ0FFWCxhQUFhLENBQ1gsQ0FBQyxBQWVFLE9BQU8sQ0FBQztJQUNQLEtBQUssRTlEcEdGLE9BQU87SUNZbEIsV0FBVyxFQUFFLG9CQUFvQjtJQUNqQyxLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFlBQVksRUFBRSxNQUFNO0lBQ3BCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFdBQVcsRUFBRSxDQUFDO0lBQ2Qsc0JBQXNCLEVBQUUsV0FBVztJQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0k2RG1GMUIsS0FBSyxFQUFFLEtBQUssR0FDYjs7QVRwR1QsQUFHRSxpQkFIZSxDQUdmLENBQUM7QUFGSCxrQkFBa0IsQ0FFaEIsQ0FBQztBQURILGdCQUFnQixDQUNkLENBQUMsQ0FBQztFQUNBLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBUEgsQUFTRSxpQkFUZSxDQVNmLENBQUMsQUFBQSxNQUFNO0FBUlQsa0JBQWtCLENBUWhCLENBQUMsQUFBQSxNQUFNO0FBUFQsZ0JBQWdCLENBT2QsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUNOLEtBQUssRXJEZkQsT0FBTyxHcURnQlo7O0FBR0gsQUFBQSxLQUFLLENBQUMsTUFBTSxDQUFDO0VBQ1gsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQyxHQWtCWDtFQXJCRCxBQUtFLEtBTEcsQ0FBQyxNQUFNLENBS1YsRUFBRSxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBQUUsQ0FBQyxHQWFYO0lBcEJILEFBU0ksS0FUQyxDQUFDLE1BQU0sQ0FLVixFQUFFLENBSUEsQ0FBQyxDQUFDO01sRDRFSixTQUFTLEVIeEZNLElBQUk7TUd5Rm5CLFNBQVMsRUFBRSxJQUFnQztNRzVHM0MsVUFBVSxFTklDLE9BQU87TU1IbEIsTUFBTSxFQUFFLENBQUM7TUFDVCxVQUFVLEVBQUUsSUFBSTtNQUNoQixLQUFLLEVBQUUsSUFBSTtNQUNYLFdBQVcsRUFBRSxHQUFHO01BQ2hCLE9BQU8sRUFBRSxZQUFZO01BQ3JCLFdBQVcsRUFBRSxDQUFDO01BQ2QsT0FBTyxFQUFFLFlBQVk7TUFDckIsZUFBZSxFQUFFLElBQUk7TUFDckIsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLFNBQVM7TUFDekIsVUFBVSxFQUFFLDJDQUEyQztNQUN2RCxhQUFhLEVBQUUsMkNBQTJDO01BQzFELGNBQWMsRUFBRSwyQ0FBMkM7TUFDM0Qsc0JBQXNCLEVBQUUsV0FBVyxHK0MyQmhDO01BbkJMLEEvQ05FLEsrQ01HLENBQUMsTUFBTSxDQUtWLEVBQUUsQ0FJQSxDQUFDLEEvQ2ZGLE9BQU8sRStDTVYsS0FBSyxDQUFDLE1BQU0sQ0FLVixFQUFFLENBSUEsQ0FBQyxBL0NkRixNQUFNLEUrQ0tULEtBQUssQ0FBQyxNQUFNLENBS1YsRUFBRSxDQUlBLENBQUMsQS9DYkYsTUFBTSxDQUFDO1FBQ04sVUFBVSxFTmhCTixPQUFPO1FNaUJYLEtBQUssRU5sQkksSUFBSTtRTW1CYixPQUFPLEVBQUUsSUFBSSxHQUNkO00rQ0FILEFBWU0sS0FaRCxDQUFDLE1BQU0sQ0FLVixFQUFFLENBSUEsQ0FBQyxBQUdFLE1BQU0sQ0FBQztRcERsQlosV0FBVyxFQUFFLG9CQUFvQjtRQUNqQyxLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFlBQVksRUFBRSxNQUFNO1FBQ3BCLGNBQWMsRUFBRSxJQUFJO1FBQ3BCLFdBQVcsRUFBRSxDQUFDO1FBQ2Qsc0JBQXNCLEVBQUUsV0FBVztRQUNuQyx1QkFBdUIsRUFBRSxTQUFTO1FvRGE1QixRQUFRLEVBQUUsUUFBUTtRQUNsQixNQUFNLEVBQUUsSUFBSTtRQUNaLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUtQLEFBQUEsV0FBVyxDQUFDO0VBQ1YsTUFBTSxFQUFFLEtBQUssR0FDZDs7QVdwREQsQUFDRSxVQURRLENBQ1IsS0FBSyxDQUFDO0VBQ0osYUFBYSxFQUFFLEdBQUc7RUFDbEIsS0FBSyxFQUFFLElBQUksR0FxQlo7RUF4QkgsQUFLSSxVQUxNLENBQ1IsS0FBSyxDQUlILEVBQUUsQ0FBQztJQUNELFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFdBQVcsRUFBRSxJQUFJLEdBT2xCO0lBZEwsQUFTTSxVQVRJLENBQ1IsS0FBSyxDQUlILEVBQUUsQ0FJQSxHQUFHLENBQUM7TUFDRixZQUFZLEVBQUUsSUFBSTtNQUNsQixjQUFjLEVBQUUsSUFBSTtNQUNwQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2hFSnhCLE9BQU8sR2dFS1I7RUFiUCxBQWdCSSxVQWhCTSxDQUNSLEtBQUssQ0FlSCxFQUFFLENBQUM7SUFDRCxPQUFPLEVBQUUsVUFBVSxHQU1wQjtJQXZCTCxBQW9CTSxVQXBCSSxDQUNSLEtBQUssQ0FlSCxFQUFFLEFBSUMsMEJBQTBCLENBQUM7TUFDMUIsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBS1AsQUFFRSx3QkFGc0IsQ0FFdEIsSUFBSSxDQUFDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtFQUN4QixTQUFTLEVBQUUsSUFBSSxHQUNoQjs7QUFHSCxBQUNFLDBCQUR3QixDQUN4QixhQUFhLENBQUM7RUFDWixPQUFPLEVBQUUsV0FBVyxHQUNyQjs7QUFISCxBQUtFLDBCQUx3QixDQUt4QixLQUFLLENBQUM7RUFDSixLQUFLLEVBQUUsSUFBSSxHQVVaO0VBaEJILEFBUUksMEJBUnNCLENBS3hCLEtBQUssQ0FHSCxFQUFFLENBQUM7SUFDRCxPQUFPLEVBQUUsY0FBYyxHQU14QjtJQWZMLEFBV00sMEJBWG9CLENBS3hCLEtBQUssQ0FHSCxFQUFFLEFBR0MsZ0NBQWdDLENBQUM7TUFDaEMsYUFBYSxFQUFFLENBQUM7TUFDaEIsVUFBVSxFQUFFLEtBQUssR0FDbEI7O0FBZFAsQUFvQkksMEJBcEJzQixDQWtCeEIsdUNBQXVDLENBRXJDLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBdEJMLEFBd0JJLDBCQXhCc0IsQ0FrQnhCLHVDQUF1QyxDQU1yQyxrQkFBa0IsQ0FBQztFQUNqQixTQUFTLEVBQUUsQ0FBQztFQUNaLE9BQU8sRUFBRSxDQUFDO0VBQ1YsV0FBVyxFQUFFLElBQUk7RUFDakIsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsYUFBYTtFQUNyQixZQUFZLEVBQUUsSUFBSTtFQUNsQixVQUFVLEVBQUUsdUJBQXVCLENBQUMsU0FBUztFQUM3QyxlQUFlLEVBQUUsS0FBSyxHQUN2Qjs7QUFqQ0wsQUFvQ0UsMEJBcEN3QixDQW9DeEIsWUFBWSxDQUFDO0VBQ1gsV0FBVyxFQUFFLElBQUksR0FLbEI7RUExQ0gsQUF1Q0ksMEJBdkNzQixDQW9DeEIsWUFBWSxDQUdWLE9BQU8sQ0FBQztJN0R1Q1YsU0FBUyxFSHhGTSxJQUFJO0lHeUZuQixTQUFTLEVBQUUsSUFBZ0M7SUc1RzNDLFVBQVUsRU5JQyxPQUFPO0lNSGxCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsVUFBVSxFQUFFLElBQUk7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxXQUFXLEVBQUUsR0FBRztJQUNoQixPQUFPLEVBQUUsWUFBWTtJQUNyQixXQUFXLEVBQUUsQ0FBQztJQUNkLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFVBQVUsRUFBRSwyQ0FBMkM7SUFDdkQsYUFBYSxFQUFFLDJDQUEyQztJQUMxRCxjQUFjLEVBQUUsMkNBQTJDO0lBQzNELHNCQUFzQixFQUFFLFdBQVcsRzBEd0RoQztJQXpDTCxBMURiRSwwQjBEYXdCLENBb0N4QixZQUFZLENBR1YsT0FBTyxBMURwRFIsT0FBTyxFMERhViwwQkFBMEIsQ0FvQ3hCLFlBQVksQ0FHVixPQUFPLEExRG5EUixNQUFNLEUwRFlULDBCQUEwQixDQW9DeEIsWUFBWSxDQUdWLE9BQU8sQTFEbERSLE1BQU0sQ0FBQztNQUNOLFVBQVUsRU5oQk4sT0FBTztNTWlCWCxLQUFLLEVObEJJLElBQUk7TU1tQmIsT0FBTyxFQUFFLElBQUksR0FDZDs7QTBEb0RILEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxLQUFLLEdBS2Q7RUFSRCxBQUtFLHVCQUxxQixDQUtyQixDQUFDLENBQUM7STdENEJGLFNBQVMsRUh4Rk0sSUFBSTtJR3lGbkIsU0FBUyxFQUFFLElBQWdDO0lHNUczQyxVQUFVLEVOSUMsT0FBTztJTUhsQixNQUFNLEVBQUUsQ0FBQztJQUNULFVBQVUsRUFBRSxJQUFJO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsV0FBVyxFQUFFLEdBQUc7SUFDaEIsT0FBTyxFQUFFLFlBQVk7SUFDckIsV0FBVyxFQUFFLENBQUM7SUFDZCxPQUFPLEVBQUUsWUFBWTtJQUNyQixlQUFlLEVBQUUsSUFBSTtJQUNyQixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsU0FBUztJQUN6QixVQUFVLEVBQUUsMkNBQTJDO0lBQ3ZELGFBQWEsRUFBRSwyQ0FBMkM7SUFDMUQsY0FBYyxFQUFFLDJDQUEyQztJQUMzRCxzQkFBc0IsRUFBRSxXQUFXLEcwRG1FbEM7SUFQSCxBMUQxREUsdUIwRDBEcUIsQ0FLckIsQ0FBQyxBMUQvREEsT0FBTyxFMEQwRFYsdUJBQXVCLENBS3JCLENBQUMsQTFEOURBLE1BQU0sRTBEeURULHVCQUF1QixDQUtyQixDQUFDLEExRDdEQSxNQUFNLENBQUM7TUFDTixVQUFVLEVOaEJOLE9BQU87TU1pQlgsS0FBSyxFTmxCSSxJQUFJO01NbUJiLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0EyRDNCSCxBQVNFLGNBVFksQ0FTWiw0QkFBNEIsQ0FBQztFQUMzQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQVhILEFBYUUsY0FiWSxDQWFaLGlDQUFpQyxDQUFDO0VBQ2hDLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBZkgsQUFpQkUsY0FqQlksQ0FpQlosUUFBUSxDQUFDO0VBQ1AsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsQ0FBQztFQUNWLGFBQWEsRUFBRSxJQUFJLEdBS3BCOztBQXpCSCxBQTJCRSxjQTNCWSxDQTJCWiwrQkFBK0IsQ0FBQztFQUM5QixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUE3QkgsQUErQkUsY0EvQlksQ0ErQlosYUFBYSxDQUFDLFVBQVUsQ0FBQztFQUN2QixPQUFPLEVBQUUsS0FBSztFQUNkLFlBQVksRUFBRSxDQUFDO0VBQ2YsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBbkNILEFBcUNFLGNBckNZLENBcUNaLGNBQWMsQ0FBQztFQUNiLGFBQWEsRUFBRSxHQUFHLEdBQ25COztBQXZDSCxBQXlDRSxjQXpDWSxDQXlDWixnQ0FBZ0MsQ0FBQztFQUMvQixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQTNDSCxBQThDSSxjQTlDVSxDQTZDWixzQ0FBc0MsQ0FDcEMsRUFBRSxFQTlDTixjQUFjLENBNkNaLHNDQUFzQyxDQTVDdEMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFEdkMsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBNENwQixzQ0FBc0MsQ0E1Q2pCLGdCQUFnQixDQTZDaEM7RUFFRCxhQUFhLEVBQUUsR0FBRyxHQUNuQjs7QUFqREwsQUFvRE0sY0FwRFEsQ0E2Q1osc0NBQXNDLENBTXBDLEtBQUssQ0FDSCxFQUFFLENBQUM7RUFDRCxPQUFPLEVBQUUsY0FBYyxHQU94QjtFQTVEUCxBQXVEUSxjQXZETSxDQTZDWixzQ0FBc0MsQ0FNcEMsS0FBSyxDQUNILEVBQUUsQUFHQyxnQ0FBZ0MsQ0FBQztJQUNoQyxZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsQ0FBQztJQUNoQixVQUFVLEVBQUUsS0FBSyxHQUNsQjs7QUEzRFQsQUFnRUUsY0FoRVksQ0FnRVosZ0NBQWdDLENBQUM7RUFDL0IsVUFBVSxFQUFFLEdBQUcsR0FLaEI7RUF0RUgsQUFrRUksY0FsRVUsQ0FnRVosZ0NBQWdDLENBRTlCLE1BQU0sQ0FBQztJQUVMLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBckVMLEFBd0VFLGNBeEVZLENBd0VaLDJCQUEyQixDQUFDO0VBQzFCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUdILEFBQUEsRUFBRSxBQUFBLGtCQUFrQixDQUFDO0VBQ25CLFlBQVksRUFBRSxJQUFJLEdBTW5CO0VBUEQsQUFHRSxFQUhBLEFBQUEsa0JBQWtCLENBR2xCLEVBQUUsQ0FBQztJQUNELE9BQU8sRUFBRSxLQUFLO0lBQ2QsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBR0gsQUFBQSwyQkFBMkIsQ0FBQyxPQUFPLENBQUM7RUFDbEMsT0FBTyxFQUFFLElBQUksR0FDZDs7QUN4RkQsQUFFSSxlQUZXLENBQ2IsUUFBUSxDQUNOLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBSkwsQUFNSSxlQU5XLENBQ2IsUUFBUSxDQUtOLGVBQWUsQ0FBQztFQUNkLEtBQUssRUFBRSxlQUFlO0VBQ3RCLE1BQU0sRUFBRSxDQUFDLEdBS1Y7RUFiTCxBQVVNLGVBVlMsQ0FDYixRQUFRLENBS04sZUFBZSxDQUliLEVBQUUsRUFWUixlQUFlLENBQ2IsUUFBUSxDQUtOLGVBQWUsQ0RObkIsY0FBYyxDQUtaLGFBQWEsQUFBQSxZQUFZLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUxuRCxjQUFjLENBS1osYUFBYSxBQUFBLFlBQVksQ0FBQyxNQUFNLENDTGxDLGVBQWUsQ0FDYixRQUFRLENBS04sZUFBZSxDRERnQixnQkFBZ0IsRUNMbkQsZUFBZSxDQUNiLFFBQVEsQ0FLTixlQUFlLENETm5CLGNBQWMsQ0FpQlosUUFBUSxDQUtOLE1BQU0sRUF0QlYsY0FBYyxDQWlCWixRQUFRLENDakJWLGVBQWUsQ0FDYixRQUFRLENBS04sZUFBZSxDRGdCZixNQUFNLEVDdEJWLGVBQWUsQ0FDYixRQUFRLENBS04sZUFBZSxDRE5uQixjQUFjLENBNkNaLHNDQUFzQyxDQUNwQyxFQUFFLEVBOUNOLGNBQWMsQ0E2Q1osc0NBQXNDLENDN0N4QyxlQUFlLENBQ2IsUUFBUSxDQUtOLGVBQWUsQ0R3Q2YsRUFBRSxFQzlDTixlQUFlLENBQ2IsUUFBUSxDQUtOLGVBQWUsQ0RObkIsY0FBYyxDQTZDWixzQ0FBc0MsQ0E1Q3RDLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBRHZDLGNBQWMsQ0E2Q1osc0NBQXNDLENBNUN0QyxhQUFhLENBQUMsTUFBTSxDQ0R0QixlQUFlLENBQ2IsUUFBUSxDQUtOLGVBQWUsQ0RMSSxnQkFBZ0IsRUNEdkMsZUFBZSxDQUNiLFFBQVEsQ0FLTixlQUFlLENETm5CLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQTRDcEIsc0NBQXNDLENBNUNqQixnQkFBZ0IsRUFEdkMsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBNENwQixzQ0FBc0MsQ0M3Q3hDLGVBQWUsQ0FDYixRQUFRLENBS04sZUFBZSxDRExJLGdCQUFnQixFQ0R2QyxlQUFlLENBQ2IsUUFBUSxDQUtOLGVBQWUsQ0VObkIsWUFBWSxDQW1DVixFQUFFLEVBbkNKLFlBQVksQ0ZBWixlQUFlLENBQ2IsUUFBUSxDQUtOLGVBQWUsQ0U2QmpCLEVBQUUsRUZuQ0osZUFBZSxDQUNiLFFBQVEsQ0FLTixlQUFlLENFTm5CLFlBQVksQ0hBWixjQUFjLENBQ1osYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUdEdkMsWUFBWSxDSEFaLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDQ0R0QixlQUFlLENBQ2IsUUFBUSxDQUtOLGVBQWUsQ0RMSSxnQkFBZ0IsRUNEdkMsZUFBZSxDQUNiLFFBQVEsQ0FLTixlQUFlLENETm5CLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDR0R0QixZQUFZLENIQ1csZ0JBQWdCLEVBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDR0R0QixZQUFZLENGQVosZUFBZSxDQUNiLFFBQVEsQ0FLTixlQUFlLENETEksZ0JBQWdCLENDUzlCO0lBQ0QsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFaUCxBQWlCSSxlQWpCVyxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLENBQUM7RTVFa0RyQixLQUFLLEVBQUMsSUFBQztFQUdMLE9BQU8sRUFBRSxLQUFLO0VBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0VJdUUxQyxLQUFLLEVKNUVELElBQXFDO0VtQkM3QyxVQUFVLEVBQUUsVUFBVTtFQUN0QixLQUFLLEVMSE0sT0FBTztFS0lsQixhQUFhLEVuQkVMLE9BQXNDO0VnRkkxQyxVQUFVLEVBQUUsT0FBTyxHQTZCcEI7RUFoREwsQTVFd0ZNLGU0RXhGUyxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEE1RXVFakIsV0FBVyxDQUFDO0lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VhdENILEFBQUEsT0FBTyxDK0RwRFgsZUFBZSxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEMvRG1DVjtJYmVWLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsU0FBcUMsR2lCK0MxQztJQUxELEFib0NFLE9hcENLLEMrRHBEWCxlQUFlLENBZ0JiLFdBQVcsQ0FDVCxvQkFBb0IsQTVFdUVqQixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SWF0Q0gsQWJvQ0UsT2FwQ0ssQytEcERYLGVBQWUsQ0FnQmIsV0FBVyxDQUNULG9CQUFvQixBNUV1RWpCLFdBQVcsQ2VsRkQ7TWpCaURYLFlBQW9CLEVBQVMsQ0FBQyxHaUIvQy9CO0VGcURELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStEN0RwQyxBQWlCSSxlQWpCVyxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLENBQUM7TTVFa0RyQixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdnRnNDMUM7TUFoREwsQTVFd0ZNLGU0RXhGUyxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEE1RXVFakIsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO000RTFGUCxBNUV3Rk0sZTRFeEZTLENBZ0JiLFdBQVcsQ0FDVCxvQkFBb0IsQTVFdUVqQixXQUFXLENlbEZEO1FqQmlEWCxZQUFvQixFQUFTLENBQUMsR2lCL0MvQjtFNkRSTCxBN0RlRSxlNkRmYSxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEM3REZ0QixrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDbkIsVUFBVSxFTFBELE9BQU8sR0thakI7STZEdEJILEE3RGtCSSxlNkRsQlcsQ0FnQmIsV0FBVyxDQUNULG9CQUFvQixDN0RGdEIsa0JBQWtCLENBQUMsQ0FBQyxBQUdqQixNQUFNLEU2RGxCWCxlQUFlLENBZ0JiLFdBQVcsQ0FDVCxvQkFBb0IsQzdERnRCLGtCQUFrQixDQUFDLENBQUMsQUFJakIsTUFBTSxDQUFDO01BQ04sVUFBVSxFTFpSLE9BQU8sR0thVjtFNkRyQkwsQUFxQk0sZUFyQlMsQ0FnQmIsV0FBVyxDQUNULG9CQUFvQixBQUlqQix1QkFBdUIsQ0FBQztJNUU4QzNCLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsSUFBcUM7SW1CQzdDLFVBQVUsRUFBRSxVQUFVO0lBQ3RCLEtBQUssRUxGSyxPQUFPO0lLR2pCLGFBQWEsRW5CRUwsT0FBc0MsR2dGWXpDO0lBM0JQLEE1RXdGTSxlNEV4RlMsQ0FnQmIsV0FBVyxDQUNULG9CQUFvQixBQUlqQix1QkFBdUIsQTVFbUV2QixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7SWF0Q0gsQUFBQSxPQUFPLEMrRHBEWCxlQUFlLENBZ0JiLFdBQVcsQ0FDVCxvQkFBb0IsQUFJakIsdUJBQXVCLEMvRCtCaEI7TWJlVixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdpQitDMUM7TUFMRCxBYm9DRSxPYXBDSyxDK0RwRFgsZUFBZSxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBSWpCLHVCQUF1QixBNUVtRXZCLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNYXRDSCxBYm9DRSxPYXBDSyxDK0RwRFgsZUFBZSxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBSWpCLHVCQUF1QixBNUVtRXZCLFdBQVcsQ2VsRkQ7UWpCaURYLFlBQW9CLEVBQVMsQ0FBQyxHaUIvQy9CO0lGcURELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7TStEN0RwQyxBQXFCTSxlQXJCUyxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBSWpCLHVCQUF1QixDQUFDO1E1RThDM0IsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKdEVoQixPQUFzQztRSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHZ0ZpQnhDO1FBM0JQLEE1RXdGTSxlNEV4RlMsQ0FnQmIsV0FBVyxDQUNULG9CQUFvQixBQUlqQix1QkFBdUIsQTVFbUV2QixXQUFXLENBQUM7VUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7UTRFMUZQLEE1RXdGTSxlNEV4RlMsQ0FnQmIsV0FBVyxDQUNULG9CQUFvQixBQUlqQix1QkFBdUIsQTVFbUV2QixXQUFXLENlbEZEO1VqQmlEWCxZQUFvQixFQUFTLENBQUMsR2lCL0MvQjtJNkRSTCxBN0RlRSxlNkRmYSxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBSWpCLHVCQUF1QixDN0RONUIsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO01BQ25CLFVBQVUsRUxORixPQUFPLEdLWWhCO002RHRCSCxBN0RrQkksZTZEbEJXLENBZ0JiLFdBQVcsQ0FDVCxvQkFBb0IsQUFJakIsdUJBQXVCLEM3RE41QixrQkFBa0IsQ0FBQyxDQUFDLEFBR2pCLE1BQU0sRTZEbEJYLGVBQWUsQ0FnQmIsV0FBVyxDQUNULG9CQUFvQixBQUlqQix1QkFBdUIsQzdETjVCLGtCQUFrQixDQUFDLENBQUMsQUFJakIsTUFBTSxDQUFDO1FBQ04sVUFBVSxFTFpSLE9BQU8sR0thVjtJNkRyQkwsQUF3QlEsZUF4Qk8sQ0FnQmIsV0FBVyxDQUNULG9CQUFvQixBQUlqQix1QkFBdUIsQ0FHdEIsSUFBSSxBQUFBLGtCQUFrQixDQUFDO01BQ3JCLGdCQUFnQixFbEVmZCxPQUFPLEdrRWdCVjtFL0QwQkwsQStEdEJJLE8vRHNCRyxDK0RwRFgsZUFBZSxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBYWYsbUJBQW1CLENBQUM7STVFcUN6QixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdnRnNCdEM7SS9Eb0JMLEFib0NFLE9hcENLLEMrRHBEWCxlQUFlLENBZ0JiLFdBQVcsQ0FDVCxvQkFBb0IsQUFhZixtQkFBbUIsQTVFMERyQixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RWF0Q0gsQStEbEJJLE8vRGtCRyxDK0RwRFgsZUFBZSxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBaUJmLG1CQUFtQixDQUFDO0k1RWlDekIsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHZ0YwQnRDO0kvRGdCTCxBYm9DRSxPYXBDSyxDK0RwRFgsZUFBZSxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBaUJmLG1CQUFtQixBNUVzRHJCLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFYXRDSCxBK0RkSSxPL0RjRyxDK0RwRFgsZUFBZSxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBcUJmLHVDQUF1QyxDQUFDO0k1RTZCN0MsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHZ0Y4QnRDO0kvRFlMLEFib0NFLE9hcENLLEMrRHBEWCxlQUFlLENBZ0JiLFdBQVcsQ0FDVCxvQkFBb0IsQUFxQmYsdUNBQXVDLEE1RWtEekMsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VhdENILEErRFZJLE8vRFVHLEMrRHBEWCxlQUFlLENBZ0JiLFdBQVcsQ0FDVCxvQkFBb0IsQUF5QmYsbUJBQW1CLENBQUM7STVFeUJ6QixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0lFNkN6QyxZQUFvQixFQUFTLENBQUMsRzhFVjNCO0kvRE9MLEFib0NFLE9hcENLLEMrRHBEWCxlQUFlLENBZ0JiLFdBQVcsQ0FDVCxvQkFBb0IsQUF5QmYsbUJBQW1CLEE1RThDckIsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0VhN0JILE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStEN0RwQyxBQThCUSxlQTlCTyxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBYWYsbUJBQW1CLENBQUM7TTVFcUN6QixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdnRnNCdEM7TUFoQ1QsQTVFd0ZNLGU0RXhGUyxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBYWYsbUJBQW1CLEE1RTBEckIsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0k0RTFGUCxBQWtDUSxlQWxDTyxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBaUJmLG1CQUFtQixDQUFDO001RWlDekIsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKdEVoQixPQUFzQztNSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHZ0YwQnRDO01BcENULEE1RXdGTSxlNEV4RlMsQ0FnQmIsV0FBVyxDQUNULG9CQUFvQixBQWlCZixtQkFBbUIsQTVFc0RyQixXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7STRFMUZQLEFBc0NRLGVBdENPLENBZ0JiLFdBQVcsQ0FDVCxvQkFBb0IsQUFxQmYsdUNBQXVDLENBQUM7TTVFNkI3QyxLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdnRjhCdEM7TUF4Q1QsQTVFd0ZNLGU0RXhGUyxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBcUJmLHVDQUF1QyxBNUVrRHpDLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtJNEUxRlAsQUEwQ1EsZUExQ08sQ0FnQmIsV0FBVyxDQUNULG9CQUFvQixBQXlCZixtQkFBbUIsQ0FBQztNNUV5QnpCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7TUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHOEVWM0I7TUE3Q1QsQTVFd0ZNLGU0RXhGUyxDQWdCYixXQUFXLENBQ1Qsb0JBQW9CLEFBeUJmLG1CQUFtQixBNUU4Q3JCLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QTRFMUZQLEFBbURFLGVBbkRhLENBbURiLFFBQVEsQ0FBQztFQUNQLFVBQVUsRUFBRSxPQUFPO0VBQ25CLFdBQVcsRWhGdENMLE9BQXNDLEdnRnNEN0M7RUFyRUgsQUF1REksZUF2RFcsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixDQUFDO0k1RVlyQixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELElBQXFDO0ltQkM3QyxVQUFVLEVBQUUsVUFBVTtJQUN0QixLQUFLLEVMRkssT0FBTztJS0dqQixhQUFhLEVuQkVMLE9BQXNDO0lnRjBDMUMsVUFBVSxFQUFFLElBQUksR0FXakI7SUFwRUwsQTVFd0ZNLGU0RXhGUyxDQW1EYixRQUFRLENBSU4sb0JBQW9CLEE1RWlDakIsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0lhdENILEFBQUEsT0FBTyxDK0RwRFgsZUFBZSxDQW1EYixRQUFRLENBSU4sb0JBQW9CLEMvREhWO01iZVYsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKdEVoQixPQUFzQztNSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHaUIrQzFDO01BTEQsQWJvQ0UsT2FwQ0ssQytEcERYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBNUVpQ2pCLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNYXRDSCxBYm9DRSxPYXBDSyxDK0RwRFgsZUFBZSxDQW1EYixRQUFRLENBSU4sb0JBQW9CLEE1RWlDakIsV0FBVyxDZWxGRDtRakJpRFgsWUFBb0IsRUFBUyxDQUFDLEdpQi9DL0I7SUZxREQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztNK0Q3RHBDLEFBdURJLGVBdkRXLENBbURiLFFBQVEsQ0FJTixvQkFBb0IsQ0FBQztRNUVZckIsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKdEVoQixPQUFzQztRSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHZ0YwRDFDO1FBcEVMLEE1RXdGTSxlNEV4RlMsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBNUVpQ2pCLFdBQVcsQ0FBQztVQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtRNEUxRlAsQTVFd0ZNLGU0RXhGUyxDQW1EYixRQUFRLENBSU4sb0JBQW9CLEE1RWlDakIsV0FBVyxDZWxGRDtVakJpRFgsWUFBb0IsRUFBUyxDQUFDLEdpQi9DL0I7STZEUkwsQTdEZUUsZTZEZmEsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixDN0R4Q3RCLGtCQUFrQixDQUFDLENBQUMsQ0FBQztNQUNuQixVQUFVLEVMTkYsT0FBTyxHS1loQjtNNkR0QkgsQTdEa0JJLGU2RGxCVyxDQW1EYixRQUFRLENBSU4sb0JBQW9CLEM3RHhDdEIsa0JBQWtCLENBQUMsQ0FBQyxBQUdqQixNQUFNLEU2RGxCWCxlQUFlLENBbURiLFFBQVEsQ0FJTixvQkFBb0IsQzdEeEN0QixrQkFBa0IsQ0FBQyxDQUFDLEFBSWpCLE1BQU0sQ0FBQztRQUNOLFVBQVUsRUxaUixPQUFPLEdLYVY7STZEckJMLEFBMkRNLGVBM0RTLENBbURiLFFBQVEsQ0FJTixvQkFBb0IsQUFJakIsb0JBQW9CLEVBM0QzQixlQUFlLENBbURiLFFBQVEsQ0FJTixvQkFBb0IsQUFLakIsb0JBQW9CLEVBNUQzQixlQUFlLENBbURiLFFBQVEsQ0FJTixvQkFBb0IsQUFNakIsd0JBQXdCLENBQUM7TTVFTTVCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsSUFBcUM7TW1CQzdDLFVBQVUsRUFBRSxVQUFVO01BQ3RCLEtBQUssRUxGSyxPQUFPO01LR2pCLGFBQWEsRW5CRUwsT0FBc0MsR2dGb0R6QztNQW5FUCxBNUV3Rk0sZTRFeEZTLENBbURiLFFBQVEsQ0FJTixvQkFBb0IsQUFJakIsb0JBQW9CLEE1RTZCcEIsV0FBVyxFNEV4RmxCLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUtqQixvQkFBb0IsQTVFNEJwQixXQUFXLEU0RXhGbEIsZUFBZSxDQW1EYixRQUFRLENBSU4sb0JBQW9CLEFBTWpCLHdCQUF3QixBNUUyQnhCLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtNYXRDSCxBQUFBLE9BQU8sQytEcERYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUlqQixvQkFBb0IsRS9EUHZCLE9BQU8sQytEcERYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUtqQixvQkFBb0IsRS9EUnZCLE9BQU8sQytEcERYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQU1qQix3QkFBd0IsQy9EVGpCO1FiZVYsS0FBSyxFQUFDLElBQUM7UUFHTCxPQUFPLEVBQUUsS0FBSztRQWVkLFlBQW9CLEVKdEVoQixPQUFzQztRSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHaUIrQzFDO1FBTEQsQWJvQ0UsT2FwQ0ssQytEcERYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUlqQixvQkFBb0IsQTVFNkJwQixXQUFXLEVhcENkLE9BQU8sQytEcERYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUtqQixvQkFBb0IsQTVFNEJwQixXQUFXLEVhcENkLE9BQU8sQytEcERYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQU1qQix3QkFBd0IsQTVFMkJ4QixXQUFXLENBQUM7VUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7UWF0Q0gsQWJvQ0UsT2FwQ0ssQytEcERYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUlqQixvQkFBb0IsQTVFNkJwQixXQUFXLEVhcENkLE9BQU8sQytEcERYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUtqQixvQkFBb0IsQTVFNEJwQixXQUFXLEVhcENkLE9BQU8sQytEcERYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQU1qQix3QkFBd0IsQTVFMkJ4QixXQUFXLENlbEZEO1VqQmlEWCxZQUFvQixFQUFTLENBQUMsR2lCL0MvQjtNRnFERCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO1ErRDdEcEMsQUEyRE0sZUEzRFMsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUlqQixvQkFBb0IsRUEzRDNCLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUtqQixvQkFBb0IsRUE1RDNCLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQU1qQix3QkFBd0IsQ0FBQztVNUVNNUIsS0FBSyxFQUFDLElBQUM7VUFHTCxPQUFPLEVBQUUsS0FBSztVQWVkLFlBQW9CLEVKdEVoQixPQUFzQztVSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHZ0Z5RHhDO1VBbkVQLEE1RXdGTSxlNEV4RlMsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUlqQixvQkFBb0IsQTVFNkJwQixXQUFXLEU0RXhGbEIsZUFBZSxDQW1EYixRQUFRLENBSU4sb0JBQW9CLEFBS2pCLG9CQUFvQixBNUU0QnBCLFdBQVcsRTRFeEZsQixlQUFlLENBbURiLFFBQVEsQ0FJTixvQkFBb0IsQUFNakIsd0JBQXdCLEE1RTJCeEIsV0FBVyxDQUFDO1lBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO1U0RTFGUCxBNUV3Rk0sZTRFeEZTLENBbURiLFFBQVEsQ0FJTixvQkFBb0IsQUFJakIsb0JBQW9CLEE1RTZCcEIsV0FBVyxFNEV4RmxCLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUtqQixvQkFBb0IsQTVFNEJwQixXQUFXLEU0RXhGbEIsZUFBZSxDQW1EYixRQUFRLENBSU4sb0JBQW9CLEFBTWpCLHdCQUF3QixBNUUyQnhCLFdBQVcsQ2VsRkQ7WWpCaURYLFlBQW9CLEVBQVMsQ0FBQyxHaUIvQy9CO002RFJMLEE3RGVFLGU2RGZhLENBbURiLFFBQVEsQ0FJTixvQkFBb0IsQUFJakIsb0JBQW9CLEM3RDVDekIsa0JBQWtCLENBQUMsQ0FBQyxFNkRmdEIsZUFBZSxDQW1EYixRQUFRLENBSU4sb0JBQW9CLEFBS2pCLG9CQUFvQixDN0Q3Q3pCLGtCQUFrQixDQUFDLENBQUMsRTZEZnRCLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQU1qQix3QkFBd0IsQzdEOUM3QixrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDbkIsVUFBVSxFTE5GLE9BQU8sR0tZaEI7UTZEdEJILEE3RGtCSSxlNkRsQlcsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUlqQixvQkFBb0IsQzdENUN6QixrQkFBa0IsQ0FBQyxDQUFDLEFBR2pCLE1BQU0sRTZEbEJYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUlqQixvQkFBb0IsQzdENUN6QixrQkFBa0IsQ0FBQyxDQUFDLEFBSWpCLE1BQU0sRTZEbkJYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUtqQixvQkFBb0IsQzdEN0N6QixrQkFBa0IsQ0FBQyxDQUFDLEFBR2pCLE1BQU0sRTZEbEJYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUtqQixvQkFBb0IsQzdEN0N6QixrQkFBa0IsQ0FBQyxDQUFDLEFBSWpCLE1BQU0sRTZEbkJYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQU1qQix3QkFBd0IsQzdEOUM3QixrQkFBa0IsQ0FBQyxDQUFDLEFBR2pCLE1BQU0sRTZEbEJYLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQU1qQix3QkFBd0IsQzdEOUM3QixrQkFBa0IsQ0FBQyxDQUFDLEFBSWpCLE1BQU0sQ0FBQztVQUNOLFVBQVUsRUxaUixPQUFPLEdLYVY7TTZEckJMLEFBZ0VRLGVBaEVPLENBbURiLFFBQVEsQ0FJTixvQkFBb0IsQUFJakIsb0JBQW9CLENBS25CLElBQUksQUFBQSxrQkFBa0IsRUFoRTlCLGVBQWUsQ0FtRGIsUUFBUSxDQUlOLG9CQUFvQixBQUtqQixvQkFBb0IsQ0FJbkIsSUFBSSxBQUFBLGtCQUFrQixFQWhFOUIsZUFBZSxDQW1EYixRQUFRLENBSU4sb0JBQW9CLEFBTWpCLHdCQUF3QixDQUd2QixJQUFJLEFBQUEsa0JBQWtCLENBQUM7UUFDckIsZ0JBQWdCLEVsRXZEZCxPQUFPLEdrRXdEVjs7QUFsRVQsQUF1RUUsZUF2RWEsQ0F1RWIsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUksR0FDZDs7QUF6RUgsQUE0RUUsZUE1RWEsQ0E0RWIsV0FBVyxDQUFDO0VBQ1YsV0FBVyxFQUFFLElBQUksR0FvQ2xCO0VBakhILEFBK0VJLGVBL0VXLENBNEViLFdBQVcsQ0FHVCxZQUFZLENBQUM7STVFWmIsS0FBSyxFQUFDLElBQUM7SUFHTCxPQUFPLEVBQUUsS0FBSztJQWVkLFlBQW9CLEVKdEVoQixPQUFzQztJSXVFMUMsS0FBSyxFSjVFRCxJQUFxQztJZ0Z1RXpDLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0lBbEZMLEE1RXdGTSxlNEV4RlMsQ0E0RWIsV0FBVyxDQUdULFlBQVksQTVFU1QsV0FBVyxDQUFDO01BQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0U0RTFGUCxBQW9GSSxlQXBGVyxDQTRFYixXQUFXLENBUVQsWUFBWSxDQUFDO0k1RWpCYixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELElBQXFDO0lnRjRFekMsYUFBYSxFQUFFLElBQUksR0FDcEI7SUF2RkwsQTVFd0ZNLGU0RXhGUyxDQTRFYixXQUFXLENBUVQsWUFBWSxBNUVJVCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RWF0Q0gsQStEc0NFLE8vRHRDSyxDK0RwRFgsZUFBZSxDQTRFYixXQUFXLENBY1AsWUFBWSxDQUFDO0k1RXZCZixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdnRmtGeEM7SS9EeENILEFib0NFLE9hcENLLEMrRHBEWCxlQUFlLENBNEViLFdBQVcsQ0FjUCxZQUFZLEE1RUZYLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFYXRDSCxBK0QwQ0UsTy9EMUNLLEMrRHBEWCxlQUFlLENBNEViLFdBQVcsQ0FrQlAsWUFBWSxHQUFDLFlBQVksQ0FBQztJOUV2QzFCLFlBQW9CLEVBQVMsQ0FBQyxHOEV5QzdCO0UvRG5DSCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0krRDdEcEMsQUErRUksZUEvRVcsQ0E0RWIsV0FBVyxDQUdULFlBQVksQ0FXRztNNUV2QmYsS0FBSyxFQUFDLElBQUM7TUFHTCxPQUFPLEVBQUUsS0FBSztNQWVkLFlBQW9CLEVKdEVoQixPQUFzQztNSXVFMUMsS0FBSyxFSjVFRCxTQUFxQyxHZ0ZrRnhDO01BNUZQLEE1RXdGTSxlNEV4RlMsQ0E0RWIsV0FBVyxDQUdULFlBQVksQTVFU1QsV0FBVyxDQUFDO1FBQ1gsWUFBb0IsRUFBUyxDQUFDLEdBQy9CO0k0RTFGUCxBQThGTSxlQTlGUyxDQTRFYixXQUFXLENBa0JQLFlBQVksR0FBQyxZQUFZLENBQUM7TTlFdkMxQixZQUFvQixFQUFTLENBQUMsRzhFeUM3QjtFL0Q1Q0gsQStEc0NFLE8vRHRDSyxDK0RwRFgsZUFBZSxDQTRFYixXQUFXLENBY1AsWUFBWSxDQVVDO0k1RWpDZixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdnRjRGeEM7SS9EbERILEFib0NFLE9hcENLLEMrRHBEWCxlQUFlLENBNEViLFdBQVcsQ0FjUCxZQUFZLEE1RUZYLFdBQVcsQ0FBQztNQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjtFYXRDSCxBK0QwQ0UsTy9EMUNLLEMrRHBEWCxlQUFlLENBNEViLFdBQVcsQ0FrQlAsWUFBWSxHQUFDLFlBQVksQ0FVQztJQUN4QixZQUFZLEVoRjFGVixPQUFzQyxHZ0YyRnpDO0UvRHRESCxBK0R3REUsTy9EeERLLEMrRHBEWCxlQUFlLENBNEViLFdBQVcsQ0FnQ1AsWUFBWSxDQUFDO0k1RXpDZixLQUFLLEVBQUMsSUFBQztJQUdMLE9BQU8sRUFBRSxLQUFLO0lBZWQsWUFBb0IsRUp0RWhCLE9BQXNDO0lJdUUxQyxLQUFLLEVKNUVELFNBQXFDO0lFNkN6QyxZQUFvQixFQUFTLENBQUMsRzhFd0Q3QjtJL0QzREgsQWJvQ0UsT2FwQ0ssQytEcERYLGVBQWUsQ0E0RWIsV0FBVyxDQWdDUCxZQUFZLEE1RXBCWCxXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RWE3QkgsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztJK0Q3RHBDLEFBK0VJLGVBL0VXLENBNEViLFdBQVcsQ0FHVCxZQUFZLENBcUJHO001RWpDZixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDLEdnRjRGeEM7TUF0R1AsQTVFd0ZNLGU0RXhGUyxDQTRFYixXQUFXLENBR1QsWUFBWSxBNUVTVCxXQUFXLENBQUM7UUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7STRFMUZQLEFBOEZNLGVBOUZTLENBNEViLFdBQVcsQ0FrQlAsWUFBWSxHQUFDLFlBQVksQ0FVQztNQUN4QixZQUFZLEVoRjFGVixPQUFzQyxHZ0YyRnpDO0lBMUdQLEFBb0ZJLGVBcEZXLENBNEViLFdBQVcsQ0FRVCxZQUFZLENBd0JHO001RXpDZixLQUFLLEVBQUMsSUFBQztNQUdMLE9BQU8sRUFBRSxLQUFLO01BZWQsWUFBb0IsRUp0RWhCLE9BQXNDO01JdUUxQyxLQUFLLEVKNUVELFNBQXFDO01FNkN6QyxZQUFvQixFQUFTLENBQUMsRzhFd0Q3QjtNQS9HUCxBNUV3Rk0sZTRFeEZTLENBNEViLFdBQVcsQ0FRVCxZQUFZLEE1RUlULFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QTRFMUZQLEFBb0hFLGVBcEhhLENBb0hiLE1BQU0sQ0FBQztFQUNMLFVBQVUsRUFBRSxDQUFDLEdBQ2Q7O0FBSUgsQUFBQSxZQUFZLENBQUM7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsR0FBRyxHQUtoQjtFL0Q3RUcsQUFBQSxPQUFPLEMrRHNFWCxZQUFZLEMvRHRFRTtJK0QyRVYsY0FBYyxFQUFFLElBQUksRy9EdEVuQjtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStENkRwQyxBQUFBLFlBQVksQ0FBQztNQUtULGNBQWMsRUFBRSxJQUFJLEdBRXZCOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RTdEekdqQixPQUFPLEVBQUUsSUFBSTtFNkQyR2IsV0FBVyxFQUFFLElBQUk7RUFVakIsVUFBVSxFQUFFLE1BQU0sR0FDbkI7RS9ENUZHLEFBQUEsT0FBTyxDK0QrRVgsa0JBQWtCLEMvRC9FSjtJRXZCVixPQUFPLEVBQUUsS0FBSyxHRjRCYjtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStEc0VwQyxBQUFBLGtCQUFrQixDQUFDO003RHRHZixPQUFPLEVBQUUsS0FBSyxHNkRtSGpCO0VBYkQsQUFJRSxrQkFKZ0IsQ0FJaEIsS0FBSyxDQUFDO0lBQ0osU0FBUyxFQUFFLENBQUMsR0FDYjtFQU5ILEFBUUUsa0JBUmdCLENBUWhCLEtBQUssQUFBQSxPQUFPLENBQUM7SUFDWCxTQUFTLEVBQUUsSUFBSSxHQUNoQjs7QUFLSCxBQUFBLG1CQUFtQixDQUFDO0U3RHhIbEIsT0FBTyxFQUFFLElBQUk7RTZEMEhiLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFFBQVEsRUFBRSxNQUFNLEdBU2pCO0UvRDFHRyxBQUFBLE9BQU8sQytEOEZYLG1CQUFtQixDL0Q5Rkw7SUV2QlYsT0FBTyxFQUFFLEtBQUssR0Y0QmI7RUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0krRHFGcEMsQUFBQSxtQkFBbUIsQ0FBQztNN0RySGhCLE9BQU8sRUFBRSxLQUFLLEc2RGlJakI7RS9EMUdHLEFBQUEsT0FBTyxDK0Q4RlgsbUJBQW1CLEMvRDlGTDtJK0RvR1YsVUFBVSxFQUFFLE1BQU0sRy9EL0ZqQjtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStEcUZwQyxBQUFBLG1CQUFtQixDQUFDO01BTWhCLFVBQVUsRUFBRSxNQUFNLEdBTXJCO0VBSEMsQUFBQSxrQkFBa0IsR0FUcEIsbUJBQW1CLENBU0k7SUFDbkIsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFHSCxBQUFBLG1CQUFtQixDQUFDO0U3RHRJbEIsT0FBTyxFQUFFLElBQUk7RUZzRmIsU0FBUyxFSGhGSSxJQUFJO0VHaUZqQixTQUFTLEVBQUUsTUFBZ0M7RStEdUQzQyxXQUFXLEVqRWxLTyxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0VpRW1LM0QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsTUFBTSxFQUFFLFdBQVc7RUFDbkIsVUFBVSxFQUFFLE1BQU0sR0FDbkI7RS9EekhHLEFBQUEsT0FBTyxDK0Q0R1gsbUJBQW1CLEMvRDVHTDtJRXZCVixPQUFPLEVBQUUsS0FBSyxHRjRCYjtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStEbUdwQyxBQUFBLG1CQUFtQixDQUFDO003RG5JaEIsT0FBTyxFQUFFLEtBQUssRzZEZ0pqQjtFL0R6SEcsQUFBQSxPQUFPLEMrRDRHWCxtQkFBbUIsQy9ENUdMO0lBNERaLFNBQVMsRUhsRkksSUFBSTtJR21GakIsU0FBUyxFQUFFLFVBQWdDLEdBeER4QztFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStEbUdwQyxBQUFBLG1CQUFtQixDQUFDO00vRGhEbEIsU0FBUyxFSGxGSSxJQUFJO01HbUZqQixTQUFTLEVBQUUsVUFBZ0MsRytENEQ1Qzs7QUFFRCxBQUFBLHlCQUF5QixDQUFDO0U3RHJKeEIsT0FBTyxFQUFFLElBQUk7RTZEdUpiLEtBQUssRWxFektDLE9BQU87RWtFMEtiLE1BQU0sRUFBRSxZQUFZLEdBQ3JCO0UvRC9IRyxBQUFBLE9BQU8sQytEMkhYLHlCQUF5QixDL0QzSFg7SUV2QlYsT0FBTyxFQUFFLEtBQUssR0Y0QmI7RUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0krRGtIcEMsQUFBQSx5QkFBeUIsQ0FBQztNN0RsSnRCLE9BQU8sRUFBRSxLQUFLLEc2RHNKakI7O0FBRUQsQUFDRSxrQkFEZ0IsQ0FDaEIsQ0FBQyxDQUFDO0UvRHRFRixTQUFTLEVIeEZNLElBQUk7RUd5Rm5CLFNBQVMsRUFBRSxJQUFnQztFRzVHM0MsVUFBVSxFTklDLE9BQU87RU1IbEIsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsSUFBSTtFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRUFBRSxDQUFDO0VBQ2QsT0FBTyxFQUFFLFlBQVk7RUFDckIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLFNBQVM7RUFDekIsVUFBVSxFQUFFLDJDQUEyQztFQUN2RCxhQUFhLEVBQUUsMkNBQTJDO0VBQzFELGNBQWMsRUFBRSwyQ0FBMkM7RUFDM0Qsc0JBQXNCLEVBQUUsV0FBVztFNEQ4S2pDLE9BQU8sRUFBRSxLQUFLO0VBQ2QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsTUFBTSxFQUFFLEtBQUs7RUFDYixPQUFPLEVBQUUsbUJBQW1CO0VBQzVCLFFBQVEsRUFBRSxNQUFNLEdBZ0JqQjtFQWhDSCxBNURoS0Usa0I0RGdLZ0IsQ0FDaEIsQ0FBQyxBNURqS0EsT0FBTyxFNERnS1Ysa0JBQWtCLENBQ2hCLENBQUMsQTVEaEtBLE1BQU0sRTREK0pULGtCQUFrQixDQUNoQixDQUFDLEE1RC9KQSxNQUFNLENBQUM7SUFDTixVQUFVLEVOaEJOLE9BQU87SU1pQlgsS0FBSyxFTmxCSSxJQUFJO0lNbUJiLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUh5QkMsQUFBQSxPQUFPLEMrRGlJWCxrQkFBa0IsQ0FDaEIsQ0FBQyxDL0RsSVc7SStEc0lSLE1BQU0sRUFBRSxLQUFLO0lBQ2IsSUFBSSxFQUFFLEtBQUs7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxDQUFDLEcvRHJJVjtFQUlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStEd0hwQyxBQUNFLGtCQURnQixDQUNoQixDQUFDLENBQUM7TUFJRSxNQUFNLEVBQUUsS0FBSztNQUNiLElBQUksRUFBRSxLQUFLO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsS0FBSyxFQUFFLEtBQUs7TUFDWixNQUFNLEVBQUUsQ0FBQyxHQXVCWjtFQWhDSCxBQWtCSSxrQkFsQmMsQ0FDaEIsQ0FBQyxBQWlCRSxNQUFNLENBQUM7SWpFbExWLFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsTUFBTTtJQUNuQixZQUFZLEVBQUUsTUFBTTtJQUNwQixjQUFjLEVBQUUsSUFBSTtJQUNwQixXQUFXLEVBQUUsQ0FBQztJQUNkLHNCQUFzQixFQUFFLFdBQVc7SUFDbkMsdUJBQXVCLEVBQUUsU0FBUztJaUVrTDlCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLEtBQUs7SUFDakIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLEtBQUs7SUFDWixHQUFHLEVBQUUsR0FBRyxHQUNUO0kvRGhLRCxBQUFBLE9BQU8sQytEaUlYLGtCQUFrQixDQUNoQixDQUFDLEFBaUJFLE1BQU0sQy9EbkpHO00rRHdKTixLQUFLLEVBQUUsSUFBSSxHL0RuSmQ7SUFJRCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO00rRHdIcEMsQUFrQkksa0JBbEJjLENBQ2hCLENBQUMsQUFpQkUsTUFBTSxDQUFDO1FBS0osS0FBSyxFQUFFLElBQUksR0FRZDs7QUEvQkwsQUFrQ0Usa0JBbENnQixDQWtDaEIsSUFBSSxBQUFBLGtCQUFrQixDQUFDO0UvRHZHdkIsU0FBUyxFSHhGTSxJQUFJO0VHeUZuQixTQUFTLEVBQUUsSUFBZ0M7RUc1RzNDLFVBQVUsRU5JQyxPQUFPO0VNSGxCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLElBQUk7RUFDaEIsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsR0FBRztFQUNoQixPQUFPLEVBQUUsWUFBWTtFQUNyQixXQUFXLEVBQUUsQ0FBQztFQUNkLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLFVBQVUsRUFBRSwyQ0FBMkM7RUFDdkQsYUFBYSxFQUFFLDJDQUEyQztFQUMxRCxjQUFjLEVBQUUsMkNBQTJDO0VBQzNELHNCQUFzQixFQUFFLFdBQVc7RTREc01qQyxPQUFPLEVBQUUsS0FBSztFQUNkLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLE1BQU0sRUFBRSxLQUFLO0VBQ2IsT0FBTyxFQUFFLG1CQUFtQjtFQUM1QixRQUFRLEVBQUUsTUFBTTtFQUNoQixNQUFNLEVBQUUsT0FBTztFQUNmLEtBQUssRUFBRSxPQUFPO0VBQ2QsZ0JBQWdCLEVBQUUsT0FBTyxHQXVCMUI7RUFsRUgsQTVEaEtFLGtCNERnS2dCLENBa0NoQixJQUFJLEFBQUEsa0JBQWtCLEE1RGxNckIsT0FBTyxFNERnS1Ysa0JBQWtCLENBa0NoQixJQUFJLEFBQUEsa0JBQWtCLEE1RGpNckIsTUFBTSxFNEQrSlQsa0JBQWtCLENBa0NoQixJQUFJLEFBQUEsa0JBQWtCLEE1RGhNckIsTUFBTSxDQUFDO0lBQ04sVUFBVSxFTmhCTixPQUFPO0lNaUJYLEtBQUssRU5sQkksSUFBSTtJTW1CYixPQUFPLEVBQUUsSUFBSSxHQUNkO0VIeUJDLEFBQUEsT0FBTyxDK0RpSVgsa0JBQWtCLENBa0NoQixJQUFJLEFBQUEsa0JBQWtCLEMvRG5LVjtJK0QrS1IsTUFBTSxFQUFFLEtBQUs7SUFDYixJQUFJLEVBQUUsS0FBSztJQUNYLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFQUFFLENBQUMsRy9EOUtWO0VBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztJK0R3SHBDLEFBa0NFLGtCQWxDZ0IsQ0FrQ2hCLElBQUksQUFBQSxrQkFBa0IsQ0FBQztNQVluQixNQUFNLEVBQUUsS0FBSztNQUNiLElBQUksRUFBRSxLQUFLO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsS0FBSyxFQUFFLEtBQUs7TUFDWixNQUFNLEVBQUUsQ0FBQyxHQWdCWjtFQWxFSCxBQXFESSxrQkFyRGMsQ0FrQ2hCLElBQUksQUFBQSxrQkFBa0IsQUFtQm5CLE1BQU0sQ0FBQztJakVyTlYsV0FBVyxFQUFFLG9CQUFvQjtJQUNqQyxLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFlBQVksRUFBRSxNQUFNO0lBQ3BCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFdBQVcsRUFBRSxDQUFDO0lBQ2Qsc0JBQXNCLEVBQUUsV0FBVztJQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0lpRWdOOUIsU0FBUyxFQUFFLElBQUk7SUFDZixVQUFVLEVBQUUsS0FBSztJQUNqQixRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsS0FBSztJQUNaLEdBQUcsRUFBRSxHQUFHLEdBS1Q7SS9EbE1ELEFBQUEsT0FBTyxDK0RpSVgsa0JBQWtCLENBa0NoQixJQUFJLEFBQUEsa0JBQWtCLEFBbUJuQixNQUFNLEMvRHRMRztNK0RnTU4sS0FBSyxFQUFFLElBQUksRy9EM0xkO0lBSUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztNK0R3SHBDLEFBcURJLGtCQXJEYyxDQWtDaEIsSUFBSSxBQUFBLGtCQUFrQixBQW1CbkIsTUFBTSxDQUFDO1FBVUosS0FBSyxFQUFFLElBQUksR0FFZDs7QUFJTCxBQUFBLENBQUMsQUFBQSx1QkFBdUIsQ0FBQztFQUN2QixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxPQUFPO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsSUFBSSxHQVl0QjtFQWhCRCxBQU1FLENBTkQsQUFBQSx1QkFBdUIsQUFNckIsTUFBTSxFQU5ULENBQUMsQUFBQSx1QkFBdUIsQUFPckIsTUFBTSxDQUFDO0lBQ04sS0FBSyxFQUFFLE9BQU87SUFDZCxlQUFlLEVBQUUsSUFBSSxHQU10QjtJQWZILEFBV0ksQ0FYSCxBQUFBLHVCQUF1QixBQU1yQixNQUFNLENBS0wsSUFBSSxBQUFBLGtCQUFrQixFQVgxQixDQUFDLEFBQUEsdUJBQXVCLEFBT3JCLE1BQU0sQ0FJTCxJQUFJLEFBQUEsa0JBQWtCLENBQUM7TUFDckIsVUFBVSxFbEU5UFIsT0FBTyxHa0UrUFY7O0FDdlFMLEFBQ0UsVUFEUSxDQUNSLEVBQUUsRUFESixVQUFVLENGQVYsY0FBYyxDQUNaLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBRHZDLGNBQWMsQ0FDWixhQUFhLENBQUMsTUFBTSxDRUR0QixVQUFVLENGQ2EsZ0JBQWdCLENFQWxDO0VBQ0QsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBSEgsQUFLRSxVQUxRLENBS1IsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLFlBQVksR0FJdEI7RUFWSCxBQU9JLFVBUE0sQ0FLUixhQUFhLEFBRVYsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUksR0FDZDs7QUFUTCxBQVlFLFVBWlEsQ0FZUixZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsWUFBWSxHQUN0Qjs7QUFkSCxBQWdCRSxVQWhCUSxDQWdCUixXQUFXLENBQUMsa0JBQWtCLENBQUM7RUFNN0IsVUFBVSxFQUFFLGVBQWU7RUFDM0IsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsZUFBZTtFQUMzQixVQUFVLEVBQUUsVUFBVTtFQUN0QixLQUFLLEVuRWxCRCxPQUFPLENtRWtCRyxVQUFVO0VBQ3hCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsS0FBSyxFQUFFLEtBQUssR0FDYjtFaEV1QkMsQUFBQSxPQUFPLENnRXBEWCxVQUFVLENBZ0JSLFdBQVcsQ0FBQyxrQkFBa0IsQ2hFb0NsQjtJYmVWLEtBQUssRUFBQyxJQUFDO0lBR0wsT0FBTyxFQUFFLEtBQUs7SUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7SUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7SUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHZUUvQjtJQUxELEFib0NFLE9hcENLLENnRXBEWCxVQUFVLENBZ0JSLFdBQVcsQ0FBQyxrQkFBa0IsQTdFd0V6QixXQUFXLENBQUM7TUFDWCxZQUFvQixFQUFTLENBQUMsR0FDL0I7RWE3QkgsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0U3RHBDLEFBZ0JFLFVBaEJRLENBZ0JSLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztNN0VtRDdCLEtBQUssRUFBQyxJQUFDO01BR0wsT0FBTyxFQUFFLEtBQUs7TUFlZCxZQUFvQixFSnRFaEIsT0FBc0M7TUl1RTFDLEtBQUssRUo1RUQsU0FBcUM7TUU2Q3pDLFlBQW9CLEVBQVMsQ0FBQyxHK0UxQmpDO01BN0JILEE3RXdGTSxVNkV4RkksQ0FnQlIsV0FBVyxDQUFDLGtCQUFrQixBN0V3RXpCLFdBQVcsQ0FBQztRQUNYLFlBQW9CLEVBQVMsQ0FBQyxHQUMvQjs7QTZFMUZQLEFBK0JFLFVBL0JRLENBK0JSLEtBQUssQUFBQSxPQUFPLENBQUM7RUFDWCxVQUFVLEVBQUUsR0FBRyxHQUNoQjs7QUNqQ0gsQUFDRSxZQURVLENBQ1YsbUJBQW1CLENBQUM7RUFDbEIsVUFBVSxFQUFFLE9BQU87RUFDbkIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsT0FBTyxFQUFFLFNBQVM7RUFDbEIsUUFBUSxFQUFFLE1BQU0sR0F1QmpCO0VBNUJILEFBT0ksWUFQUSxDQUNWLG1CQUFtQixDQU1qQixLQUFLLENBQUM7SUFDSixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLFlBQVk7SUFDcEIsU0FBUyxFQUFFLElBQUksR0FDaEI7RUFaTCxBQWNJLFlBZFEsQ0FDVixtQkFBbUIsQ0FhakIsS0FBSyxBQUFBLFVBQVUsQ0FBQTtJQUNiLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFFLE9BQU87SUFDaEIsVUFBVSxFQUFFLFVBQVU7SUFDdEIsWUFBWSxFQUFFLEdBQUcsR0FDbEI7RUF0QkwsQUF3QkksWUF4QlEsQ0FDVixtQkFBbUIsQ0F1QmpCLEtBQUssQUFBQSxZQUFZLENBQUM7SUFDaEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQTNCTCxBQThCRSxZQTlCVSxDQThCVixpQkFBaUI7QUE5Qm5CLFlBQVksQ0ErQlYsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQWpDSCxBQTRDSSxZQTVDUSxDQTJDVixhQUFhLENBQ1gsVUFBVSxDQUFDO0VBQ1QsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENwRXhCVixPQUFPO0VvRXlCckIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLElBQUk7RUFDcEIsa0JBQWtCLEVBQUUsMkJBQTJCLEdBTWhEO0VBdERMLEFBa0RNLFlBbERNLENBMkNWLGFBQWEsQ0FDWCxVQUFVLEFBTVAsV0FBVyxDQUFDO0lBQ1gsYUFBYSxFQUFFLENBQUM7SUFDaEIsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBS1AsQUFBQSx1QkFBdUIsQ0FBQztFQUN0QixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUFFRCxBQUFBLG9CQUFvQixDQUFDO0VBQ25CLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FqRjdEQyxBQUFBLElBQUksQ2dDT0Q7RUFDSCxLQUFLLEVuQkhDLE9BQU8sR21CU2Q7RUFQRCxBQUdFLElBSEUsQ0FHRixXQUFXLENBQUM7SUFDVixLQUFLLEVuQk5ELE9BQU87SW1CT1gsVUFBVSxFbkJHd0IsT0FBd0IsR21CRjNEOztBakJvUEgsQUFBQSxHQUFHLENpQmhQQztFQUNGLE1BQU0sRUFBRSxJQUFJO0VBQ1osU0FBUyxFQUFFLElBQUksR0FDaEI7O0FqQm1FRCxBQUFBLENBQUMsQ2lCaEVDO0VBQ0EsS0FBSyxFbkJuQkMsT0FBTyxHbUJ5QmQ7RUFQRCxBQUdFLENBSEQsQUFHRSxNQUFNLEVBSFQsQ0FBQyxBQUlFLE1BQU0sQ0FBQztJQUNOLEtBQUssRW5CWGUsT0FBd0IsR21CWTdDIn0= */
