@charset "UTF-8";
/* ==========================================================================
   Pre settings
   ========================================================================== */
/* ==========================================================================
   Settings for Saas Tool 'Scut: Sass-CSS Utitilies'
   https://davidtheclark.github.io/scut/
   ========================================================================== */
/* ==========================================================================
   Saas Tools (imported from node_modules)
   ========================================================================== */
/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v1.4.4
* Docs at http://ramseyinhouse.github.io/scut
*/
/* ==========================================================================
   Settings for Saas Tool 'Media Queries with superpowers'
   https://github.com/sass-mq/sass-mq
   ========================================================================== */
/* ==========================================================================
   Helper
   ========================================================================== */
/* ==========================================================================
   Fonts smoothing
   ========================================================================== */
/* ==========================================================================
   Hide things
   ========================================================================== */
/* ==========================================================================
   Settings
   ========================================================================== */
/* ==========================================================================
	 Settings defined as variables or mixins
	========================================================================== */
/* -------------------------------------------------------------------------
     Font Sizes
    -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
  	 Line Heights
   	-------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
	 Paddings
	-------------------------------------------------------------------------- */
/* ==========================================================================
	 Sizes / Dimensions
	========================================================================== */
/* -------------------------------------------------------------------------
      Widths
     -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
      Paddings
     -------------------------------------------------------------------------- */
/* ==========================================================================
   Default color definitions
   ========================================================================== */
/* ==========================================================================
     Grid: img / media declaration in grid system
    ========================================================================== */
@media (min-width: 37.5em) {
  .row.full.tblt.image-text .col-1 .image-wrapper,
  .row.full.tblt.image-text .col-2 .image-wrapper,
  .row.full.tblt.image-text .col-3 .image-wrapper,
  .row.full.tblt.image-text .col-4 .image-wrapper,
  .row.full.tblt.image-text .col-5 .image-wrapper,
  .row.full.tblt.image-text .col-6 .image-wrapper,
  .row.full.tblt.image-text .col-7 .image-wrapper,
  .row.full.tblt.image-text .col-8 .image-wrapper,
  .row.full.tblt.image-text .col-9 .image-wrapper,
  .row.full.tblt.image-text .col-10 .image-wrapper,
  .row.full.tblt.image-text .col-11 .image-wrapper,
  .row.full.tblt.image-text .col-12 .image-wrapper {
    margin-left: auto;
    margin-right: auto;
    width: 80%; } }

@media (min-width: 47.9375em) {
  .row.full.tblt.image-text .col-1 .image-wrapper,
  .row.full.tblt.image-text .col-2 .image-wrapper,
  .row.full.tblt.image-text .col-3 .image-wrapper,
  .row.full.tblt.image-text .col-4 .image-wrapper,
  .row.full.tblt.image-text .col-5 .image-wrapper,
  .row.full.tblt.image-text .col-6 .image-wrapper,
  .row.full.tblt.image-text .col-7 .image-wrapper,
  .row.full.tblt.image-text .col-8 .image-wrapper,
  .row.full.tblt.image-text .col-9 .image-wrapper,
  .row.full.tblt.image-text .col-10 .image-wrapper,
  .row.full.tblt.image-text .col-11 .image-wrapper,
  .row.full.tblt.image-text .col-12 .image-wrapper {
    margin-left: 0;
    margin-right: 0;
    width: 100%; } }

@media (min-width: 47.9375em) {
  .row.full.image-text .col-6:first-child .image-wrapper {
    margin-left: -2.5em;
    margin-right: auto;
    width: 100%; } }

@media (min-width: 81.25em) {
  .row.full.image-text .col-6:first-child .image-wrapper {
    margin-left: -6%; } }

@media (min-width: 90em) {
  .row.full.image-text .col-6:first-child .image-wrapper {
    margin-left: -8%; } }

@media (min-width: 112.5em) {
  .row.full.image-text .col-6:first-child .image-wrapper {
    margin-left: -12%; } }

@media (min-width: 47.9375em) {
  .row.full.image-text .col-6 + .col-6 .image-wrapper {
    margin-left: auto;
    margin-right: -2.5em; } }

@media (min-width: 81.25em) {
  .row.full.image-text .col-6 + .col-6 .image-wrapper {
    margin-right: -6%; } }

@media (min-width: 90em) {
  .row.full.image-text .col-6 + .col-6 .image-wrapper {
    margin-right: -8%; } }

@media (min-width: 112.5em) {
  .row.full.image-text .col-6 + .col-6 .image-wrapper {
    margin-right: -12%; } }

/* ==========================================================================
     Image Fullwidth
    ========================================================================== */
.fullwidth figcaption {
  margin-left: 1.25rem;
  margin-right: 1.25rem;
  margin-top: 0.625rem;
  padding-bottom: 0.375rem;
  padding-left: 0.5rem;
  padding-top: 0.25rem;
  position: relative; }
  @media (min-width: 31.25em) {
    .fullwidth figcaption {
      margin-left: 1.875rem;
      margin-right: 1.875rem;
      padding-left: 0.75rem; } }
  @media (min-width: 47.9375em) {
    .fullwidth figcaption {
      margin-left: 2.5rem;
      margin-right: 0;
      margin-top: 0.875rem;
      padding-bottom: 0.5rem;
      padding-left: 1rem;
      padding-top: 0.375rem;
      max-width: 37.5rem; } }
  @media (min-width: 62.5em) {
    .fullwidth figcaption {
      margin-top: 1.5rem;
      padding-bottom: 0.875rem;
      padding-left: 1.25rem;
      padding-top: 0.625rem; } }
  @media (min-width: 75em) {
    .fullwidth figcaption {
      margin-top: 1.75rem;
      padding-bottom: 1.125rem;
      padding-left: 1.5rem;
      padding-top: 0.875rem; } }
  @media (min-width: 81.25em) {
    .fullwidth figcaption {
      margin-left: 2.25rem; } }
  @media (min-width: 90em) {
    .fullwidth figcaption {
      max-width: 47.5rem;
      margin-left: 3.125rem;
      margin-top: 2rem;
      padding-bottom: 1.375rem;
      padding-left: 1.75rem;
      padding-top: 1.25rem; } }
  @media (min-width: 112.5em) {
    .fullwidth figcaption {
      margin-left: 4.875rem; } }
  .fullwidth figcaption:before {
    content: '';
    display: block;
    position: absolute;
    background-color: currentColor;
    height: 100%;
    left: 0;
    opacity: .6;
    top: 0;
    width: 0.0625rem; }

/* ==========================================================================
     Image Duo
    ========================================================================== */
@media (min-width: 47.9375em) {
  .imageduo.hoch .col-6 .image-wrapper.hascaption .icon-image, .imageduo.quer .col-6 .image-wrapper.hascaption .icon-image {
    position: relative; } }

.imageduo.hoch .col-6 .image-wrapper.hascaption .icon-image figcaption, .imageduo.quer .col-6 .image-wrapper.hascaption .icon-image figcaption {
  margin-top: 0.625rem;
  padding-bottom: 0.375rem;
  padding-left: 0.5rem;
  padding-top: 0.25rem;
  position: relative; }
  @media (min-width: 31.25em) {
    .imageduo.hoch .col-6 .image-wrapper.hascaption .icon-image figcaption, .imageduo.quer .col-6 .image-wrapper.hascaption .icon-image figcaption {
      padding-left: 0.75rem; } }
  .imageduo.hoch .col-6 .image-wrapper.hascaption .icon-image figcaption:before, .imageduo.quer .col-6 .image-wrapper.hascaption .icon-image figcaption:before {
    content: '';
    display: block;
    position: absolute;
    background-color: currentColor;
    height: 100%;
    left: 0;
    opacity: .6;
    top: 0;
    width: 0.0625rem; }
    @media (min-width: 47.9375em) {
      .imageduo.hoch .col-6 .image-wrapper.hascaption .icon-image figcaption:before, .imageduo.quer .col-6 .image-wrapper.hascaption .icon-image figcaption:before {
        height: 0.0625rem;
        width: 16.25rem; } }
    @media (min-width: 90em) {
      .imageduo.hoch .col-6 .image-wrapper.hascaption .icon-image figcaption:before, .imageduo.quer .col-6 .image-wrapper.hascaption .icon-image figcaption:before {
        width: 13.75rem; } }

@media (min-width: 47.9375em) {
  .imageduo.hoch .col-6 .image-wrapper {
    position: relative;
    width: 80%; } }

@media (min-width: 47.9375em) {
  .imageduo.hoch .col-6:first-child .image-wrapper {
    margin-left: 35%; } }

@media (min-width: 47.9375em) {
  .imageduo.hoch .col-6:first-child .image-wrapper.hascaption .icon-image {
    margin-right: -16.25rem;
    padding-right: 16.25rem; } }

@media (min-width: 62.5em) {
  .imageduo.hoch .col-6:first-child .image-wrapper.hascaption .icon-image {
    margin-right: -16.875rem;
    padding-right: 16.875rem; } }

@media (min-width: 90em) {
  .imageduo.hoch .col-6:first-child .image-wrapper.hascaption .icon-image {
    margin-right: -15rem;
    padding-right: 15rem; } }

@media (min-width: 47.9375em) {
  .imageduo.hoch .col-6:first-child .image-wrapper.hascaption .icon-image figcaption {
    left: auto;
    margin-top: 1.25rem;
    padding-top: 0.625rem;
    position: absolute;
    right: 0;
    top: 0;
    width: 15rem; } }

@media (min-width: 62.5em) {
  .imageduo.hoch .col-6:first-child .image-wrapper.hascaption .icon-image figcaption {
    padding-top: 1.25rem;
    margin-top: 1.875rem; } }

@media (min-width: 90em) {
  .imageduo.hoch .col-6:first-child .image-wrapper.hascaption .icon-image figcaption {
    padding-top: 1.625rem;
    margin-top: 2.5rem;
    width: 12.5rem; } }

@media (min-width: 47.9375em) {
  .imageduo.hoch .col-6:first-child .image-wrapper.hascaption .icon-image figcaption:before {
    top: 0; } }

@media (min-width: 47.9375em) {
  .imageduo.hoch .col-6:nth-child(2) .image-wrapper {
    margin-left: -15%;
    margin-top: 85%;
    z-index: 3; } }

@media (min-width: 47.9375em) {
  .imageduo.hoch .col-6:nth-child(2) .image-wrapper.hascaption .icon-image {
    margin-left: -17.5rem;
    padding-left: 17.5rem; } }

@media (min-width: 62.5em) {
  .imageduo.hoch .col-6:nth-child(2) .image-wrapper.hascaption .icon-image {
    margin-left: -18.125rem;
    padding-left: 18.125rem; } }

@media (min-width: 90em) {
  .imageduo.hoch .col-6:nth-child(2) .image-wrapper.hascaption .icon-image {
    margin-left: -16.25rem;
    padding-left: 16.25rem; } }

@media (min-width: 47.9375em) {
  .imageduo.hoch .col-6:nth-child(2) .image-wrapper.hascaption .icon-image figcaption {
    bottom: 0;
    margin-bottom: 1.25rem;
    padding-bottom: 0.625rem;
    padding-top: 0;
    position: absolute;
    left: 0;
    top: auto;
    width: 15rem; } }

@media (min-width: 62.5em) {
  .imageduo.hoch .col-6:nth-child(2) .image-wrapper.hascaption .icon-image figcaption {
    padding-bottom: 1.25rem;
    margin-bottom: 1.875rem; } }

@media (min-width: 90em) {
  .imageduo.hoch .col-6:nth-child(2) .image-wrapper.hascaption .icon-image figcaption {
    padding-bottom: 1.625rem;
    margin-bottom: 2.5rem;
    width: 12.5rem; } }

@media (min-width: 47.9375em) {
  .imageduo.hoch .col-6:nth-child(2) .image-wrapper.hascaption .icon-image figcaption:before {
    bottom: 0;
    top: auto; } }

@media (min-width: 47.9375em) {
  .imageduo.quer .col-6 .image-wrapper {
    position: relative;
    width: 120%; } }

@media (min-width: 47.9375em) {
  .imageduo.quer .col-6:first-child .image-wrapper {
    margin-top: 65%;
    z-index: 3; } }

@media (min-width: 47.9375em) {
  .imageduo.quer .col-6:first-child .image-wrapper.hascaption .icon-image {
    margin-right: -16.25rem;
    padding-right: 16.25rem; } }

@media (min-width: 62.5em) {
  .imageduo.quer .col-6:first-child .image-wrapper.hascaption .icon-image {
    margin-right: -16.875rem;
    padding-right: 16.875rem; } }

@media (min-width: 90em) {
  .imageduo.quer .col-6:first-child .image-wrapper.hascaption .icon-image {
    margin-right: -15rem;
    padding-right: 15rem; } }

@media (min-width: 47.9375em) {
  .imageduo.quer .col-6:first-child .image-wrapper.hascaption .icon-image figcaption {
    bottom: 0;
    margin-bottom: 1.25rem;
    padding-bottom: 0.625rem;
    padding-top: 0;
    position: absolute;
    right: 0;
    width: 15rem; } }

@media (min-width: 62.5em) {
  .imageduo.quer .col-6:first-child .image-wrapper.hascaption .icon-image figcaption {
    padding-bottom: 1.25rem;
    margin-bottom: 1.875rem; } }

@media (min-width: 90em) {
  .imageduo.quer .col-6:first-child .image-wrapper.hascaption .icon-image figcaption {
    padding-bottom: 1.625rem;
    margin-bottom: 2.5rem;
    width: 12.5rem; } }

@media (min-width: 47.9375em) {
  .imageduo.quer .col-6:first-child .image-wrapper.hascaption .icon-image figcaption:before {
    bottom: 0;
    top: auto; } }

@media (min-width: 47.9375em) {
  .imageduo.quer .col-6:nth-child(2) .image-wrapper {
    margin-left: -20%; } }

@media (min-width: 47.9375em) {
  .imageduo.quer .col-6:nth-child(2) .image-wrapper.hascaption .icon-image {
    margin-left: -17.5rem;
    padding-left: 17.5rem; } }

@media (min-width: 62.5em) {
  .imageduo.quer .col-6:nth-child(2) .image-wrapper.hascaption .icon-image {
    margin-left: -18.125rem;
    padding-left: 18.125rem; } }

@media (min-width: 90em) {
  .imageduo.quer .col-6:nth-child(2) .image-wrapper.hascaption .icon-image {
    margin-left: -16.25rem;
    padding-left: 16.25rem; } }

@media (min-width: 47.9375em) {
  .imageduo.quer .col-6:nth-child(2) .image-wrapper.hascaption .icon-image figcaption {
    margin-top: 1.25rem;
    padding-top: 0.625rem;
    position: absolute;
    left: 0;
    top: 0;
    width: 15rem; } }

@media (min-width: 62.5em) {
  .imageduo.quer .col-6:nth-child(2) .image-wrapper.hascaption .icon-image figcaption {
    padding-top: 1.25rem;
    margin-top: 1.875rem; } }

@media (min-width: 90em) {
  .imageduo.quer .col-6:nth-child(2) .image-wrapper.hascaption .icon-image figcaption {
    padding-top: 1.625rem;
    margin-top: 2.5rem;
    width: 12.5rem; } }

@media (min-width: 47.9375em) {
  .imageduo.quer .col-6:nth-child(2) .image-wrapper.hascaption .icon-image figcaption:before {
    top: 0; } }

/* ==========================================================================
   	 Wrapper
   	========================================================================== */
.outer-wrapper {
  min-height: 100%;
  min-height: 100vh;
  overflow: hidden;
  position: relative;
  width: 100%; }
  .outer-wrapper > .inner-wrapper {
    background-color: #ffffff;
    min-height: 100vh;
    -webkit-transition: -webkit-transform .4s ease-in-out;
    transition: -webkit-transform .4s ease-in-out;
    transition: transform .4s ease-in-out;
    transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out; }

.wrapper {
  margin-left: 1.25rem;
  margin-right: 1.25rem; }
  @media (min-width: 31.25em) {
    .wrapper {
      margin-left: 1.875rem;
      margin-right: 1.875rem; } }
  @media (min-width: 47.9375em) {
    .wrapper {
      margin-left: 2.5rem;
      margin-right: 2.5rem; } }
  @media (min-width: 53.75em) {
    .wrapper {
      margin-left: 3.75rem;
      margin-right: 3.75rem; } }
  @media (min-width: 75em) {
    .wrapper {
      margin-left: 6.25rem;
      margin-right: 6.25rem; } }
  @media (min-width: 81.25em) {
    .wrapper {
      margin-left: auto;
      margin-right: auto;
      width: 75rem; } }
  @media (min-width: 90em) {
    .wrapper {
      width: 81.25rem; } }

.fullwidth .wrapper {
  margin-left: 0;
  margin-right: 0; }
  @media (min-width: 53.75em) {
    .fullwidth .wrapper {
      margin-left: 1.25em;
      margin-right: 1.25em; } }
  @media (min-width: 75em) {
    .fullwidth .wrapper {
      margin-left: 3.75em;
      margin-right: 3.75em; } }
  @media (min-width: 81.25em) {
    .fullwidth .wrapper {
      margin-left: auto;
      margin-right: auto; } }
  @media (min-width: 81.25em) {
    .fullwidth .wrapper .image-wrapper {
      left: 50%;
      margin-left: -53%;
      margin-right: -53%;
      position: relative;
      right: 50%;
      width: 106%; } }
  @media (min-width: 90em) {
    .fullwidth .wrapper .image-wrapper {
      margin-left: -54%;
      margin-right: -54%;
      width: 108%; } }
  @media (min-width: 112.5em) {
    .fullwidth .wrapper .image-wrapper {
      margin-left: -56%;
      margin-right: -56%;
      width: 112%; } }

/*

	.section-header .inner-wrapper{
		padding-left: scut-em(20);
		padding-right: scut-em(20);
		@include mq($from: palm){
			padding-left: scut-em(30);
			padding-right: scut-em(30);
		}
	}
	*/
@media (min-width: 47.9375em) {
  .text-content {
    max-width: 37.5rem; } }

@media (min-width: 90em) {
  .text-content {
    max-width: 47.5rem; } }

/* ==========================================================================
   	 Coloration and Illustrations
   	========================================================================== */
.container.page-header.hasbgillu {
  position: inherit; }
  .container.page-header.hasbgillu:after {
    height: 60%;
    margin-top: -2%; }
    @media (min-width: 62.5em) {
      .container.page-header.hasbgillu:after {
        height: 70%; } }
    @media (min-width: 90em) {
      .container.page-header.hasbgillu:after {
        height: 80%; } }
    @media (min-width: 112.5em) {
      .container.page-header.hasbgillu:after {
        height: 100%; } }

.blue .outer-wrapper {
  background-color: #F5FCFE; }

.blue .page-header.hasbgillu:after {
  background-image: url("/assets/images/bg/foot_blue.png");
  background-image: none, url("/assets/images/bg/foot_blue.svg"); }

.blue .site-footer {
  background-color: #F5FCFE; }

.yellow .outer-wrapper {
  background-color: #FFFAEB; }

.yellow .page-header.hasbgillu:after {
  background-image: url("/assets/images/bg/foot_yellow.png");
  background-image: none, url("/assets/images/bg/foot_yellow.svg"); }

.yellow .breadcrumbs li.last a {
  background-color: #ECE4CA; }
  .yellow .breadcrumbs li.last a:active, .yellow .breadcrumbs li.last a:focus, .yellow .breadcrumbs li.last a:hover {
    background-color: #D7C693; }

.yellow .btn {
  background-color: #ECE4CA; }
  .yellow .btn:active, .yellow .btn:focus, .yellow .btn:hover {
    background-color: #D7C693; }

.yellow .site-footer {
  background-color: #FFFAEB; }
  .yellow .site-footer .btn {
    background-color: #ECE4CA; }
    .yellow .site-footer .btn:active, .yellow .site-footer .btn:focus, .yellow .site-footer .btn:hover {
      background-color: #D7C693; }

.hasbgillu > * {
  position: relative;
  z-index: 3; }

.hasbgillu:after {
  content: '';
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100%;
  height: 200%;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 0; }
  @media (min-width: 90em) {
    .hasbgillu:after {
      height: 300%; } }

.hasbgillu + .container > * {
  position: relative;
  z-index: 3; }

.hasbgillu + .container + .container > * {
  position: relative;
  z-index: 3; }

.container.hasbgillu {
  position: relative; }
  .container.hasbgillu.yellow:after {
    background-image: url("/assets/images/bg/foot_yellow.png");
    background-image: none, url("/assets/images/bg/foot_yellow.svg"); }
  .container.hasbgillu.blue:after {
    background-image: url("/assets/images/bg/foot_blue.png");
    background-image: none, url("/assets/images/bg/foot_blue.svg"); }

/* ==========================================================================
   	 Container: Layout
   	========================================================================== */
.container .text-content + .text-content {
  padding-top: 1.4rem; }
  @media (min-width: 31.25em) {
    .container .text-content + .text-content {
      padding-top: 2rem; } }
  @media (min-width: 62.5em) {
    .container .text-content + .text-content {
      padding-top: 3rem; } }
  @media (min-width: 75em) {
    .container .text-content + .text-content {
      padding-top: 4rem; } }

.container + .container {
  padding-top: 3rem; }
  @media (min-width: 31.25em) {
    .container + .container {
      padding-top: 4rem; } }
  @media (min-width: 62.5em) {
    .container + .container {
      padding-top: 6rem; } }
  @media (min-width: 75em) {
    .container + .container {
      padding-top: 10rem; } }

@media (min-width: 47.9375em) {
  .container + .container.imageduo,
  .container + .container.zitat {
    padding-top: 6rem; } }

@media (min-width: 75em) {
  .container + .container.imageduo,
  .container + .container.zitat {
    padding-top: 10rem; } }

@media (min-width: 90em) {
  .container + .container.imageduo,
  .container + .container.zitat {
    padding-top: 14rem; } }

@media (min-width: 37.5em) {
  .container + .container.kontakt {
    padding-top: 6rem; } }

@media (min-width: 47.9375em) {
  .container + .container.kontakt {
    padding-top: 8rem; } }

@media (min-width: 53.75em) {
  .container + .container.kontakt {
    padding-top: 12rem; } }

@media (min-width: 90em) {
  .container + .container.kontakt {
    padding-top: 18rem; } }

.content .container:last-child {
  padding-bottom: 3rem; }
  @media (min-width: 31.25em) {
    .content .container:last-child {
      padding-bottom: 4rem; } }
  @media (min-width: 62.5em) {
    .content .container:last-child {
      padding-bottom: 6rem; } }
  @media (min-width: 75em) {
    .content .container:last-child {
      padding-bottom: 10rem; } }

@media (min-width: 53.75em) {
  .container.imageduo + .container.imageduo {
    padding-top: 8rem; } }

@media (min-width: 62.5em) {
  .container.imageduo + .container.imageduo {
    padding-top: 10rem; } }

@media (min-width: 75em) {
  .container.imageduo + .container.imageduo {
    padding-top: 12rem; } }

@media (min-width: 90em) {
  .container.imageduo + .container.imageduo {
    padding-top: 14rem; } }

@media (min-width: 47.9375em) {
  .container.imageduo + .container {
    padding-top: 6rem; } }

@media (min-width: 75em) {
  .container.imageduo + .container {
    padding-top: 10rem; } }

@media (min-width: 90em) {
  .container.imageduo + .container {
    padding-top: 14rem; } }

@media (min-width: 37.5em) {
  .container.imageduo + .container.kontakt {
    padding-top: 6rem; } }

@media (min-width: 47.9375em) {
  .container.imageduo + .container.kontakt {
    padding-top: 8rem; } }

@media (min-width: 53.75em) {
  .container.imageduo + .container.kontakt {
    padding-top: 10rem; } }

@media (min-width: 75em) {
  .container.imageduo + .container.kontakt {
    padding-top: 14rem; } }

@media (min-width: 90em) {
  .container.imageduo + .container.kontakt {
    padding-top: 16rem; } }

/* ==========================================================================
   Base
   ========================================================================== */
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
/* =============================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/*
 * 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/*
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/*
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* =============================================================================
   Base
   ========================================================================== */
/*
 * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
 *    http://clagnut.com/blog/348/#c790
 * 2. Keeps page centred in all browsers regardless of content height
 * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom
 *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
 * 4. Correct the line height in all browsers.
 */
html {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 4 */
  overflow-y: scroll;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
  -ms-text-size-adjust: 100%;
  /* 3 */ }

/**
 * Remove default margin.


 */
body {
  margin: 0;
  padding: 0;
  /* cubegrafik */ }

/* =============================================================================
/**
 * Remove the gray background color from active links in IE 10.

 */
a {
  background: transparent; }

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted; }

/* =============================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/*
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/*
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/*
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

/*
 * Improves readability of pre-formatted text in all browsers
 * Contain overflow in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow: auto; }

/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**

 * Prevent `sub` and `sup` affecting `line-height` in all browsers.

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* =============================================================================
   Embedded content
   ========================================================================== */
/*
 * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
 * 2. Improves image quality when scaled in IE7
 *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */
img {
  border: 0;
  /* 1 */
  -ms-interpolation-mode: bicubic;
  /* 2 */ }

/*
 * Corrects overflow displayed oddly in IE9
 */
svg:not(:root) {
  overflow: hidden; }

/* =============================================================================
   Figures
   ========================================================================== */
/*
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0; }

/* =============================================================================
   Forms
   ========================================================================== */
/*
 * Corrects margin displayed oddly in IE6/7
 */
form {
  margin: 0; }

/*
 * Define consistent border, margin, and padding
 */
fieldset {
  border: 0;
  /* cubegrafik */
  margin: 0;
  /* cubegrafik */
  padding: 0;
  /* cubegrafik */ }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
  border: 0; }

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.

 * 4. Improves appearance and consistency in all browsers
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  margin: 0;
  /* 2 */
  vertical-align: baseline;
  /* 4 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**

 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 * and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 * `input` and others.
 * 4. Removes inner spacing in IE7 without affecting normal text inputs.
 * Known issue: inner spacing remains in IE6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
  *overflow: visible;
  /* 4 */ }

/*
 * Re-set default cursor for disabled elements
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
input::-moz-focus-inner
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**

 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).

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

/**

 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* =============================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* ==========================================================================
   Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/* ==========================================================================
   Elements cubegrafik
   ========================================================================== */
a:active {
  outline: none; }

div, p {
  padding: 0;
  margin: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

th, td {
  vertical-align: top;
  text-align: left; }

input,
textarea {
  /* Removed because of visibilitychange-addition to fancy-forms plugin.
     * 2015/01/22 - Florian Mäder
     * -webkit-appearance: none;*/
  -webkit-border-radius: 0; }

html {
  -webkit-box-sizing: border-box;
  /* Safari 3.0 - 5.0, Chrome 1 - 9, Android 2.1 - 3.x */
  /* Firefox 1 - 28 */
  box-sizing: border-box;
  /* Safari 5.1+, Chrome 10+, Firefox 29+, Opera 7+, IE 8+, Android 4.0+, iOS any */ }

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

label[for] {
  cursor: pointer;
  -ms-touch-action: manipulation;
  /* IE 10  */
  touch-action: manipulation;
  /* IE 11+ */ }

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth; }

/* ==========================================================================
   Fonts
   ========================================================================== */
/* ==========================================================================
   Defaults
   ========================================================================== */
body {
  color: #214f61;
  font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
  font-size: 1em;
  font-weight: 300;
  letter-spacing: -0.009375em;
  line-height: 1.5;
  word-spacing: 0.0375em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  hyphenate-limit-chars: 6 3 4; }

/* ==========================================================================
   	 Titles
   	========================================================================== */
h1,
.h1,
.quote .text {
  font-size: 1.875em;
  line-height: 1.2;
  margin: 0;
  word-spacing: -0.0625em; }
  @media (min-width: 20em) {
    h1,
    .h1,
    .quote .text {
      font-size: 2.25em; } }
  @media (min-width: 31.25em) {
    h1,
    .h1,
    .quote .text {
      font-size: 2.5em; } }
  @media (min-width: 53.75em) {
    h1,
    .h1,
    .quote .text {
      font-size: 3.125em; } }
  @media (min-width: 75em) {
    h1,
    .h1,
    .quote .text {
      font-size: 3.75em;
      letter-spacing: -0.021875em;
      word-spacing: -0.028125em; } }
  @media (min-width: 81.25em) {
    h1,
    .h1,
    .quote .text {
      font-size: 4.375em;
      letter-spacing: -0.021875em;
      word-spacing: -0.028125em; } }

h2,
.h2 {
  font-size: 1.625em;
  word-spacing: -0.05em; }
  @media (min-width: 20em) {
    h2,
    .h2 {
      font-size: 1.875em; } }
  @media (min-width: 31.25em) {
    h2,
    .h2 {
      font-size: 2.125em; } }
  @media (min-width: 53.75em) {
    h2,
    .h2 {
      font-size: 2.625em; } }
  @media (min-width: 75em) {
    h2,
    .h2 {
      font-size: 2.875em;
      letter-spacing: -0.015625em;
      word-spacing: -0.025em; } }
  @media (min-width: 81.25em) {
    h2,
    .h2 {
      font-size: 3.125em; } }

h3,
.h3 {
  font-size: 1.375em;
  word-spacing: -0.05em; }
  @media (min-width: 20em) {
    h3,
    .h3 {
      font-size: 1.625em; } }
  @media (min-width: 31.25em) {
    h3,
    .h3 {
      font-size: 1.875em; } }
  @media (min-width: 53.75em) {
    h3,
    .h3 {
      font-size: 2.25em; } }
  @media (min-width: 75em) {
    h3,
    .h3 {
      font-size: 2.5em;
      letter-spacing: -0.015625em;
      word-spacing: -0.025em; } }
  @media (min-width: 81.25em) {
    h3,
    .h3 {
      font-size: 2.75em; } }

h4,
.h4 {
  font-size: 1.25em;
  word-spacing: -0.03125em; }
  @media (min-width: 20em) {
    h4,
    .h4 {
      font-size: 1.5em; } }
  @media (min-width: 31.25em) {
    h4,
    .h4 {
      font-size: 1.625em; } }
  @media (min-width: 53.75em) {
    h4,
    .h4 {
      font-size: 2em; } }
  @media (min-width: 75em) {
    h4,
    .h4 {
      font-size: 2.25em;
      letter-spacing: -0.015625em;
      word-spacing: -0.025em; } }
  @media (min-width: 81.25em) {
    h4,
    .h4 {
      font-size: 2.5em; } }

h5,
.h5 {
  font-size: 1.125em;
  word-spacing: -0.01875em; }
  @media (min-width: 20em) {
    h5,
    .h5 {
      font-size: 1.375em; } }
  @media (min-width: 31.25em) {
    h5,
    .h5 {
      font-size: 1.5em; } }
  @media (min-width: 53.75em) {
    h5,
    .h5 {
      font-size: 1.75em; } }
  @media (min-width: 75em) {
    h5,
    .h5 {
      font-size: 2em;
      letter-spacing: -0.0125em;
      word-spacing: -0.01875em; } }
  @media (min-width: 81.25em) {
    h5,
    .h5 {
      font-size: 2.25em; } }

h6,
.h6 {
  font-size: 1em;
  word-spacing: -0.01875em; }
  @media (min-width: 20em) {
    h6,
    .h6 {
      font-size: 1.125em; } }
  @media (min-width: 31.25em) {
    h6,
    .h6 {
      font-size: 1.25em; } }
  @media (min-width: 53.75em) {
    h6,
    .h6 {
      font-size: 1.375em; } }
  @media (min-width: 75em) {
    h6,
    .h6 {
      font-size: 1.5em;
      letter-spacing: -0.0125em;
      word-spacing: -0.01875em; } }
  @media (min-width: 81.25em) {
    h6,
    .h6 {
      font-size: 1.75em; } }

h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  line-height: 1.3; }

h6,
.h6 {
  line-height: 1.3; }
  @media (min-width: 37.5em) {
    h6,
    .h6 {
      line-height: 1.2; } }

/* ==========================================================================
   	 Semibold  
   	========================================================================== */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.nav-item,
.section-title,
.btn,
.contact-list dd {
  font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  letter-spacing: -0.009375em;
  margin: 0;
  word-spacing: 0.0375em; }

/* =====================================
   	 Semibold Lauftext
   	==================================== */
b,
strong {
  font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  letter-spacing: -0.0375em;
  word-spacing: 0.053125em; }

/* ==========================================================================
   Paragraphs, Lists
   ========================================================================== */
p.lead {
  font-size: 1.25em; }
  @media (min-width: 31.25em) {
    p.lead {
      font-size: 1.375em; } }
  @media (min-width: 53.75em) {
    p.lead {
      font-size: 1.5em; } }
  @media (min-width: 75em) {
    p.lead {
      font-size: 1.625em; } }

p,
dl,
ul {
  margin: 0;
  padding: 0; }

p,
dl,
ul,
.breadcrumbs-title {
  font-size: 1em; }
  @media (min-width: 31.25em) {
    p,
    dl,
    ul,
    .breadcrumbs-title {
      font-size: 1.125em; } }
  @media (min-width: 53.75em) {
    p,
    dl,
    ul,
    .breadcrumbs-title {
      font-size: 1.25em; } }
  @media (min-width: 75em) {
    p,
    dl,
    ul,
    .breadcrumbs-title {
      font-size: 1.375em; } }

#content * + p,
#content * + ul,
#content * + dl,
#content * + h2,
#content * + h3,
#content * + h4,
#content * + h5,
#content * + h6 {
  padding-top: 0.875em; }
  @media (min-width: 31.25em) {
    #content * + p,
    #content * + ul,
    #content * + dl,
    #content * + h2,
    #content * + h3,
    #content * + h4,
    #content * + h5,
    #content * + h6 {
      padding-top: 1em; } }
  @media (min-width: 53.75em) {
    #content * + p,
    #content * + ul,
    #content * + dl,
    #content * + h2,
    #content * + h3,
    #content * + h4,
    #content * + h5,
    #content * + h6 {
      padding-top: 1.125em; } }
  @media (min-width: 75em) {
    #content * + p,
    #content * + ul,
    #content * + dl,
    #content * + h2,
    #content * + h3,
    #content * + h4,
    #content * + h5,
    #content * + h6 {
      padding-top: 1.25em; } }

#content .h2 + *,
#content h2 + * {
  padding-top: 1.4rem; }
  @media (min-width: 31.25em) {
    #content .h2 + *,
    #content h2 + * {
      padding-top: 2rem; } }
  @media (min-width: 62.5em) {
    #content .h2 + *,
    #content h2 + * {
      padding-top: 3rem; } }
  @media (min-width: 75em) {
    #content .h2 + *,
    #content h2 + * {
      padding-top: 4rem; } }

#content .h3 + *,
#content h3 + * {
  padding-top: 1.125em; }
  @media (min-width: 31.25em) {
    #content .h3 + *,
    #content h3 + * {
      padding-top: 1.25em; } }
  @media (min-width: 47.9375em) {
    #content .h3 + *,
    #content h3 + * {
      padding-top: 1.375em; } }
  @media (min-width: 75em) {
    #content .h3 + *,
    #content h3 + * {
      padding-top: 1.5em; } }
  @media (min-width: 90em) {
    #content .h3 + *,
    #content h3 + * {
      padding-top: 1.625em; } }

#content .h4 + *,
#content h4 + * {
  padding-top: 0.875em; }
  @media (min-width: 31.25em) {
    #content .h4 + *,
    #content h4 + * {
      padding-top: 1em; } }
  @media (min-width: 47.9375em) {
    #content .h4 + *,
    #content h4 + * {
      padding-top: 1.125em; } }
  @media (min-width: 75em) {
    #content .h4 + *,
    #content h4 + * {
      padding-top: 1.25em; } }
  @media (min-width: 90em) {
    #content .h4 + *,
    #content h4 + * {
      padding-top: 1.375em; } }

#content .h5 + *,
#content h5 + * {
  padding-top: 0.625em; }
  @media (min-width: 31.25em) {
    #content .h5 + *,
    #content h5 + * {
      padding-top: 0.75em; } }
  @media (min-width: 47.9375em) {
    #content .h5 + *,
    #content h5 + * {
      padding-top: 0.875em; } }
  @media (min-width: 75em) {
    #content .h5 + *,
    #content h5 + * {
      padding-top: 1em; } }
  @media (min-width: 90em) {
    #content .h5 + *,
    #content h5 + * {
      padding-top: 1.125em; } }

#content .h6 + *,
#content h6 + * {
  padding-top: 0.375em; }
  @media (min-width: 31.25em) {
    #content .h6 + *,
    #content h6 + * {
      padding-top: 0.5em; } }
  @media (min-width: 47.9375em) {
    #content .h6 + *,
    #content h6 + * {
      padding-top: 0.625em; } }
  @media (min-width: 75em) {
    #content .h6 + *,
    #content h6 + * {
      padding-top: 0.75em; } }
  @media (min-width: 90em) {
    #content .h6 + *,
    #content h6 + * {
      padding-top: 0.875em; } }

#content * + .nopadding {
  padding-top: 0; }

#content * + .smallpadding {
  padding-top: 0.4375em; }
  @media (min-width: 31.25em) {
    #content * + .smallpadding {
      padding-top: 0.5em; } }
  @media (min-width: 53.75em) {
    #content * + .smallpadding {
      padding-top: 0.5625em; } }
  @media (min-width: 75em) {
    #content * + .smallpadding {
      padding-top: 0.625em; } }

#content ul {
  list-style: none; }

#content ul.big li {
  font-size: 1.125em; }
  #content ul.big li:before {
    margin-top: 0.75rem; }

/* ==========================================================================
   Quirks
   ========================================================================== */
.new-line {
  display: block; }

p.small {
  font-size: 80%; }

/* ==========================================================================
   Links
   ========================================================================== */
a {
  color: #214f61; }

/* ==========================================================================
  	 Webfonts
   	========================================================================== */
/* ==========================================================================
   	 Laufschrift (Myriad Regular)
	========================================================================== */
.no-js body,
.wf_m body {
  font-family: myriad-pro, Helvetica, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  word-spacing: 0; }

/* ==========================================================================
     Laufschrift Bold (Myriad Semibold)
	========================================================================== */
.no-js b,
.no-js strong,
.wf_mb b,
.wf_mb strong {
  font-family: myriad-pro, Helvetica, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  word-spacing: 0; }

/* ==========================================================================
   	 Italic (not in use at the moment)
	========================================================================== */
/*
   	.no-js,
   	.wf_light-italic{
   		em{
   			font-family: $font-stack-webfont;
			letter-spacing: 0;
			word-spacing: 0;
   		}
   	}
	*/
/* ==========================================================================
   	 Bold ()
   	========================================================================== */
.no-js .website-title,
.no-js h1,
.no-js .h1,
.no-js h2,
.no-js .h2,
.no-js h3,
.no-js .h3,
.no-js h4,
.no-js .h4,
.no-js h5,
.no-js .h5,
.no-js h6,
.no-js .h6,
.no-js .breadcrumbs,
.no-js .btn,
.no-js .section-title,
.no-js .link,
.no-js .button,
.no-js .nav-item,
.no-js .quote .text,
.no-js .contact-list dd,
.wf_bold .website-title,
.wf_bold h1,
.wf_bold .h1,
.wf_bold h2,
.wf_bold .h2,
.wf_bold h3,
.wf_bold .h3,
.wf_bold h4,
.wf_bold .h4,
.wf_bold h5,
.wf_bold .h5,
.wf_bold h6,
.wf_bold .h6,
.wf_bold .breadcrumbs,
.wf_bold .btn,
.wf_bold .section-title,
.wf_bold .link,
.wf_bold .button,
.wf_bold .nav-item,
.wf_bold .quote .text,
.wf_bold .contact-list dd {
  font-family: jaf-bernina-sans-narrow, Helvetica, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  word-spacing: 0; }

.smooth-scroll {
  scroll-behavior: smooth; }

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

/* ==========================================================================
    Grid
   	========================================================================== */
/* ==========================================================================
   	 Grid Full (Float)
    ========================================================================== */
.row.full {
  margin-bottom: -1.875rem; }
  .row.full .col-1,
  .row.full .col-2,
  .row.full .col-3,
  .row.full .col-4,
  .row.full .col-5,
  .row.full .col-6,
  .row.full .col-7,
  .row.full .col-8,
  .row.full .col-9,
  .row.full .col-10,
  .row.full .col-11 {
    padding-bottom: 1.875rem; }
  @media (min-width: 37.5em) {
    .row.full.plmr {
      *zoom: 1;
      margin-bottom: -1.25rem;
      margin-left: -0.625rem;
      margin-right: -0.625rem; }
      .row.full.plmr:after, .row.full.plmr:before {
        content: " ";
        display: table; }
      .row.full.plmr:after {
        clear: both; }
      .row.full.plmr > .col-1,
      .row.full.plmr > .col-2,
      .row.full.plmr > .col-3,
      .row.full.plmr > .col-4,
      .row.full.plmr > .col-5,
      .row.full.plmr > .col-6,
      .row.full.plmr > .col-7,
      .row.full.plmr > .col-8,
      .row.full.plmr > .col-9,
      .row.full.plmr > .col-10,
      .row.full.plmr > .col-11,
      .row.full.plmr > .col-12 {
        float: left;
        padding-bottom: 1.25rem;
        padding-left: 0.625rem;
        padding-right: 0.625rem; }
      .row.full.plmr > .col-1 {
        width: 8.33333%; }
      .row.full.plmr > .col-2 {
        width: 16.66667%; }
      .row.full.plmr > .col-3 {
        width: 25%; }
      .row.full.plmr > .col-4 {
        width: 33.333%; }
      .row.full.plmr > .col-5 {
        width: 41.667%; }
      .row.full.plmr > .col-6 {
        width: 50%; }
      .row.full.plmr > .col-7 {
        width: 58.333%; }
      .row.full.plmr > .col-8 {
        width: 66.667%; }
      .row.full.plmr > .col-9 {
        width: 75%; }
      .row.full.plmr > .col-10 {
        width: 83.333%; }
      .row.full.plmr > .col-11 {
        width: 91.667%; }
      .row.full.plmr > .col-12 {
        width: 100%; } }
  @media (min-width: 47.9375em) {
    .row.full.tblt {
      *zoom: 1;
      margin-bottom: -1.25rem;
      margin-left: -0.625rem;
      margin-right: -0.625rem; }
      .row.full.tblt:after, .row.full.tblt:before {
        content: " ";
        display: table; }
      .row.full.tblt:after {
        clear: both; }
      .row.full.tblt > .col-1,
      .row.full.tblt > .col-2,
      .row.full.tblt > .col-3,
      .row.full.tblt > .col-4,
      .row.full.tblt > .col-5,
      .row.full.tblt > .col-6,
      .row.full.tblt > .col-7,
      .row.full.tblt > .col-8,
      .row.full.tblt > .col-9,
      .row.full.tblt > .col-10,
      .row.full.tblt > .col-11,
      .row.full.tblt > .col-12 {
        float: left;
        padding-bottom: 1.25rem;
        padding-left: 0.625rem;
        padding-right: 0.625rem; }
      .row.full.tblt > .col-1 {
        width: 8.33333%; }
      .row.full.tblt > .col-2 {
        width: 16.66667%; }
      .row.full.tblt > .col-3 {
        width: 25%; }
      .row.full.tblt > .col-4 {
        width: 33.333%; }
      .row.full.tblt > .col-5 {
        width: 41.667%; }
      .row.full.tblt > .col-6 {
        width: 50%; }
      .row.full.tblt > .col-7 {
        width: 58.333%; }
      .row.full.tblt > .col-8 {
        width: 66.667%; }
      .row.full.tblt > .col-9 {
        width: 75%; }
      .row.full.tblt > .col-10 {
        width: 83.333%; }
      .row.full.tblt > .col-11 {
        width: 91.667%; }
      .row.full.tblt > .col-12 {
        width: 100%; } }
  @media (min-width: 47.9375em) {
    .row.full.biggaps {
      margin-bottom: -2.5rem;
      margin-left: -1.25rem;
      margin-right: -1.25rem; }
      .row.full.biggaps > .col-1,
      .row.full.biggaps > .col-2,
      .row.full.biggaps > .col-3,
      .row.full.biggaps > .col-4,
      .row.full.biggaps > .col-5,
      .row.full.biggaps > .col-6,
      .row.full.biggaps > .col-7,
      .row.full.biggaps > .col-8,
      .row.full.biggaps > .col-9,
      .row.full.biggaps > .col-10,
      .row.full.biggaps > .col-11,
      .row.full.biggaps > .col-12 {
        padding-bottom: 2.5rem;
        padding-left: 1.25rem;
        padding-right: 1.25rem; } }
  @media (min-width: 81.25em) {
    .row.full.biggaps {
      margin-bottom: -3.75rem;
      margin-left: -1.875rem;
      margin-right: -1.875rem; }
      .row.full.biggaps > .col-1,
      .row.full.biggaps > .col-2,
      .row.full.biggaps > .col-3,
      .row.full.biggaps > .col-4,
      .row.full.biggaps > .col-5,
      .row.full.biggaps > .col-6,
      .row.full.biggaps > .col-7,
      .row.full.biggaps > .col-8,
      .row.full.biggaps > .col-9,
      .row.full.biggaps > .col-10,
      .row.full.biggaps > .col-11,
      .row.full.biggaps > .col-12 {
        padding-bottom: 3.75rem;
        padding-left: 1.875rem;
        padding-right: 1.875rem; } }
  @media (min-width: 37.5em) {
    .row.full.fifty.plmr {
      *zoom: 1;
      margin-bottom: -1.25rem;
      margin-left: -0.625rem;
      margin-right: -0.625rem; }
      .row.full.fifty.plmr:after, .row.full.fifty.plmr:before {
        content: " ";
        display: table; }
      .row.full.fifty.plmr:after {
        clear: both; }
      .row.full.fifty.plmr > .col-1,
      .row.full.fifty.plmr > .col-2,
      .row.full.fifty.plmr > .col-3,
      .row.full.fifty.plmr > .col-4,
      .row.full.fifty.plmr > .col-5,
      .row.full.fifty.plmr > .col-6,
      .row.full.fifty.plmr > .col-7,
      .row.full.fifty.plmr > .col-8,
      .row.full.fifty.plmr > .col-9,
      .row.full.fifty.plmr > .col-10,
      .row.full.fifty.plmr > .col-11,
      .row.full.fifty.plmr > .col-12 {
        float: left;
        padding-bottom: 1.25rem;
        padding-left: 0.625rem;
        padding-right: 0.625rem;
        width: 50%; } }
  @media (min-width: 53.75em) {
    .row.full.fifty.plmr > .col-1 {
      width: 8.33333%; }
    .row.full.fifty.plmr > .col-2 {
      width: 16.66667%; }
    .row.full.fifty.plmr > .col-3 {
      width: 25%; }
    .row.full.fifty.plmr > .col-4 {
      width: 33.333%; }
    .row.full.fifty.plmr > .col-5 {
      width: 41.667%; }
    .row.full.fifty.plmr > .col-6 {
      width: 50%; }
    .row.full.fifty.plmr > .col-7 {
      width: 58.333%; }
    .row.full.fifty.plmr > .col-8 {
      width: 66.667%; }
    .row.full.fifty.plmr > .col-9 {
      width: 75%; }
    .row.full.fifty.plmr > .col-10 {
      width: 83.333%; }
    .row.full.fifty.plmr > .col-11 {
      width: 91.667%; }
    .row.full.fifty.plmr > .col-12 {
      width: 100%; } }
  @media (min-width: 53.75em) {
    .row.full.fifty.bgtblt {
      *zoom: 1;
      margin-bottom: -1.25rem;
      margin-left: -0.625rem;
      margin-right: -0.625rem; }
      .row.full.fifty.bgtblt:after, .row.full.fifty.bgtblt:before {
        content: " ";
        display: table; }
      .row.full.fifty.bgtblt:after {
        clear: both; }
      .row.full.fifty.bgtblt > .col-1,
      .row.full.fifty.bgtblt > .col-2,
      .row.full.fifty.bgtblt > .col-3,
      .row.full.fifty.bgtblt > .col-4,
      .row.full.fifty.bgtblt > .col-5,
      .row.full.fifty.bgtblt > .col-6,
      .row.full.fifty.bgtblt > .col-7,
      .row.full.fifty.bgtblt > .col-8,
      .row.full.fifty.bgtblt > .col-9,
      .row.full.fifty.bgtblt > .col-10,
      .row.full.fifty.bgtblt > .col-11,
      .row.full.fifty.bgtblt > .col-12 {
        float: left;
        padding-bottom: 1.25rem;
        padding-left: 0.625rem;
        padding-right: 0.625rem;
        width: 50%; }
      .row.full.fifty.bgtblt > .col-1 {
        width: 8.33333%; }
      .row.full.fifty.bgtblt > .col-2 {
        width: 16.66667%; }
      .row.full.fifty.bgtblt > .col-3 {
        width: 25%; }
      .row.full.fifty.bgtblt > .col-4 {
        width: 33.333%; }
      .row.full.fifty.bgtblt > .col-5 {
        width: 41.667%; }
      .row.full.fifty.bgtblt > .col-6 {
        width: 50%; }
      .row.full.fifty.bgtblt > .col-7 {
        width: 58.333%; }
      .row.full.fifty.bgtblt > .col-8 {
        width: 66.667%; }
      .row.full.fifty.bgtblt > .col-9 {
        width: 75%; }
      .row.full.fifty.bgtblt > .col-10 {
        width: 83.333%; }
      .row.full.fifty.bgtblt > .col-11 {
        width: 91.667%; }
      .row.full.fifty.bgtblt > .col-12 {
        width: 100%; } }
  @media (min-width: 81.25em) {
    .row.full {
      margin-bottom: -1.875rem;
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; }
      .row.full > .col-1,
      .row.full > .col-2,
      .row.full > .col-3,
      .row.full > .col-4,
      .row.full > .col-5,
      .row.full > .col-6,
      .row.full > .col-7,
      .row.full > .col-8,
      .row.full > .col-9,
      .row.full > .col-10,
      .row.full > .col-11,
      .row.full > .col-12 {
        padding-bottom: 1.875rem;
        padding-left: 0.9375rem;
        padding-right: 0.9375rem; } }
  .row.full.text {
    margin-bottom: 0; }
    .row.full.text > .col-1,
    .row.full.text > .col-2,
    .row.full.text > .col-3,
    .row.full.text > .col-4,
    .row.full.text > .col-5,
    .row.full.text > .col-6,
    .row.full.text > .col-7,
    .row.full.text > .col-8,
    .row.full.text > .col-9,
    .row.full.text > .col-10,
    .row.full.text > .col-11,
    .row.full.text > .col-12 {
      padding-bottom: 0; }
    @media (max-width: 47.9275em) {
      .row.full.text > .col-1 + *,
      .row.full.text > .col-2 + *,
      .row.full.text > .col-3 + *,
      .row.full.text > .col-4 + *,
      .row.full.text > .col-5 + *,
      .row.full.text > .col-6 + *,
      .row.full.text > .col-7 + *,
      .row.full.text > .col-8 + *,
      .row.full.text > .col-9 + *,
      .row.full.text > .col-10 + *,
      .row.full.text > .col-11 + * {
        padding-top: 0.3125rem; } }

* + .row.full {
  padding-top: 1.875rem; }

/* ==========================================================================
   	 Grid Full (Flex)
   	========================================================================== */
@supports (display: flex) {
  @media (min-width: 37.5em) {
    .row.full.plmr.reverse {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; } }
  @media (min-width: 37.5em) {
    .row.full.plmr {
      *zoom: normal;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap; }
      .row.full.plmr:after, .row.full.plmr:before {
        content: none;
        display: inline; }
      .row.full.plmr:after {
        clear: none; }
      .row.full.plmr > .col-1,
      .row.full.plmr > .col-2,
      .row.full.plmr > .col-3,
      .row.full.plmr > .col-4,
      .row.full.plmr > .col-5,
      .row.full.plmr > .col-6,
      .row.full.plmr > .col-7,
      .row.full.plmr > .col-8,
      .row.full.plmr > .col-9,
      .row.full.plmr > .col-10,
      .row.full.plmr > .col-11,
      .row.full.plmr > .col-12 {
        float: none; }
      .row.full.plmr > .col-1 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 8.33333%;
                flex: 0 0 8.33333%;
        max-width: 8.33333%; }
      .row.full.plmr > .col-2 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 16.66667%;
                flex: 0 0 16.66667%;
        max-width: 16.66667%; }
      .row.full.plmr > .col-3 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        max-width: 25%; }
      .row.full.plmr > .col-4 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.333%;
                flex: 0 0 33.333%;
        max-width: 33.333%; }
      .row.full.plmr > .col-5 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 41.667%;
                flex: 0 0 41.667%;
        max-width: 41.667%; }
      .row.full.plmr > .col-6 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        max-width: 50%; }
      .row.full.plmr > .col-7 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 58.333%;
                flex: 0 0 58.333%;
        max-width: 58.333%; }
      .row.full.plmr > .col-8 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 66.667%;
                flex: 0 0 66.667%;
        max-width: 66.667%; }
      .row.full.plmr > .col-9 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 75%;
                flex: 0 0 75%;
        max-width: 75%; }
      .row.full.plmr > .col-10 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.333%;
                flex: 0 0 83.333%;
        max-width: 83.333%; }
      .row.full.plmr > .col-11 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 91.66667%;
                flex: 0 0 91.66667%;
        max-width: 91.66667%; }
      .row.full.plmr > .col-12 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media (min-width: 47.9375em) {
    .row.full.tblt.reverse {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; } }
  @media (min-width: 47.9375em) {
    .row.full.tblt {
      *zoom: normal;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap; }
      .row.full.tblt:after, .row.full.tblt:before {
        content: none;
        display: inline; }
      .row.full.tblt:after {
        clear: none; }
      .row.full.tblt > .col-1,
      .row.full.tblt > .col-2,
      .row.full.tblt > .col-3,
      .row.full.tblt > .col-4,
      .row.full.tblt > .col-5,
      .row.full.tblt > .col-6,
      .row.full.tblt > .col-7,
      .row.full.tblt > .col-8,
      .row.full.tblt > .col-9,
      .row.full.tblt > .col-10,
      .row.full.tblt > .col-11,
      .row.full.tblt > .col-12 {
        float: none; }
      .row.full.tblt > .col-1 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 8.33333%;
                flex: 0 0 8.33333%;
        max-width: 8.33333%; }
      .row.full.tblt > .col-2 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 16.66667%;
                flex: 0 0 16.66667%;
        max-width: 16.66667%; }
      .row.full.tblt > .col-3 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        max-width: 25%; }
      .row.full.tblt > .col-4 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.333%;
                flex: 0 0 33.333%;
        max-width: 33.333%; }
      .row.full.tblt > .col-5 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 41.667%;
                flex: 0 0 41.667%;
        max-width: 41.667%; }
      .row.full.tblt > .col-6 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        max-width: 50%; }
      .row.full.tblt > .col-7 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 58.333%;
                flex: 0 0 58.333%;
        max-width: 58.333%; }
      .row.full.tblt > .col-8 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 66.667%;
                flex: 0 0 66.667%;
        max-width: 66.667%; }
      .row.full.tblt > .col-9 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 75%;
                flex: 0 0 75%;
        max-width: 75%; }
      .row.full.tblt > .col-10 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.333%;
                flex: 0 0 83.333%;
        max-width: 83.333%; }
      .row.full.tblt > .col-11 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 91.66667%;
                flex: 0 0 91.66667%;
        max-width: 91.66667%; }
      .row.full.tblt > .col-12 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media (min-width: 37.5em) {
    .row.full.fifty.reverse {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; } }
  @media (min-width: 37.5em) {
    .row.full.fifty.plmr {
      *zoom: normal;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap; }
      .row.full.fifty.plmr:after, .row.full.fifty.plmr:before {
        content: none;
        display: inline; }
      .row.full.fifty.plmr:after {
        clear: none; }
      .row.full.fifty.plmr > .col-1,
      .row.full.fifty.plmr > .col-2,
      .row.full.fifty.plmr > .col-3,
      .row.full.fifty.plmr > .col-4,
      .row.full.fifty.plmr > .col-5,
      .row.full.fifty.plmr > .col-6,
      .row.full.fifty.plmr > .col-7,
      .row.full.fifty.plmr > .col-8,
      .row.full.fifty.plmr > .col-9,
      .row.full.fifty.plmr > .col-10,
      .row.full.fifty.plmr > .col-11,
      .row.full.fifty.plmr > .col-12 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        float: none;
        max-width: 50%; } }
  @media (min-width: 53.75em) {
    .row.full.fifty.plmr > .col-1 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 8.33333%;
              flex: 0 0 8.33333%;
      max-width: 8.33333%; }
    .row.full.fifty.plmr > .col-2 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
    .row.full.fifty.plmr > .col-3 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
    .row.full.fifty.plmr > .col-4 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.333%;
              flex: 0 0 33.333%;
      max-width: 33.333%; }
    .row.full.fifty.plmr > .col-5 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 41.667%;
              flex: 0 0 41.667%;
      max-width: 41.667%; }
    .row.full.fifty.plmr > .col-6 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
    .row.full.fifty.plmr > .col-7 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 58.333%;
              flex: 0 0 58.333%;
      max-width: 58.333%; }
    .row.full.fifty.plmr > .col-8 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 66.667%;
              flex: 0 0 66.667%;
      max-width: 66.667%; }
    .row.full.fifty.plmr > .col-9 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 75%;
              flex: 0 0 75%;
      max-width: 75%; }
    .row.full.fifty.plmr > .col-10 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 83.333%;
              flex: 0 0 83.333%;
      max-width: 83.333%; }
    .row.full.fifty.plmr > .col-11 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 91.66667%;
              flex: 0 0 91.66667%;
      max-width: 91.66667%; }
    .row.full.fifty.plmr > .col-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; } }
  @media (min-width: 53.75em) {
    .row.full.fifty.bgtblt {
      *zoom: normal;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap; }
      .row.full.fifty.bgtblt:after, .row.full.fifty.bgtblt:before {
        content: none;
        display: inline; }
      .row.full.fifty.bgtblt:after {
        clear: none; }
      .row.full.fifty.bgtblt > .col-1,
      .row.full.fifty.bgtblt > .col-2,
      .row.full.fifty.bgtblt > .col-3,
      .row.full.fifty.bgtblt > .col-4,
      .row.full.fifty.bgtblt > .col-5,
      .row.full.fifty.bgtblt > .col-6,
      .row.full.fifty.bgtblt > .col-7,
      .row.full.fifty.bgtblt > .col-8,
      .row.full.fifty.bgtblt > .col-9,
      .row.full.fifty.bgtblt > .col-10,
      .row.full.fifty.bgtblt > .col-11,
      .row.full.fifty.bgtblt > .col-12 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        float: none;
        max-width: 50%; }
      .row.full.fifty.bgtblt > .col-1 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 8.33333%;
                flex: 0 0 8.33333%;
        max-width: 8.33333%; }
      .row.full.fifty.bgtblt > .col-2 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 16.66667%;
                flex: 0 0 16.66667%;
        max-width: 16.66667%; }
      .row.full.fifty.bgtblt > .col-3 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        max-width: 25%; }
      .row.full.fifty.bgtblt > .col-4 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.333%;
                flex: 0 0 33.333%;
        max-width: 33.333%; }
      .row.full.fifty.bgtblt > .col-5 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 41.667%;
                flex: 0 0 41.667%;
        max-width: 41.667%; }
      .row.full.fifty.bgtblt > .col-6 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        max-width: 50%; }
      .row.full.fifty.bgtblt > .col-7 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 58.333%;
                flex: 0 0 58.333%;
        max-width: 58.333%; }
      .row.full.fifty.bgtblt > .col-8 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 66.667%;
                flex: 0 0 66.667%;
        max-width: 66.667%; }
      .row.full.fifty.bgtblt > .col-9 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 75%;
                flex: 0 0 75%;
        max-width: 75%; }
      .row.full.fifty.bgtblt > .col-10 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.333%;
                flex: 0 0 83.333%;
        max-width: 83.333%; }
      .row.full.fifty.bgtblt > .col-11 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 91.66667%;
                flex: 0 0 91.66667%;
        max-width: 91.66667%; }
      .row.full.fifty.bgtblt > .col-12 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } } }

/* ==========================================================================
    Components
   	========================================================================== */
.website-header {
  position: relative;
  z-index: 10; }
  .website-header .wrapper {
    *zoom: 1;
    padding-bottom: 1.25em;
    padding-top: 1.25em; }
    .website-header .wrapper:after, .website-header .wrapper:before {
      content: " ";
      display: table; }
    .website-header .wrapper:after {
      clear: both; }
    @media (min-width: 20em) {
      .website-header .wrapper {
        padding-bottom: 1.875em; } }
    @media (min-width: 27.5em) {
      .website-header .wrapper {
        padding-bottom: 1.875em;
        padding-top: 2.5em; } }
    @media (min-width: 37.5em) {
      .website-header .wrapper {
        padding-bottom: 2.5em; } }
    @media (min-width: 53.75em) {
      .website-header .wrapper {
        padding-bottom: 3.125em; } }
    @media (min-width: 62.5em) {
      .website-header .wrapper {
        padding-top: 3.125em; } }
    @media (min-width: 75em) {
      .website-header .wrapper {
        padding-bottom: 3.75em;
        padding-top: 4.375em; } }
    @media (min-width: 81.25em) {
      .website-header .wrapper {
        padding-bottom: 6.25em;
        padding-top: 5em; } }

.website-title {
  display: inline-block;
  text-decoration: none; }
  .website-title.haslogo {
    width: 6.25rem; }
    .website-title.haslogo .text {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
      white-space: nowrap; }
    @media (min-width: 13.75em) {
      .website-title.haslogo {
        padding-top: 0.375rem;
        width: 8.75rem; } }
    @media (min-width: 20em) {
      .website-title.haslogo {
        padding-top: 0;
        width: 11.25rem; } }
    @media (min-width: 31.25em) {
      .website-title.haslogo {
        max-width: 15rem;
        width: 35%; } }
    @media (min-width: 37.5em) {
      .website-title.haslogo {
        max-width: 16.25rem;
        width: 40%; } }
    @media (min-width: 75em) {
      .website-title.haslogo {
        max-width: 12.5rem;
        width: 20%; } }
    @media (min-width: 81.25em) {
      .website-title.haslogo {
        max-width: 17.5rem;
        width: 24%; } }

.site-footer {
  padding-bottom: 2.5rem;
  padding-top: 2.5rem; }
  .site-footer .footer-logo {
    display: block;
    width: 80%; }
    @media (min-width: 13.75em) {
      .site-footer .footer-logo {
        width: 8.75rem; } }
    @media (min-width: 20em) {
      .site-footer .footer-logo {
        width: 11.25rem; } }
    @media (min-width: 31.25em) {
      .site-footer .footer-logo {
        max-width: 15rem;
        width: 35%; } }
    @media (min-width: 37.5em) {
      .site-footer .footer-logo {
        max-width: 16.25rem;
        width: 40%; } }
    @media (min-width: 47.9375em) {
      .site-footer .footer-logo {
        margin-bottom: 1.25rem; } }
    @media (min-width: 81.25em) {
      .site-footer .footer-logo {
        margin-bottom: 2.5rem;
        max-width: 21.25rem;
        width: 30%; } }
    .site-footer .footer-logo .logo-image {
      margin-left: -0.125rem; }
      @media (min-width: 31.25em) {
        .site-footer .footer-logo .logo-image {
          margin-left: -0.25rem; } }
  @media (min-width: 47.9375em) {
    .site-footer {
      padding-bottom: 1.25rem;
      padding-top: 3.75rem; } }
  @media (min-width: 75em) {
    .site-footer {
      padding-top: 5rem; } }
  @media (min-width: 37.5em) {
    .site-footer .row.full + .row.full {
      padding-top: 3.75rem; } }
  @media (min-width: 81.25em) {
    .site-footer .row.full + .row.full {
      padding-top: 5rem; } }
  .site-footer ul {
    list-style: none; }
  .site-footer p,
  .site-footer ul {
    font-size: 0.75em;
    line-height: 1.3; }
    @media (min-width: 31.25em) {
      .site-footer p,
      .site-footer ul {
        font-size: 0.875em; } }
    @media (min-width: 53.75em) {
      .site-footer p,
      .site-footer ul {
        font-size: 1em; } }
    @media (min-width: 75em) {
      .site-footer p,
      .site-footer ul {
        font-size: 1.125em; } }
  .site-footer ul li + li {
    padding-top: 0.625em; }
    @media (min-width: 31.25em) {
      .site-footer ul li + li {
        padding-top: 0.5em; } }
    @media (min-width: 53.75em) {
      .site-footer ul li + li {
        padding-top: 0.375em; } }
  .site-footer h4 + *,
  .site-footer h5 + * {
    padding-top: 0.625rem; }
    @media (min-width: 31.25em) {
      .site-footer h4 + *,
      .site-footer h5 + * {
        padding-top: 0.75em; } }
    @media (min-width: 53.75em) {
      .site-footer h4 + *,
      .site-footer h5 + * {
        padding-top: 1.25em; } }
    @media (min-width: 75em) {
      .site-footer h4 + *,
      .site-footer h5 + * {
        padding-top: 1.875em; } }
    @media (min-width: 90em) {
      .site-footer h4 + *,
      .site-footer h5 + * {
        padding-top: 2.5em; } }
  .site-footer .adr + * {
    padding-top: 0.875rem; }
    @media (min-width: 31.25em) {
      .site-footer .adr + * {
        padding-top: 1em; } }
  .site-footer .btn {
    padding-bottom: 0.0625em;
    padding-top: 0.1875em; }
    @media (min-width: 53.75em) {
      .site-footer .btn {
        font-size: 0.875em; } }
    @media (min-width: 75em) {
      .site-footer .btn {
        font-size: 0.875em; } }

/* ==========================================================================
   Default
   ========================================================================== */
.jumptocontent {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; }

.navi-opener {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#214f61), to(#214f61));
  background-image: -webkit-linear-gradient(top, #214f61 0%, #214f61 100%);
  background-image: linear-gradient(to bottom, #214f61 0%, #214f61 100%);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 0% 100%;
  display: block;
  height: 2.5rem;
  margin-left: -0.5rem;
  position: relative;
  -webkit-transition: background-size .2s ease-in-out;
  transition: background-size .2s ease-in-out;
  width: 2.5rem;
  will-change: auto; }
  @media (min-width: 13.75em) {
    .navi-opener {
      float: right;
      margin-left: 0; } }
  @media (min-width: 62.5em) {
    .navi-opener {
      margin-top: 1rem; } }
  @media (min-width: 81.25em) {
    .navi-opener {
      height: 2.625rem;
      width: 2.625rem; } }
  .navi-opener:after, .navi-opener:before {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 20px; }
    @media (min-width: 81.25em) {
      .navi-opener:after, .navi-opener:before {
        width: 22px; } }
  .navi-opener:after {
    border-bottom: solid 2px #214F61;
    border-top: solid 2px #214F61;
    height: 12px;
    -webkit-transition: border-color .3s ease-in-out, height .2s ease-in-out;
    transition: border-color .3s ease-in-out, height .2s ease-in-out; }
    @media (min-width: 81.25em) {
      .navi-opener:after {
        height: 14px; } }
  .navi-opener:before {
    background-color: #214F61;
    height: 2px;
    -webkit-transition: background-color .3s ease-in-out, -webkit-transform .2s ease-in-out;
    transition: background-color .3s ease-in-out, -webkit-transform .2s ease-in-out;
    transition: background-color .3s ease-in-out, transform .2s ease-in-out;
    transition: background-color .3s ease-in-out, transform .2s ease-in-out, -webkit-transform .2s ease-in-out; }
  .navi-opener .text-wrapper {
    display: block;
    width: 100%; }
    .navi-opener .text-wrapper:before {
      content: '';
      display: block;
      position: absolute;
      border-bottom: 3px solid transparent;
      border-left: 6px solid transparent;
      border-top: 3px solid transparent;
      right: 0%;
      top: 50%;
      -webkit-transform: translate(-300%, -50%);
          -ms-transform: translate(-300%, -50%);
              transform: translate(-300%, -50%);
      -webkit-transition: border-color .2s ease-in-out, -webkit-transform .2s ease-in-out .1s;
      transition: border-color .2s ease-in-out, -webkit-transform .2s ease-in-out .1s;
      transition: border-color .2s ease-in-out, transform .2s ease-in-out .1s;
      transition: border-color .2s ease-in-out, transform .2s ease-in-out .1s, -webkit-transform .2s ease-in-out .1s; }
  .navi-opener:focus, .navi-opener:hover {
    background-size: 100% 100%;
    outline: none; }
    .navi-opener:focus:after, .navi-opener:hover:after {
      border-bottom-color: transparent;
      border-top-color: transparent;
      height: 0; }
    .navi-opener:focus:before, .navi-opener:hover:before {
      background-color: #ffffff;
      -webkit-transform: translate(-60%, -50%);
          -ms-transform: translate(-60%, -50%);
              transform: translate(-60%, -50%); }
    .navi-opener:focus .text-wrapper:before, .navi-opener:hover .text-wrapper:before {
      border-left-color: #ffffff;
      -webkit-transform: translate(-100%, -50%);
          -ms-transform: translate(-100%, -50%);
              transform: translate(-100%, -50%); }

.nav-item {
  padding-left: 0; }

.lang-menu,
.nav-menu,
.sub-menu {
  list-style: none; }

.site-nav .menu-title {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; }

.site-nav .nav-menu {
  margin: 0;
  padding: 0; }

/* ==========================================================================
   Closed Off Canvas Navigation
   ========================================================================== */
#open-navigation:not(:target) .jumptocontent:focus {
  border: none;
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  padding: 0;
  position: static;
  width: auto;
  white-space: normal;
  display: inline-block;
  font-size: 1rem;
  font-weight: bold;
  outline: none;
  padding-left: 1.25rem;
  padding-right: 1.4em;
  position: relative;
  text-decoration: none; }
  @media (min-width: 81.25em) {
    #open-navigation:not(:target) .jumptocontent:focus {
      font-size: 1.125rem; } }
  #open-navigation:not(:target) .jumptocontent:focus:after, #open-navigation:not(:target) .jumptocontent:focus:before {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: 0; }
  #open-navigation:not(:target) .jumptocontent:focus:after {
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 6px solid #214F61;
    margin-right: 2px;
    margin-bottom: 1px; }
    @media (min-width: 75em) {
      #open-navigation:not(:target) .jumptocontent:focus:after {
        border-left-width: 4px;
        border-right-width: 4px;
        border-top-width: 7px;
        margin-right: 1px; } }
  #open-navigation:not(:target) .jumptocontent:focus:before {
    background-color: #214F61;
    height: 14px;
    margin-right: 4px;
    margin-bottom: 7px;
    width: 2px; }
    @media (min-width: 75em) {
      #open-navigation:not(:target) .jumptocontent:focus:before {
        height: 17px; } }
  #open-navigation:not(:target) .jumptocontent:focus .text {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#214f61), to(#214f61));
    background-image: -webkit-linear-gradient(top, #214f61 0%, #214f61 100%);
    background-image: linear-gradient(to bottom, #214f61 0%, #214f61 100%);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 100% 7%;
    padding-bottom: 0.25rem;
    -webkit-transition: background-size .2s;
    transition: background-size .2s; }

#open-navigation:not(:target) .lang-nav {
  display: none; }

@media (min-width: 62.5em) {
  #open-navigation:not(:target) .website-navi {
    float: right;
    margin-right: 5%;
    padding-bottom: 1.25rem;
    padding-right: 2.5rem;
    padding-top: 1.625rem; } }

@media (min-width: 75em) {
  #open-navigation:not(:target) .website-navi {
    margin-right: 10%; } }

@media (min-width: 90em) {
  #open-navigation:not(:target) .website-navi {
    margin-right: 15%; } }

#open-navigation:not(:target) .menu-opened {
  display: none; }

#open-navigation:not(:target) .site-nav {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; }
  @media (min-width: 62.5em) {
    #open-navigation:not(:target) .site-nav {
      border: none;
      clip: auto;
      height: auto;
      margin: 0;
      overflow: visible;
      padding: 0;
      position: static;
      width: auto;
      white-space: normal; } }
  #open-navigation:not(:target) .site-nav .nav-menu {
    font-size: 1rem;
    line-height: 1; }
    @media (min-width: 81.25em) {
      #open-navigation:not(:target) .site-nav .nav-menu {
        font-size: 1.125rem; } }
  #open-navigation:not(:target) .site-nav .nav-item {
    display: inline-block;
    line-height: 1;
    vertical-align: middle; }
  #open-navigation:not(:target) .site-nav .nav-item + .nav-item {
    padding-left: 1.25rem; }
    @media (min-width: 75em) {
      #open-navigation:not(:target) .site-nav .nav-item + .nav-item {
        padding-left: 1.875rem; } }
    @media (min-width: 75em) {
      #open-navigation:not(:target) .site-nav .nav-item + .nav-item {
        padding-left: 2.5rem; } }
  #open-navigation:not(:target) .site-nav .nav-link {
    padding: 0.625rem 0.75rem 0.25rem;
    text-decoration: none; }
    #open-navigation:not(:target) .site-nav .nav-link .text {
      background-image: -webkit-gradient(linear, left top, left bottom, from(#214f61), to(#214f61));
      background-image: -webkit-linear-gradient(top, #214f61 0%, #214f61 100%);
      background-image: linear-gradient(to bottom, #214f61 0%, #214f61 100%);
      background-position: 0 80%;
      background-repeat: no-repeat;
      background-size: 0% 7%;
      padding-bottom: 0.25rem;
      -webkit-transition: background-size .2s;
      transition: background-size .2s; }
  #open-navigation:not(:target) .site-nav .nav-item.active .nav-link,
  #open-navigation:not(:target) .site-nav .nav-link:active,
  #open-navigation:not(:target) .site-nav .nav-link:focus,
  #open-navigation:not(:target) .site-nav .nav-link:hover {
    outline: none; }
    #open-navigation:not(:target) .site-nav .nav-item.active .nav-link .text,
    #open-navigation:not(:target) .site-nav .nav-link:active .text,
    #open-navigation:not(:target) .site-nav .nav-link:focus .text,
    #open-navigation:not(:target) .site-nav .nav-link:hover .text {
      background-size: 100% 7%; }
  #open-navigation:not(:target) .site-nav .sub-menu {
    display: none; }

#open-navigation:not(:target) .navi-closer {
  display: none; }

/* ==========================================================================
   Opened Off Canvas Navigation
   ========================================================================== */
#open-navigation:target .inner-wrapper {
  left: 0;
  -webkit-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0); }

#open-navigation:target .website-header {
  -webkit-transform: translate(100%, 0);
      -ms-transform: translate(100%, 0);
          transform: translate(100%, 0);
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
  width: 100%; }

#open-navigation:target .jumptocontent {
  visibility: hidden; }

#open-navigation:target .navi-closer {
  background-color: #214F61;
  display: block;
  float: right;
  height: 2.5rem;
  position: relative;
  width: 2.5rem;
  z-index: 4; }
  @media (min-width: 75em) {
    #open-navigation:target .navi-closer {
      margin-top: 0.875rem; } }
  @media (min-width: 81.25em) {
    #open-navigation:target .navi-closer {
      height: 2.625rem;
      width: 2.625rem; } }
  #open-navigation:target .navi-closer:after, #open-navigation:target .navi-closer:before {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transition: -webkit-transform .2s ease-in-out;
    transition: -webkit-transform .2s ease-in-out;
    transition: transform .2s ease-in-out;
    transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
    width: 22px; }
    @media (min-width: 81.25em) {
      #open-navigation:target .navi-closer:after, #open-navigation:target .navi-closer:before {
        width: 24px; } }
  #open-navigation:target .navi-closer:after {
    background-color: #ffffff;
    height: 2px;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
        -ms-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg); }
  #open-navigation:target .navi-closer:before {
    background-color: #ffffff;
    height: 2px;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
        -ms-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg); }
  #open-navigation:target .navi-closer .text-wrapper {
    display: block;
    width: 100%; }
    #open-navigation:target .navi-closer .text-wrapper:before {
      content: '';
      display: block;
      position: absolute;
      border-bottom: 3px solid transparent;
      border-right: 6px solid transparent;
      border-top: 3px solid transparent;
      left: 0%;
      top: 50%;
      -webkit-transform: translate(300%, -50%);
          -ms-transform: translate(300%, -50%);
              transform: translate(300%, -50%);
      -webkit-transition: border-color .2s ease-in-out, -webkit-transform .2s ease-in-out .1s;
      transition: border-color .2s ease-in-out, -webkit-transform .2s ease-in-out .1s;
      transition: border-color .2s ease-in-out, transform .2s ease-in-out .1s;
      transition: border-color .2s ease-in-out, transform .2s ease-in-out .1s, -webkit-transform .2s ease-in-out .1s; }
  #open-navigation:target .navi-closer:focus, #open-navigation:target .navi-closer:hover {
    outline: none; }
    #open-navigation:target .navi-closer:focus:after, #open-navigation:target .navi-closer:focus:before, #open-navigation:target .navi-closer:hover:after, #open-navigation:target .navi-closer:hover:before {
      -webkit-transform: translate(-40%, -50%) rotate(0);
          -ms-transform: translate(-40%, -50%) rotate(0);
              transform: translate(-40%, -50%) rotate(0);
      width: 20px; }
      @media (min-width: 81.25em) {
        #open-navigation:target .navi-closer:focus:after, #open-navigation:target .navi-closer:focus:before, #open-navigation:target .navi-closer:hover:after, #open-navigation:target .navi-closer:hover:before {
          width: 22px; } }
    #open-navigation:target .navi-closer:focus .text-wrapper:before, #open-navigation:target .navi-closer:hover .text-wrapper:before {
      border-right-color: #ffffff;
      -webkit-transform: translate(100%, -50%);
          -ms-transform: translate(100%, -50%);
              transform: translate(100%, -50%); }

#open-navigation:target .navi-opener {
  display: none; }

#open-navigation:target .website-navi {
  left: 0;
  top: 0;
  padding-top: 2.5rem;
  position: absolute;
  top: 0;
  width: 100%; }

#open-navigation:target .menu-closed {
  display: none; }

#open-navigation:target .website-navi .site-nav {
  padding-top: 1rem; }
  @media (min-width: 75em) {
    #open-navigation:target .website-navi .site-nav {
      padding-top: 3rem; } }

#open-navigation:target .website-navi .lang-nav + .site-nav {
  padding-top: 3rem; }
  @media (min-width: 31.25em) {
    #open-navigation:target .website-navi .lang-nav + .site-nav {
      padding-top: 4rem; } }
  @media (min-width: 75em) {
    #open-navigation:target .website-navi .lang-nav + .site-nav {
      padding-top: 6rem; } }

#open-navigation:target .website-navi .nav-menu {
  margin-right: 1.25rem; }
  @media (min-width: 31.25em) {
    #open-navigation:target .website-navi .nav-menu {
      margin-right: 1.875rem; } }
  @media (min-width: 31.25em) {
    #open-navigation:target .website-navi .nav-menu {
      margin-right: 0; } }
  #open-navigation:target .website-navi .nav-menu .nav-item {
    line-height: 1; }

#open-navigation:target .website-navi .nav-menu > .nav-item + .nav-item {
  padding-top: 1rem; }
  @media (min-width: 47.9375em) {
    #open-navigation:target .website-navi .nav-menu > .nav-item + .nav-item {
      padding-top: 2rem; } }
  @media (min-width: 53.75em) {
    #open-navigation:target .website-navi .nav-menu > .nav-item + .nav-item {
      padding-top: 3rem; } }

#open-navigation:target .website-navi .nav-item .nav-link {
  color: #214F61;
  display: block;
  font-size: 1.25rem;
  line-height: 1.3;
  text-decoration: none; }

#open-navigation:target .website-navi .nav-menu > .nav-item > .nav-link {
  font-size: 1.875rem; }
  @media (min-width: 53.75em) {
    #open-navigation:target .website-navi .nav-menu > .nav-item > .nav-link {
      font-size: 2.5rem; } }
  @media (min-width: 75em) {
    #open-navigation:target .website-navi .nav-menu > .nav-item > .nav-link {
      font-size: 2.75rem; } }
  @media (min-width: 90em) {
    #open-navigation:target .website-navi .nav-menu > .nav-item > .nav-link {
      font-size: 3.125rem; } }

#open-navigation:target .website-navi .menu-opened {
  padding-top: 1.25rem;
  /*
				@include mq($from: desktop){
					margin-left: scut-rem(30);
					margin-right: scut-rem(30);
				}
				@include mq($from: huge){
					margin-left: auto;
					margin-right: auto;
					width: scut-rem(1200);
				}
				@include mq($from: bigger){
					width: scut-rem(1300);
				}
				*/ }
  @media (min-width: 20em) {
    #open-navigation:target .website-navi .menu-opened {
      padding-top: 1.875rem; } }
  @media (min-width: 31.25em) {
    #open-navigation:target .website-navi .menu-opened {
      padding-top: 2.5rem; } }
  @media (min-width: 37.5em) {
    #open-navigation:target .website-navi .menu-opened {
      padding-top: 3.75rem; } }
  @media (min-width: 53.75em) {
    #open-navigation:target .website-navi .menu-opened {
      padding-top: 6.25rem; } }
  @media (min-width: 90em) {
    #open-navigation:target .website-navi .menu-opened {
      padding-top: 8.75rem; } }

#open-navigation:target .website-navi .nav-menu > .nav-item.active > .nav-link {
  color: #214f61;
  text-decoration: underline; }

#open-navigation:target .website-navi .nav-menu > .nav-item > .nav-link:active, #open-navigation:target .website-navi .nav-menu > .nav-item > .nav-link:focus, #open-navigation:target .website-navi .nav-menu > .nav-item > .nav-link:hover {
  color: #214f61;
  text-decoration: underline; }

#open-navigation:target .website-navi .row.text {
  padding-top: 1.875rem; }
  @media (min-width: 75em) {
    #open-navigation:target .website-navi .row.text {
      padding-top: 2.2rem; } }
  @media (min-width: 81.25em) {
    #open-navigation:target .website-navi .row.text {
      padding-top: 2.6rem; } }
  @media (min-width: 53.75em) {
    #open-navigation:target .website-navi .row.text > .col-1:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-2:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-3:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-4:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-5:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-6:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-7:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-8:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-9:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-10:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-11:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-12:first-child .sub-menu {
      margin-right: 1.875rem; } }
  @media (min-width: 75em) {
    #open-navigation:target .website-navi .row.text > .col-1:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-2:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-3:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-4:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-5:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-6:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-7:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-8:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-9:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-10:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-11:first-child .sub-menu,
    #open-navigation:target .website-navi .row.text > .col-12:first-child .sub-menu {
      margin-right: 2.5rem; } }
  #open-navigation:target .website-navi .row.text > .col-1 .sub-menu,
  #open-navigation:target .website-navi .row.text > .col-2 .sub-menu,
  #open-navigation:target .website-navi .row.text > .col-3 .sub-menu,
  #open-navigation:target .website-navi .row.text > .col-4 .sub-menu,
  #open-navigation:target .website-navi .row.text > .col-5 .sub-menu,
  #open-navigation:target .website-navi .row.text > .col-6 .sub-menu,
  #open-navigation:target .website-navi .row.text > .col-7 .sub-menu,
  #open-navigation:target .website-navi .row.text > .col-8 .sub-menu,
  #open-navigation:target .website-navi .row.text > .col-9 .sub-menu,
  #open-navigation:target .website-navi .row.text > .col-10 .sub-menu,
  #open-navigation:target .website-navi .row.text > .col-11 .sub-menu,
  #open-navigation:target .website-navi .row.text > .col-12 .sub-menu {
    padding-top: 0; }
  #open-navigation:target .website-navi .row.text > .col-1 + *,
  #open-navigation:target .website-navi .row.text > .col-2 + *,
  #open-navigation:target .website-navi .row.text > .col-3 + *,
  #open-navigation:target .website-navi .row.text > .col-4 + *,
  #open-navigation:target .website-navi .row.text > .col-5 + *,
  #open-navigation:target .website-navi .row.text > .col-6 + *,
  #open-navigation:target .website-navi .row.text > .col-7 + *,
  #open-navigation:target .website-navi .row.text > .col-8 + *,
  #open-navigation:target .website-navi .row.text > .col-9 + *,
  #open-navigation:target .website-navi .row.text > .col-10 + *,
  #open-navigation:target .website-navi .row.text > .col-11 + * {
    padding-top: .6rem; }
    @media (min-width: 31.25em) {
      #open-navigation:target .website-navi .row.text > .col-1 + *,
      #open-navigation:target .website-navi .row.text > .col-2 + *,
      #open-navigation:target .website-navi .row.text > .col-3 + *,
      #open-navigation:target .website-navi .row.text > .col-4 + *,
      #open-navigation:target .website-navi .row.text > .col-5 + *,
      #open-navigation:target .website-navi .row.text > .col-6 + *,
      #open-navigation:target .website-navi .row.text > .col-7 + *,
      #open-navigation:target .website-navi .row.text > .col-8 + *,
      #open-navigation:target .website-navi .row.text > .col-9 + *,
      #open-navigation:target .website-navi .row.text > .col-10 + *,
      #open-navigation:target .website-navi .row.text > .col-11 + * {
        padding-top: 1rem; } }
    @media (min-width: 53.75em) {
      #open-navigation:target .website-navi .row.text > .col-1 + *,
      #open-navigation:target .website-navi .row.text > .col-2 + *,
      #open-navigation:target .website-navi .row.text > .col-3 + *,
      #open-navigation:target .website-navi .row.text > .col-4 + *,
      #open-navigation:target .website-navi .row.text > .col-5 + *,
      #open-navigation:target .website-navi .row.text > .col-6 + *,
      #open-navigation:target .website-navi .row.text > .col-7 + *,
      #open-navigation:target .website-navi .row.text > .col-8 + *,
      #open-navigation:target .website-navi .row.text > .col-9 + *,
      #open-navigation:target .website-navi .row.text > .col-10 + *,
      #open-navigation:target .website-navi .row.text > .col-11 + * {
        padding-top: 0; } }

#open-navigation:target .website-navi .sub-menu {
  padding-top: 1.875rem; }
  @media (min-width: 75em) {
    #open-navigation:target .website-navi .sub-menu {
      padding-top: 2.2rem; } }
  @media (min-width: 81.25em) {
    #open-navigation:target .website-navi .sub-menu {
      padding-top: 2.6rem; } }
  #open-navigation:target .website-navi .sub-menu .nav-item + .nav-item {
    padding-top: .6rem; }
    @media (min-width: 31.25em) {
      #open-navigation:target .website-navi .sub-menu .nav-item + .nav-item {
        padding-top: 1rem; } }
    @media (min-width: 62.5em) {
      #open-navigation:target .website-navi .sub-menu .nav-item + .nav-item {
        padding-top: 1.4rem; } }
    @media (min-width: 75em) {
      #open-navigation:target .website-navi .sub-menu .nav-item + .nav-item {
        padding-top: 1.6rem; } }
    @media (min-width: 81.25em) {
      #open-navigation:target .website-navi .sub-menu .nav-item + .nav-item {
        padding-top: 2rem; } }
  #open-navigation:target .website-navi .sub-menu .nav-item.active > .nav-link {
    text-decoration: underline; }
  @media (min-width: 53.75em) {
    #open-navigation:target .website-navi .sub-menu .nav-link {
      font-size: 1.375rem; } }
  @media (min-width: 75em) {
    #open-navigation:target .website-navi .sub-menu .nav-link {
      font-size: 1.5rem; } }
  @media (min-width: 81.25em) {
    #open-navigation:target .website-navi .sub-menu .nav-link {
      font-size: 1.625rem; } }
  #open-navigation:target .website-navi .sub-menu .nav-link:active, #open-navigation:target .website-navi .sub-menu .nav-link:focus, #open-navigation:target .website-navi .sub-menu .nav-link:hover {
    text-decoration: underline; }

/* ==========================================================================
   Page-Header
   ========================================================================== */
.page-header .breadcrumbs.wrapper + .wrapper {
  padding-top: 1.25rem; }
  @media (min-width: 47.9375em) {
    .page-header .breadcrumbs.wrapper + .wrapper {
      padding-top: 1.5rem; } }
  @media (min-width: 75em) {
    .page-header .breadcrumbs.wrapper + .wrapper {
      padding-top: 1.625rem; } }
  @media (min-width: 81.25em) {
    .page-header .breadcrumbs.wrapper + .wrapper {
      padding-top: 1.875rem; } }
  @media (min-width: 90em) {
    .page-header .breadcrumbs.wrapper + .wrapper {
      padding-top: 2.125rem; } }

@media (min-width: 75em) {
  .page-header .page-title {
    width: 90%; } }

@media (min-width: 90em) {
  .page-header .page-title {
    width: 80%; } }

#content .page-title + * {
  padding-top: 0.875rem; }
  @media (min-width: 31.25em) {
    #content .page-title + * {
      padding-top: 1.375rem; } }
  @media (min-width: 53.75em) {
    #content .page-title + * {
      padding-top: 1.6875rem; } }
  @media (min-width: 75em) {
    #content .page-title + * {
      padding-top: 2.0625rem; } }

.breadcrumbs {
  font-size: 0.75em; }
  @media (min-width: 53.75em) {
    .breadcrumbs {
      font-size: 0.6875em; } }
  @media (min-width: 75em) {
    .breadcrumbs {
      font-size: 0.75em; } }
  .breadcrumbs ul {
    display: inline;
    list-style: none; }
  @media (min-width: 20em) {
    .breadcrumbs li {
      display: inline-block; } }
  .breadcrumbs li.last a {
    background-color: #B9D3DF;
    border-radius: 0.25em;
    padding: 0.125em 0.5em;
    -webkit-transition: background-color .2s ease-in-out;
    transition: background-color .2s ease-in-out; }
    .breadcrumbs li.last a:active, .breadcrumbs li.last a:focus, .breadcrumbs li.last a:hover {
      background-color: #86B6CD; }
  .breadcrumbs li:first-child:not(.last) .text {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap; }
    @media (min-width: 31.25em) {
      .breadcrumbs li:first-child:not(.last) .text {
        border: none;
        clip: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        padding: 0;
        position: static;
        width: auto;
        white-space: normal; } }
  @media (min-width: 20em) {
    .breadcrumbs li:first-child:not(.last) a:before {
      content: '';
      display: block;
      position: absolute;
      content: '...';
      position: relative; } }
  @media (min-width: 20em) and (min-width: 31.25em) {
    .breadcrumbs li:first-child:not(.last) a:before {
      display: none;
      content: ''; } }
  @media (min-width: 31.25em) {
    .breadcrumbs li:not(:last-child) .text {
      background-image: -webkit-gradient(linear, left top, left bottom, from(#214F61), to(#214F61));
      background-image: -webkit-linear-gradient(top, #214F61 0%, #214F61 100%);
      background-image: linear-gradient(to bottom, #214F61 0%, #214F61 100%);
      background-position: 0 90%;
      background-repeat: no-repeat;
      background-size: 0 8%;
      padding-bottom: .12em;
      padding-top: 0.125em;
      -webkit-transition: background-size .15s;
      transition: background-size .15s; } }
  @media (min-width: 31.25em) {
    .breadcrumbs li:not(:last-child):active .text, .breadcrumbs li:not(:last-child):focus .text, .breadcrumbs li:not(:last-child):hover .text {
      background-size: 100% 8%; } }
  .breadcrumbs li:not(:first-child):not(:last-child) {
    display: none;
    visibility: hidden; }
    @media (min-width: 31.25em) {
      .breadcrumbs li:not(:first-child):not(:last-child) {
        display: inline-block;
        visibility: visible; } }
  @media (min-width: 20em) {
    .breadcrumbs li + li {
      padding-left: 1.5rem;
      position: relative; } }
  @media (min-width: 20em) {
    .breadcrumbs li + li:before {
      content: '';
      display: block;
      position: absolute;
      border-bottom: 0.1875rem solid transparent;
      border-left: 0.3125rem solid #214F61;
      border-top: 0.1875rem solid transparent;
      left: 0;
      margin-left: 0.5625rem;
      margin-top: 0.4375rem;
      top: 0; } }
  @media (min-width: 31.25em) {
    .breadcrumbs li + li:before {
      margin-top: 0.5rem; } }
  @media (min-width: 53.75em) {
    .breadcrumbs li + li:before {
      margin-left: 0.5rem; } }
  @media (min-width: 75em) {
    .breadcrumbs li + li:before {
      margin-left: 0.4375rem;
      margin-top: 0.625rem; } }
  .breadcrumbs a {
    text-decoration: none; }

.breadcrumbs-title {
  display: inline-block;
  padding-right: 1.25rem; }

/* ==========================================================================
     Standard img / media declaration
    ========================================================================== */
figure {
  line-height: 0;
  margin: 0;
  padding: 0; }

figcaption {
  color: #32728b;
  line-height: 1.3;
  padding-top: 0.625rem; }
  figcaption p {
    font-size: 0.75em; }
    @media (min-width: 31.25em) {
      figcaption p {
        font-size: 0.875em; } }
    @media (min-width: 53.75em) {
      figcaption p {
        font-size: 1em; } }
    @media (min-width: 75em) {
      figcaption p {
        font-size: 1.125em; } }

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

.js .has-svg .icon-image {
  display: none; }

.js .has-svg .icon-svg .svg {
  display: block;
  opacity: 0; }

.js.svgasimg .has-svg .icon-image,
.js.no-svgasimg .has-svg .icon-svg {
  display: none; }

.no-js .has-svg .icon-svg,
.no-js .has-svg .icon-svg .svg,
.no-js .has-svg .icon-image .jsimage,
.no-js .jsimage.lazyload {
  display: none; }

.js .image-wrapper .icon-svg .svg,
.js .jsimage {
  height: 0;
  opacity: 1;
  overflow: hidden;
  width: 100%; }

.js .image-wrapper .icon-svg .svg,
.js .icon-image .jsimage {
  opacity: 0; }

.js.no-inlinesvg .img-icon .icon-fallback.lazyload, .js.no-inlinesvg .img-icon .icon-fallback.loading, .js.no-inlinesvg .img-icon .icon-fallback.lazyloading,
.js .jsimage.lazyload,
.js .jsimage.loading,
.js .jsimage.lazyloading {
  opacity: 0; }

.js .image-wrapper .icon-svg .svg.loaded,
.js .image-wrapper .icon-svg .svg.lazyloaded,
.js .jsimage.loaded,
.js .jsimage.lazyloaded,
.js.no-inlinesvg .img-icon .icon-fallback {
  height: auto;
  opacity: 1;
  padding-bottom: 0 !important; }

.js .icon-image .jsimage.lazyloaded,
.js .icon-svg .svg.lazyloaded {
  opacity: 1; }

.csstransitions.js .icon-svg .svg,
.csstransitions.js .jsimage,
.csstransitions.js.svgasimg .infografik .svgimage,
.csstransitions.js.no-inlinesvg .icon-fallback {
  -webkit-transition: opacity .5s ease-in-out;
  transition: opacity .5s ease-in-out; }

.no-csstransitions.lazyload, .no-csstransitions.loading, .no-csstransitions.lazyloading {
  height: auto;
  opacity: 1;
  padding-bottom: 0 !important; }

/* ----------------------------------------------------------------------
     Site Header Logo
    ------------------------------------------------------------------------ */
.js .hassvglogo .img-logo {
  display: none;
  visibility: hidden; }

.js .nosvglogo.haslogo .svg-logo {
  display: none;
  visibility: hidden; }

.js.no-svgasimg .hassvglogo .svg-logo {
  display: none;
  visibility: hidden; }

.js.no-svgasimg .hassvglogo .img-logo {
  display: block;
  visibility: visible; }

.no-js .hassvglogo .svg-logo,
.no-js .hassvglogo .img-logo,
.no-js .haslogo .svg-logo,
.no-js .haslogo .img-logo {
  display: none;
  visibility: hidden; }

.no-js .hassvglogo .nojsimage,
.no-js .haslogo .nojsimage {
  display: block;
  visibility: visible; }

.no-js .hassmalllogo .nojsimage {
  display: none; }
  @media (min-width: 53.75em) {
    .no-js .hassmalllogo .nojsimage {
      display: block; } }
  .no-js .hassmalllogo .nojsimage.smalllogo {
    display: block; }
    @media (min-width: 53.75em) {
      .no-js .hassmalllogo .nojsimage.smalllogo {
        display: none; } }

@media (min-width: 20em) {
  .kontakt .text-content {
    display: inline-block;
    margin-left: 8%;
    vertical-align: top;
    width: 50%; } }

@media (min-width: 37.5em) {
  .kontakt .text-content {
    display: block;
    margin-left: 22%;
    width: 70%; } }

@media (min-width: 62.5em) {
  .kontakt .text-content {
    display: block;
    margin-left: 16%;
    width: 83%; } }

@media (min-width: 75em) {
  .kontakt .text-content {
    display: block;
    margin-left: 20%;
    width: 82%; } }

@media (min-width: 90em) {
  .kontakt .text-content {
    display: block;
    margin-left: 30%;
    width: 80%; } }

.kontakt .image-wrapper {
  border-radius: 50%;
  overflow: hidden;
  width: 60%; }
  @media (min-width: 20em) {
    .kontakt .image-wrapper {
      display: inline-block;
      width: 40%; } }
  @media (min-width: 37.5em) {
    .kontakt .image-wrapper {
      display: block;
      margin-left: 14%;
      margin-top: -10%;
      width: 80%; } }
  @media (min-width: 75em) {
    .kontakt .image-wrapper {
      margin-left: 17%;
      margin-top: -10%;
      width: 90%; } }
  .kontakt .image-wrapper + .text-content {
    padding-top: 1.25rem; }
    @media (min-width: 20em) {
      .kontakt .image-wrapper + .text-content {
        padding-top: 0; } }
    @media (min-width: 31.25em) {
      .kontakt .image-wrapper + .text-content {
        padding-top: 1.25rem; } }
    @media (min-width: 37.5em) {
      .kontakt .image-wrapper + .text-content {
        padding-top: 1.625rem; } }
    @media (min-width: 53.75em) {
      .kontakt .image-wrapper + .text-content {
        padding-top: 2.125rem; } }
    @media (min-width: 75em) {
      .kontakt .image-wrapper + .text-content {
        padding-top: 2.75rem; } }
    @media (min-width: 81.25em) {
      .kontakt .image-wrapper + .text-content {
        padding-top: 3.125rem; } }

@supports (display: flex) {
  @media (min-width: 37.5em) {
    .kontakt .row.reverse .text-content {
      margin-left: 10%; } }
  @media (min-width: 62.5em) {
    .kontakt .row.reverse .text-content {
      margin-left: 6%; } }
  @media (min-width: 90em) {
    .kontakt .row.reverse .text-content {
      margin-left: 5%; } }
  @media (min-width: 37.5em) {
    .kontakt .row.reverse .image-wrapper {
      margin-left: -0%; } }
  @media (min-width: 75em) {
    .kontakt .row.reverse .image-wrapper {
      margin-left: -8%; } } }

.quote {
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  hyphenate-limit-chars: 6 3 4;
  margin: 0; }

.zitat {
  padding-bottom: 1.25rem; }
  .zitat .wrapper {
    border-left: solid 0.0625rem #5792a9;
    padding-bottom: 1.25rem;
    padding-top: 1.25rem; }
    @media (min-width: 53.75em) {
      .zitat .wrapper {
        padding-bottom: 2.5rem;
        padding-top: 2.5rem; } }
    @media (min-width: 75em) {
      .zitat .wrapper {
        padding-bottom: 3.75rem;
        padding-top: 3.75rem; } }
  .zitat .inner-wrapper {
    padding-left: 1.25rem;
    max-width: 37.5rem; }
    @media (min-width: 53.75em) {
      .zitat .inner-wrapper {
        padding-left: 2.5rem;
        max-width: 40rem; } }
    @media (min-width: 75em) {
      .zitat .inner-wrapper {
        max-width: 47.5rem; } }
  .zitat .person {
    color: #32728b;
    line-height: 1.3;
    font-size: 0.75em; }
    @media (min-width: 31.25em) {
      .zitat .person {
        font-size: 0.875em; } }
    @media (min-width: 53.75em) {
      .zitat .person {
        font-size: 1em; } }
    @media (min-width: 75em) {
      .zitat .person {
        font-size: 1.125em; } }

/* ==========================================================================
   	 Link colors and styles
    ========================================================================== */
a[href^="tel:"] {
  color: inherit;
  cursor: pointer; }

/* ==========================================================================
  	 Titles
   	========================================================================== */
h1 a,
.h1 a,
h2 a,
.h2 a,
h2 a,
.h3 a,
h4 a,
.h4 a,
h5 a,
.h5 a,
h6
.h6 a {
  text-decoration: none; }

/* ==========================================================================
  	 Buttons and links with icons
   	========================================================================== */
.content p.small-btn,
.content ul.small-btn {
  font-size: 0.75em;
  line-height: 1.3; }
  @media (min-width: 31.25em) {
    .content p.small-btn,
    .content ul.small-btn {
      font-size: 0.875em; } }
  @media (min-width: 53.75em) {
    .content p.small-btn,
    .content ul.small-btn {
      font-size: 1em; } }
  @media (min-width: 75em) {
    .content p.small-btn,
    .content ul.small-btn {
      font-size: 1.125em; } }
  .content p.small-btn .btn,
  .content ul.small-btn .btn {
    padding-bottom: 0.0625em;
    padding-top: 0.1875em;
    /*
					@include mq($from: bigtablet){
						font-size: scut-em(14);
					}
					@include mq($from: desktop){
						font-size: scut-em(14);
					}
					*/ }

@media (min-width: 53.75em) {
  .content .btn.back:before {
    border-bottom-width: 0.25em;
    border-right-width: 0.375em;
    border-top-width: 0.25em;
    margin-right: 0.6875em; } }

@media (min-width: 53.75em) {
  .content .btn.intern:after {
    border-bottom-width: 0.25em;
    border-left-width: 0.375em;
    border-top-width: 0.25em;
    margin-left: 0.6875em; } }

@media (min-width: 53.75em) {
  .content .btn.onpage.up:after {
    border-bottom-width: 0.375em;
    border-left-width: 0.25em;
    border-right-width: 0.25em;
    margin-left: 0.625rem; } }

@media (min-width: 53.75em) {
  .content .btn.onpage.down:after {
    border-left-width: 0.25em;
    border-right-width: 0.25em;
    border-top-width: 0.375em;
    margin-left: 0.625em; } }

.btn.back {
  padding-left: 0.625em;
  position: relative; }
  @media (min-width: 31.25em) {
    .btn.back {
      padding-left: 0.6875em; } }
  @media (min-width: 75em) {
    .btn.back {
      padding-left: 0.625em; } }
  .btn.back:before {
    display: inline-block;
    content: '';
    border-bottom: 0.1875em solid transparent;
    border-right: 0.3125em solid #214F61;
    border-top: 0.1875em solid transparent;
    margin-right: 0.5em;
    margin-bottom: 0.125em; }
    @media (min-width: 31.25em) {
      .btn.back:before {
        border-bottom-width: 0.25em;
        border-right-width: 0.375em;
        border-top-width: 0.25em;
        margin-bottom: 0.125em;
        margin-right: 0.625em; } }

.btn.onpage, .btn.intern {
  padding-right: 0.625em;
  position: relative; }
  @media (min-width: 31.25em) {
    .btn.onpage, .btn.intern {
      padding-right: 0.6875em; } }
  @media (min-width: 75em) {
    .btn.onpage, .btn.intern {
      padding-right: 0.625em; } }
  .btn.onpage:after, .btn.intern:after {
    display: inline-block;
    content: ''; }

.btn.intern:after {
  border-bottom: 0.1875em solid transparent;
  border-left: 0.3125em solid #214F61;
  border-top: 0.1875em solid transparent;
  margin-left: 0.5em;
  margin-bottom: 0.125em; }
  @media (min-width: 31.25em) {
    .btn.intern:after {
      border-bottom-width: 0.25em;
      border-left-width: 0.375em;
      border-top-width: 0.25em;
      margin-bottom: 0.125em;
      margin-left: 0.625em; } }

.btn.onpage.up:after {
  border-bottom: 0.3125em solid #214F61;
  border-left: 0.1875em solid transparent;
  border-right: 0.1875em solid transparent;
  margin-bottom: 0.1875em;
  margin-left: 0.5em; }
  @media (min-width: 31.25em) {
    .btn.onpage.up:after {
      border-bottom-width: 0.375em;
      border-left-width: 0.25em;
      border-right-width: 0.25em;
      margin-left: 0.4375em; } }

.btn.onpage.down:after {
  border-left: 0.1875em solid transparent;
  border-right: 0.1875em solid transparent;
  border-top: 0.3125em solid #214F61;
  margin-bottom: 0.125em;
  margin-left: 0.5em; }
  @media (min-width: 31.25em) {
    .btn.onpage.down:after {
      border-left-width: 0.25em;
      border-right-width: 0.25em;
      border-top-width: 0.375em;
      margin-left: 0.4375em; } }

.btn {
  background-color: #B9D3DF;
  border-radius: 0.25em;
  display: inline-block;
  line-height: 1.3;
  margin-top: 0.125em;
  padding: 0.25em 0.5em 0.125em;
  -webkit-transition: background-color .2s ease-in-out;
  transition: background-color .2s ease-in-out;
  text-decoration: none; }
  @media (min-width: 31.25em) {
    .btn {
      margin-top: 0.25em;
      padding-right: 0.6875em;
      padding-left: 0.6875em; } }
  @media (min-width: 53.75em) {
    .btn {
      margin-top: 0.375em;
      padding-right: 0.75em;
      padding-left: 0.75em; } }
  @media (min-width: 75em) {
    .btn {
      padding-right: 0.625em;
      padding-left: 0.625em; } }
  .btn:active, .btn:focus, .btn:hover {
    background-color: #86B6CD; }

.icon.up.btt {
  position: relative; }
  .icon.up.btt:before {
    display: inline-block;
    content: ''; }

.icon.up.btt:before {
  border-bottom: 0.3125em solid #214F61;
  border-left: 0.1875em solid transparent;
  border-right: 0.1875em solid transparent;
  margin-bottom: 0.1875em;
  margin-right: 0.5em; }
  @media (min-width: 31.25em) {
    .icon.up.btt:before {
      border-bottom-width: 0.375em;
      border-left-width: 0.25em;
      border-right-width: 0.25em;
      margin-right: 0.4375em; } }

.link.top {
  padding-left: .8em; }
  .link.top:after {
    border-bottom: 6px solid #ffffff;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    margin-left: 2px;
    margin-top: 1px; }
    @media (min-width: 75em) {
      .link.top:after {
        border-bottom-width: 7px;
        border-left-width: 4px;
        border-right-width: 4px;
        margin-left: 1px; } }
  .link.top:before {
    background-color: #ffffff;
    height: 14px;
    margin-left: 4px;
    margin-top: 7px;
    width: 2px; }
    @media (min-width: 75em) {
      .link.top:before {
        height: 17px; } }

ul.list li {
  display: block;
  position: relative;
  padding-bottom: 0.0625rem;
  margin-left: 0.625rem;
  padding-left: 0.375rem; }
  @media (min-width: 31.25em) {
    ul.list li {
      margin-left: 1.25rem;
      padding-left: 0.625rem; } }
  ul.list li:before {
    content: '';
    display: block;
    position: absolute;
    background-color: #214F61;
    border-radius: 50%;
    height: 4px;
    left: 0;
    margin-left: -0.5rem;
    margin-top: .7rem;
    top: 0;
    width: 4px; }
    @media (min-width: 31.25em) {
      ul.list li:before {
        height: 6px;
        margin-left: -0.75rem;
        margin-top: .7rem;
        width: 6px; } }
    @media (min-width: 37.5em) {
      ul.list li:before {
        margin-top: .8rem; } }
    @media (min-width: 75em) {
      ul.list li:before {
        margin-top: .9rem; } }
    @media (min-width: 112.5em) {
      ul.list li:before {
        height: 8px;
        width: 8px; } }
  ul.list li.download:before {
    display: none; }

ul.list li + li {
  margin-top: 0.3125rem; }
  @media (min-width: 53.75em) {
    ul.list li + li {
      margin-top: 0.625rem; } }
  @media (min-width: 75em) {
    ul.list li + li {
      margin-top: 0.875rem; } }

ul.small-btn li + li {
  margin-top: 0.1875rem; }
  @media (min-width: 53.75em) {
    ul.small-btn li + li {
      margin-top: 0.25rem; } }
  @media (min-width: 75em) {
    ul.small-btn li + li {
      margin-top: 0.375rem; } }

ul.menu-list li {
  padding-bottom: 0.5em; }
  @media (min-width: 31.25em) {
    ul.menu-list li {
      display: inline-block;
      padding-right: 0.5em;
      padding-top: 0; } }
  @media (min-width: 53.75em) {
    ul.menu-list li {
      padding-bottom: 0.625em;
      padding-right: 0.625em; } }
  @media (min-width: 75em) {
    ul.menu-list li {
      padding-right: 1em; } }

ul.menu-list li + li {
  padding-top: 0; }

dl dt,
dl dd {
  margin: 0;
  padding: 0; }

@media (min-width: 31.25em) {
  dl dt {
    float: left;
    width: 40%; } }

dl dd:after {
  content: '';
  display: block;
  padding-bottom: 0.625rem;
  position: relative; }

@media (min-width: 31.25em) {
  dl dd {
    display: block;
    margin-left: 40%;
    width: auto; } }

@media (min-width: 75em) {
  .teaser-wrapper {
    width: 90%; } }

@media (min-width: 90em) {
  .teaser-wrapper {
    width: 80%; } }

* + .teaser-wrapper.row.full {
  padding-top: 3rem; }
  @media (min-width: 31.25em) {
    * + .teaser-wrapper.row.full {
      padding-top: 4rem; } }
  @media (min-width: 62.5em) {
    * + .teaser-wrapper.row.full {
      padding-top: 6rem; } }
  @media (min-width: 75em) {
    * + .teaser-wrapper.row.full {
      padding-top: 10rem; } }

.teaser {
  border-radius: 0.375rem;
  padding: 1.25rem 1.25rem;
  position: relative; }
  @media (min-width: 20em) {
    .teaser {
      padding: 1.25rem 1.875rem; } }
  @media (min-width: 27.5em) {
    .teaser {
      padding: 1.25rem 2.5rem; } }
  @media (min-width: 31.25em) {
    .teaser {
      padding: 1.875rem 2.5rem; } }
  @media (min-width: 37.5em) {
    .teaser {
      height: 100%;
      padding: 1.875rem 1.25rem 1.25rem; } }
  @media (min-width: 47.9375em) {
    .teaser {
      padding: 3.125rem 2.5rem 2.5rem; } }
  @media (min-width: 62.5em) {
    .teaser {
      padding: 3.125rem 3.125rem 2.5rem; } }
  @media (min-width: 75em) {
    .teaser {
      padding: 3.75rem 2.5rem 2.5rem; } }
  @media (min-width: 90em) {
    .teaser {
      padding: 4.375rem 2.8125rem 2.8125rem; } }
  .teaser p {
    padding-bottom: 1.25rem; }
    @media (min-width: 20em) {
      .teaser p {
        padding-bottom: 2.5rem; } }
    @media (min-width: 47.9375em) {
      .teaser p {
        padding-bottom: 3.75rem; } }
    @media (min-width: 81.25em) {
      .teaser p {
        padding-bottom: 5rem; } }
  .teaser .teaser-button {
    border-radius: 50%;
    display: block;
    height: 2.5rem;
    margin-left: auto;
    margin-right: 0;
    padding-top: 0.9375rem;
    padding-left: 1.0625rem;
    -webkit-transition: background-color .2s ease-in-out;
    transition: background-color .2s ease-in-out;
    width: 2.5rem; }
    @media (min-width: 31.25em) {
      .teaser .teaser-button {
        height: 2.75rem;
        padding-top: 1rem;
        padding-left: 1.1875rem;
        width: 2.75rem; } }
    @media (min-width: 47.9375em) {
      .teaser .teaser-button {
        height: 3.125rem;
        padding-top: 1.1875rem;
        padding-left: 1.375rem;
        width: 3.125rem; } }
    @media (min-width: 81.25em) {
      .teaser .teaser-button {
        height: 3.75rem;
        padding-top: 1.375rem;
        padding-left: 1.625rem;
        width: 3.75rem; } }
    .teaser .teaser-button:after {
      border-bottom: 0.3125rem solid transparent;
      border-left-width: 0.4375rem;
      border-left-style: solid;
      border-top: 0.3125rem solid transparent;
      border-radius: 0.125rem;
      content: '';
      display: block; }
      @media (min-width: 31.25em) {
        .teaser .teaser-button:after {
          border-bottom-width: 0.375rem;
          border-left-width: 0.5rem;
          border-top-width: 0.375rem; } }
      @media (min-width: 47.9375em) {
        .teaser .teaser-button:after {
          border-bottom-width: 0.4375rem;
          border-left-width: 0.5625rem;
          border-top-width: 0.4375rem; } }
      @media (min-width: 81.25em) {
        .teaser .teaser-button:after {
          border-bottom-width: 0.5625rem;
          border-left-width: 0.6875rem;
          border-top-width: 0.5625rem;
          border-radius: 0.1875rem; } }
    .teaser .teaser-button:before {
      content: '';
      display: block;
      position: absolute;
      display: block;
      height: 100%;
      left: 0;
      top: 0;
      width: 100%;
      z-index: 3; }

.blue .teaser {
  background-color: #F5FCFE; }
  .blue .teaser .teaser-button {
    background-color: #B9D3DF; }
    .blue .teaser .teaser-button:active, .blue .teaser .teaser-button:focus, .blue .teaser .teaser-button:hover {
      background-color: #86B6CD; }
    .blue .teaser .teaser-button:after {
      border-left-color: #214F61; }

.yellow .teaser {
  background-color: #FFFAEB; }
  .yellow .teaser .teaser-button {
    background-color: #ECE4CA; }
    .yellow .teaser .teaser-button:active, .yellow .teaser .teaser-button:focus, .yellow .teaser .teaser-button:hover {
      background-color: #D7C693; }
    .yellow .teaser .teaser-button:after {
      border-left-color: #214F61; }

@supports (display: flex) {
  @media (min-width: 37.5em) {
    .teaser {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media (min-width: 37.5em) {
    .teaser .teaser-button {
      margin-top: auto; } } }

/*

@import "components/_base";
@import "components/_grid";
@import "components/_typography";
@import "components/_header";
@import "components/_footer";


@import "components/_offcanvas";
@import "components/_tables";
@import "components/_contentelements";
@import "components/_button-links";
@import "components/_ratiobox";
@import "components/_form";

@import "components/_responsive";
@import "components/_images";

*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCJjb21tb24vc2V0dGluZ3MvX3NjdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zY3V0L2Rpc3QvX3NjdXQuc2NzcyIsImNvbW1vbi9zZXR0aW5ncy9fYnJlYWtwb2ludHMuc2NzcyIsImNvbW1vbi9fbWl4aW5zLnNjc3MiLCJjb21tb24vc2V0dGluZ3MvX2NvbmZpZy5zY3NzIiwiY29tbW9uL3NldHRpbmdzL19zaXplcy5zY3NzIiwiY29tbW9uL3NldHRpbmdzL19jb2xvcnMuc2NzcyIsImNvbW1vbi9ncmlkcy9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1tcS9fbXEuc2NzcyIsImhlbHBlci9fcHNldWRvLWVsZW1lbnRzLnNjc3MiLCJjb21tb24vX25vcm1hbGl6ZS5zY3NzIiwiY29tbW9uL19iYXNlLnNjc3MiLCJjb21tb24vdHlwb2dyYXBoeS9fZGVmYXVsdC10eXBvZ3JhcGh5LnNjc3MiLCJoZWxwZXIvX3dvcmRicmVhay5zY3NzIiwiY29tbW9uL3R5cG9ncmFwaHkvX2ZvbnRjb2xvci5zY3NzIiwiY29tbW9uL3R5cG9ncmFwaHkvX3dlYmZvbnQuc2NzcyIsImNvbW1vbi9fZWZmZWN0cy5zY3NzIiwiY29tbW9uL2dyaWRzL19mbG9hdC1ncmlkLnNjc3MiLCJoZWxwZXIvX2NsZWFyZml4LnNjc3MiLCJjb21tb24vZ3JpZHMvX2ZsZXgtZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fc2l0ZS1oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX3NpdGUtZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19zaXRlLW5hdi5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiY29tcG9uZW50cy9faW1hZ2VzLnNjc3MiLCJjb21wb25lbnRzL19rb250YWt0LnNjc3MiLCJjb21wb25lbnRzL19xdW90ZS5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzLnNjc3MiLCJjb21wb25lbnRzL19saXN0cy5zY3NzIiwiY29tcG9uZW50cy9fdGVhc2VyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQ2hCOzsrRURFK0U7QUVGL0U7OzsrRUZNK0U7QUNFL0U7OytFREMrRTtBR1YvRTs7Ozs7Q0hnQkM7QUlmRDs7OytFSm1CK0U7QUNDL0U7OytFREUrRTtBS3RCL0U7OytFTHlCK0U7QUtUL0U7OytFTFkrRTtBQ0kvRTs7K0VERCtFO0FNaEMvRTs7NkVObUM2RTtBTS9CN0U7O2dGTmtDZ0Y7QU12QmhGOztnRk4wQmdGO0FNZmhGOzs2RU5rQjZFO0FPNUM3RTs7NkVQK0M2RTtBTzFDN0U7O2lGUDZDaUY7QU9uQ2pGOztpRlBzQ2lGO0FRcERqRjs7K0VSdUQrRTtBU3hEL0U7O2dGVDJEZ0Y7QVVzTHhFO0VEN09KOzs7Ozs7Ozs7Ozs7SUFlZ0IsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixVQUFVLEVBQUEsRUFPakI7O0FDcU5MO0VEN09KOzs7Ozs7Ozs7Ozs7SUFvQmdCLGNBQWM7SUFDZCxlQUFlO0lBQ2YsV0FBVyxFQUFBLEVBRWxCOztBQ3FOTDtFRGhOUDtJQUtLLG1CTmtGbUQ7SU1qRm5ELGtCQUFrQjtJQUNsQixXQUFXLEVBQUEsRUFXWjs7QUM4TEc7RURoTlA7SUFVSyxnQkFBZ0IsRUFBQSxFQVFqQjs7QUM4TEc7RURoTlA7SUFhSyxnQkFBZ0IsRUFBQSxFQUtqQjs7QUM4TEc7RURoTlA7SUFnQkssaUJBQWlCLEVBQUEsRUFFbEI7O0FDOExHO0VEaE5QO0lBdUJLLGlCQUFpQjtJQUNqQixvQk4rRG1ELEVBQUEsRU1wRHBEOztBQzZLRztFRGhOUDtJQTJCSyxpQkFBaUIsRUFBQSxFQVFsQjs7QUM2S0c7RURoTlA7SUE4QkssaUJBQWlCLEVBQUEsRUFLbEI7O0FDNktHO0VEaE5QO0lBaUNLLGtCQUFrQixFQUFBLEVBRW5COztBQUtMOztnRlQwRGdGO0FTdEQvRTtFQUVFLG9CTmlFNEQ7RU1oRTVELHFCTmdFNEQ7RU0vRDVELG9CTitENEQ7RU05RDVELHdCTjhENEQ7RU03RDVELG9CTjZENEQ7RU01RDVELG9CTjRENEQ7RU0zRDVELGtCQUFrQixFQUFBO0VDNEpiO0lEcEtQO01BVUcscUJOeUQyRDtNTXhEM0Qsc0JOd0QyRDtNTXZEM0QscUJOdUQyRCxFQUFBLEVNUnREO0VDeUdEO0lEcEtQO01BZUcsbUJOb0QyRDtNTW5EM0QsZUFBZTtNQUNmLG9CTmtEMkQ7TU1qRDNELHNCTmlEMkQ7TU1oRDNELGtCTmdEMkQ7TU0vQzNELHFCTitDMkQ7TU05Qy9DLGtCTjhDK0MsRUFBQSxFTVJ0RDtFQ3lHRDtJRHBLUDtNQXdCRyxrQk4yQzJEO01NMUMzRCx3Qk4wQzJEO01NekMzRCxxQk55QzJEO01NeEMzRCxxQk53QzJELEVBQUEsRU1SdEQ7RUN5R0Q7SURwS1A7TUE4QkcsbUJOcUMyRDtNTXBDM0Qsd0JOb0MyRDtNTW5DM0Qsb0JObUMyRDtNTWxDM0QscUJOa0MyRCxFQUFBLEVNUnREO0VDeUdEO0lEcEtQO01Bb0NHLG9CTitCMkQsRUFBQSxFTVJ0RDtFQ3lHRDtJRHBLUDtNQXVDZSxrQk40QitDO01NM0IzRCxxQk4yQjJEO01NMUIzRCxnQk4wQjJEO01NekIzRCx3Qk55QjJEO01NeEIzRCxxQk53QjJEO01NdkIzRCxvQk51QjJELEVBQUEsRU1SdEQ7RUN5R0Q7SURwS1A7TUErQ0cscUJOb0IyRCxFQUFBLEVNUnREO0VBM0RSO0lFNUVBLFdBQVc7SUFDWCxjQUZrQztJQUdsQyxrQkFBa0I7SUY2SGYsOEJBQThCO0lBQzlCLFlBQVk7SUFDWixPQUFPO0lBQ1AsV0FBVztJQUNYLE1BQU07SUFDTixnQk5XMkQsRUFBQTs7QU1ML0Q7O2dGVHNEZ0Y7QVVnRHhFO0VEbEdKO0lBU0ksa0JBQWtCLEVBQUEsRUE0Qm5COztBQXJDSDtFQVlJLG9CTlh1RDtFTVl2RCx3Qk5adUQ7RU1hdkQsb0JOYnVEO0VNY3ZELG9CTmR1RDtFTWV2RCxrQkFBa0IsRUFBQTtFQ2tGbEI7SURsR0o7TUFrQksscUJOakJzRCxFQUFBLEVNbUN2RDtFQXBDSjtJRTlJSCxXQUFXO0lBQ1gsY0FGa0M7SUFHbEMsa0JBQWtCO0lGa0tWLDhCQUE4QjtJQUM5QixZQUFZO0lBQ1osT0FBTztJQUNQLFdBQVc7SUFDWCxNQUFNO0lBQ04sZ0JOMUJzRCxFQUFBO0lPaUd2RDtNRGxHSjtRQTZCTSxpQk41QnFEO1FNNkJyRCxlTjdCcUQsRUFBQSxFTWtDdEQ7SUMrREQ7TURsR0o7UUFpQ00sZU5oQ3FELEVBQUEsRU1rQ3REOztBQytERDtFRGxHSjtJQWtERSxrQkFBa0I7SUFDbEIsVUFBVSxFQUFBLEVBRVg7O0FDNkNHO0VEbEdKO0lBNERHLGdCQUFnQixFQUFBLEVBMkNqQjs7QUNMRTtFRGxHSjtJQWlFSyx1Qk5oRXNEO0lNaUV0RCx1Qk5qRXNELEVBQUEsRU1vR3ZEOztBQ0hBO0VEbEdKO0lBcUVLLHdCTnBFc0Q7SU1xRXRELHdCTnJFc0QsRUFBQSxFTW9HdkQ7O0FDSEE7RURsR0o7SUF5RUssb0JOeEVzRDtJTXlFdEQsb0JOekVzRCxFQUFBLEVNb0d2RDs7QUNIQTtFRGxHSjtJQThFTSxVQUFVO0lBQ1YsbUJOOUVxRDtJTStFckQscUJOL0VxRDtJTWdGckQsa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixNQUFNO0lBQ04sWU5uRnFELEVBQUEsRU1tR3REOztBQ0ZEO0VEbEdKO0lBdUZNLG9CTnRGcUQ7SU11RnJELG9CTnZGcUQsRUFBQSxFTW1HdEQ7O0FDRkQ7RURsR0o7SUEyRk0scUJOMUZxRDtJTTJGckQsa0JOM0ZxRDtJTTRGckQsY041RnFELEVBQUEsRU1tR3REOztBQ0ZEO0VEbEdKO0lBaUdPLE1BQU0sRUFBQSxFQUVQOztBQ0RGO0VEbEdKO0lBK0dHLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsVUFBVSxFQUFBLEVBNkNYOztBQzVERTtFRGxHSjtJQXNISyxxQk5ySHNEO0lNc0h0RCxxQk50SHNELEVBQUEsRU0ySnZEOztBQzFEQTtFRGxHSjtJQTBISyx1Qk56SHNEO0lNMEh0RCx1Qk4xSHNELEVBQUEsRU0ySnZEOztBQzFEQTtFRGxHSjtJQThISyxzQk43SHNEO0lNOEh0RCxzQk45SHNELEVBQUEsRU0ySnZEOztBQzFEQTtFRGxHSjtJQW1JTSxTQUFTO0lBQ1Qsc0JObklxRDtJTW9JckQsd0JOcElxRDtJTXFJckQsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixPQUFPO0lBQ1AsU0FBUztJQUNULFlOeklxRCxFQUFBLEVNMEp0RDs7QUN6REQ7RURsR0o7SUE2SU0sdUJONUlxRDtJTTZJckQsdUJON0lxRCxFQUFBLEVNMEp0RDs7QUN6REQ7RURsR0o7SUFpSk0sd0JOaEpxRDtJTWlKckQscUJOakpxRDtJTWtKckQsY05sSnFELEVBQUEsRU0wSnREOztBQ3pERDtFRGxHSjtJQXVKTyxTQUFTO0lBQ1QsU0FBUyxFQUFBLEVBRVY7O0FDeERGO0VEbEdKO0lBeUtFLGtCQUFrQjtJQUNsQixXQUFXLEVBQUEsRUFFWjs7QUMxRUc7RURsR0o7SUFtTEcsZUFBZTtJQUNmLFVBQVUsRUFBQSxFQTRDWDs7QUM5SEU7RURsR0o7SUF5TEssdUJOeExzRDtJTXlMdEQsdUJOekxzRCxFQUFBLEVNNk52RDs7QUM1SEE7RURsR0o7SUE2TEssd0JONUxzRDtJTTZMdEQsd0JON0xzRCxFQUFBLEVNNk52RDs7QUM1SEE7RURsR0o7SUFpTUssb0JOaE1zRDtJTWlNdEQsb0JOak1zRCxFQUFBLEVNNk52RDs7QUM1SEE7RURsR0o7SUFzTU0sU0FBUztJQUNULHNCTnRNcUQ7SU11TXJELHdCTnZNcUQ7SU13TXJELGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFlOM01xRCxFQUFBLEVNNE50RDs7QUMzSEQ7RURsR0o7SUErTU0sdUJOOU1xRDtJTStNckQsdUJOL01xRCxFQUFBLEVNNE50RDs7QUMzSEQ7RURsR0o7SUFtTk0sd0JObE5xRDtJTW1OckQscUJObk5xRDtJTW9OckQsY05wTnFELEVBQUEsRU00TnREOztBQzNIRDtFRGxHSjtJQXlOTyxTQUFTO0lBQ1QsU0FBUyxFQUFBLEVBRVY7O0FDMUhGO0VEbEdKO0lBd09HLGlCQUFpQixFQUFBLEVBMENsQjs7QUNoTEU7RURsR0o7SUE2T0sscUJONU9zRDtJTTZPdEQscUJON09zRCxFQUFBLEVNK1F2RDs7QUM5S0E7RURsR0o7SUFpUEssdUJOaFBzRDtJTWlQdEQsdUJOalBzRCxFQUFBLEVNK1F2RDs7QUM5S0E7RURsR0o7SUFxUEssc0JOcFBzRDtJTXFQdEQsc0JOclBzRCxFQUFBLEVNK1F2RDs7QUM5S0E7RURsR0o7SUEwUE0sbUJOelBxRDtJTTBQckQscUJOMVBxRDtJTTJQckQsa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxNQUFNO0lBQ04sWU45UHFELEVBQUEsRU04UXREOztBQzdLRDtFRGxHSjtJQWtRTSxvQk5qUXFEO0lNa1FyRCxvQk5sUXFELEVBQUEsRU04UXREOztBQzdLRDtFRGxHSjtJQXNRTSxxQk5yUXFEO0lNc1FyRCxrQk50UXFEO0lNdVFyRCxjTnZRcUQsRUFBQSxFTThRdEQ7O0FDN0tEO0VEbEdKO0lBNFFPLE1BQU0sRUFBQSxFQUVQOztBQVVWOztnRlRMZ0Y7QVNTNUU7RUFDQyxnQkFBZ0I7RUFDZCxpQkFBaUI7RUFDbkIsZ0JBQWdCO0VBQ2Isa0JBQWtCO0VBQ3JCLFdBQVcsRUFBQTtFQUxaO0lBT0QseUJEdmFpQztJQ3dhakMsaUJBQWlCO0lBQ2pCLHFEQUFxQztJQUFyQyw2Q0FBcUM7SUFBckMscUNBQXFDO0lBQXJDLHdFQUFxQyxFQUFBOztBQUl2QztFQUNDLG9CTnpTNkQ7RU0wUzdELHFCTjFTNkQsRUFBQTtFT2lHdkQ7SUR1TVA7TUFJRSxxQk41UzREO01NNlM1RCxzQk43UzRELEVBQUEsRU1tVTdEO0VDbE9NO0lEdU1QO01BUUUsbUJOaFQ0RDtNTWlUNUQsb0JOalQ0RCxFQUFBLEVNbVU3RDtFQ2xPTTtJRHVNUDtNQVlFLG9CTnBUNEQ7TU1xVDVELHFCTnJUNEQsRUFBQSxFTW1VN0Q7RUNsT007SUR1TVA7TUFnQkUsb0JOeFQ0RDtNTXlUNUQscUJOelQ0RCxFQUFBLEVNbVU3RDtFQ2xPTTtJRHVNUDtNQW9CRSxpQkFBaUI7TUFDakIsa0JBQWtCO01BQ2xCLFlOOVQ0RCxFQUFBLEVNbVU3RDtF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V2hFdkQ7RUp5TE07SUluTlA7OztNQWNFLGtCWDRFc0QsRUFBQSxFV2hFdkQ7RUp5TE07SUluTlA7OztNQWlCRSxpQlh5RXNEO01XeEV0RCwyQlh3RXNEO01XdkV0RCx5Qlh1RXNELEVBQUEsRVdoRXZEO0VKeUxNO0lJbk5QOzs7TUFzQkUsa0JYb0VzRDtNV25FdEQsMkJYbUVzRDtNV2xFdEQseUJYa0VzRCxFQUFBLEVXaEV2RDs7QUFFRTs7RUFFRixrQlg0RHVEO0VXM0R2RCxxQlgyRHVELEVBQUE7RU95SGpEO0lJdkxKOztNQUtELGtCWHlEc0QsRUFBQSxFV3pDdkQ7RUprS007SUl2TEo7O01BUUQsa0JYc0RzRCxFQUFBLEVXekN2RDtFSmtLTTtJSXZMSjs7TUFXRCxrQlhtRHNELEVBQUEsRVd6Q3ZEO0VKa0tNO0lJdkxKOztNQWNELGtCWGdEc0Q7TVcvQ3RELDJCWCtDc0Q7TVc5Q3RELHNCWDhDc0QsRUFBQSxFV3pDdkQ7RUprS007SUl2TEo7O01BbUJELGtCWDJDc0QsRUFBQSxFV3pDdkQ7O0FBR0Q7O0VBRUMsa0JYb0N1RDtFV25DdkQscUJYbUN1RCxFQUFBO0VPeUhqRDtJSS9KUDs7TUFLRSxrQlhpQ3NELEVBQUEsRVdqQnZEO0VKMElNO0lJL0pQOztNQVFFLGtCWDhCc0QsRUFBQSxFV2pCdkQ7RUowSU07SUkvSlA7O01BV0UsaUJYMkJzRCxFQUFBLEVXakJ2RDtFSjBJTTtJSS9KUDs7TUFjRSxnQlh3QnNEO01XdkJ0RCwyQlh1QnNEO01XdEJ0RCxzQlhzQnNELEVBQUEsRVdqQnZEO0VKMElNO0lJL0pQOztNQW1CRSxpQlhtQnNELEVBQUEsRVdqQnZEOztBQUVEOztFQUVDLGlCWGF1RDtFV1p2RCx3QlhZdUQsRUFBQTtFT3lIakQ7SUl4SVA7O01BS0UsZ0JYVXNELEVBQUEsRVdNdkQ7RUptSE07SUl4SVA7O01BUUUsa0JYT3NELEVBQUEsRVdNdkQ7RUptSE07SUl4SVA7O01BV0UsY1hJc0QsRUFBQSxFV012RDtFSm1ITTtJSXhJUDs7TUFjRSxpQlhDc0Q7TVdBdEQsMkJYQXNEO01XQ3RELHNCWERzRCxFQUFBLEVXTXZEO0VKbUhNO0lJeElQOztNQW1CRSxnQlhKc0QsRUFBQSxFV012RDs7QUFFRDs7RUFFQyxrQlhWdUQ7RVdXdkQsd0JYWHVELEVBQUE7RU95SGpEO0lJakhQOztNQUtFLGtCWGJzRCxFQUFBLEVXNkJ2RDtFSjRGTTtJSWpIUDs7TUFRRSxnQlhoQnNELEVBQUEsRVc2QnZEO0VKNEZNO0lJakhQOztNQVdFLGlCWG5Cc0QsRUFBQSxFVzZCdkQ7RUo0Rk07SUlqSFA7O01BY0UsY1h0QnNEO01XdUJ0RCx5Qlh2QnNEO01Xd0J0RCx3Qlh4QnNELEVBQUEsRVc2QnZEO0VKNEZNO0lJakhQOztNQW1CRSxpQlgzQnNELEVBQUEsRVc2QnZEOztBQUVEOztFQUVDLGNYakN1RDtFV2tDdkQsd0JYbEN1RCxFQUFBO0VPeUhqRDtJSTFGUDs7TUFLRSxrQlhwQ3NELEVBQUEsRVdvRHZEO0VKcUVNO0lJMUZQOztNQVFFLGlCWHZDc0QsRUFBQSxFV29EdkQ7RUpxRU07SUkxRlA7O01BV0Usa0JYMUNzRCxFQUFBLEVXb0R2RDtFSnFFTTtJSTFGUDs7TUFjRSxnQlg3Q3NEO01XOEN0RCx5Qlg5Q3NEO01XK0N0RCx3QlgvQ3NELEVBQUEsRVdvRHZEO0VKcUVNO0lJMUZQOztNQW1CRSxpQlhsRHNELEVBQUEsRVdvRHZEOztBQUVEOzs7Ozs7OztFQVFDLGdCQUFnQixFQUFBOztBQUdqQjs7RUFFQyxnQkFBZ0IsRUFBQTtFSnNEVjtJSXhEUDs7TUFJRSxnQkFBZ0IsRUFBQSxFQUVqQjs7QUFFRjs7Z0ZkaXZDZ0Y7QWM3dUMvRTs7Ozs7Ozs7Ozs7Ozs7OztFQWdCSSwyREFoTjREO0VBaU41RCxnQkFBZ0I7RUFDakIsMkJYL0ZxRDtFV2dHdkQsU0FBUztFQUNOLHNCWGpHb0QsRUFBQTs7QVdxR3pEOzswQ2Q4dUMwQztBYzF1Q3pDOztFQUVDLDJEQTlOK0Q7RUErTi9ELGdCQUFnQjtFQUNoQix5Qlg3R3VEO0VXOEd2RCx3Qlg5R3VELEVBQUE7O0FXa0h6RDs7K0VkMnVDK0U7QWN2dUM5RTtFQUNDLGlCWHZIdUQsRUFBQTtFT3lIakQ7SUlIUDtNQUdFLGtCWHpIc0QsRUFBQSxFV2lJdkQ7RUpSTTtJSUhQO01BTUUsZ0JYNUhzRCxFQUFBLEVXaUl2RDtFSlJNO0lJSFA7TUFTRSxrQlgvSHNELEVBQUEsRVdpSXZEOztBQUVEOzs7RUFHQyxTQUFTO0VBQ1QsVUFBVSxFQUFBOztBQUdYOzs7O0VBSUMsY1g5SXVELEVBQUE7RU95SGpEO0lJaUJQOzs7O01BTUUsa0JYaEpzRCxFQUFBLEVXd0p2RDtFSi9CTTtJSWlCUDs7OztNQVNFLGlCWG5Kc0QsRUFBQSxFV3dKdkQ7RUovQk07SUlpQlA7Ozs7TUFZRSxrQlh0SnNELEVBQUEsRVd3SnZEOztBQUVEOzs7Ozs7OztFQVNFLG9CWG5Lc0QsRUFBQTtFT3lIakQ7SUlpQ1A7Ozs7Ozs7O01BV0csZ0JYcktxRCxFQUFBLEVXNkt0RDtFSnBESztJSWlDUDs7Ozs7Ozs7TUFjRyxvQlh4S3FELEVBQUEsRVc2S3REO0VKcERLO0lJaUNQOzs7Ozs7OztNQWlCRyxtQlgzS3FELEVBQUEsRVc2S3REOztBQW5CRjs7RVJ0T0MsbUJBQW1CLEVBQUE7RUlxTWI7SUlpQ1A7O01ScE9FLGlCQUFpQixFQUFBLEVRNFBYO0VKekREO0lJaUNQOztNUmpPRSxpQkFBaUIsRUFBQSxFUXlQWDtFSnpERDtJSWlDUDs7TVI5TkUsaUJBQWlCLEVBQUEsRVFzUFg7O0FBeEJSOztFQTJCVyxvQlhyTDZDLEVBQUE7RU95SGpEO0lJaUNQOztNQTZCZSxtQlh2THlDLEVBQUEsRVdrTWhEO0VKekVEO0lJaUNQOztNQWdDZSxvQlgxTHlDLEVBQUEsRVdrTWhEO0VKekVEO0lJaUNQOztNQW1DZSxrQlg3THlDLEVBQUEsRVdrTWhEO0VKekVEO0lJaUNQOztNQXNDZSxvQlhoTXlDLEVBQUEsRVdrTWhEOztBQXhDUjs7RUEyQ1csb0JYck02QyxFQUFBO0VPeUhqRDtJSWlDUDs7TUE2Q2UsZ0JYdk15QyxFQUFBLEVXa05oRDtFSnpGRDtJSWlDUDs7TUFnRGUsb0JYMU15QyxFQUFBLEVXa05oRDtFSnpGRDtJSWlDUDs7TUFtRGUsbUJYN015QyxFQUFBLEVXa05oRDtFSnpGRDtJSWlDUDs7TUFzRGUsb0JYaE55QyxFQUFBLEVXa05oRDs7QUF4RFI7O0VBMkRXLG9CWHJONkMsRUFBQTtFT3lIakQ7SUlpQ1A7O01BNkRlLG1CWHZOeUMsRUFBQSxFV2tPaEQ7RUp6R0Q7SUlpQ1A7O01BZ0VlLG9CWDFOeUMsRUFBQSxFV2tPaEQ7RUp6R0Q7SUlpQ1A7O01BbUVlLGdCWDdOeUMsRUFBQSxFV2tPaEQ7RUp6R0Q7SUlpQ1A7O01Bc0VlLG9CWGhPeUMsRUFBQSxFV2tPaEQ7O0FBeEVSOztFQTJFRSxvQlhyT3NELEVBQUE7RU95SGpEO0lJaUNQOztNQTZFZSxrQlh2T3lDLEVBQUEsRVdrUHREO0VKekhLO0lJaUNQOztNQWdGZSxvQlgxT3lDLEVBQUEsRVdrUHREO0VKekhLO0lJaUNQOztNQW1GZSxtQlg3T3lDLEVBQUEsRVdrUHREO0VKekhLO0lJaUNQOztNQXNGZSxvQlhoUHlDLEVBQUEsRVdrUHREOztBQXhGRjtFQTJGRSxjQUFjLEVBQUE7O0FBM0ZoQjtFQStGRSxxQlh6UHNELEVBQUE7RU95SGpEO0lJaUNQO01BaUdHLGtCWDNQcUQsRUFBQSxFV21RdEQ7RUoxSUs7SUlpQ1A7TUFvR0cscUJYOVBxRCxFQUFBLEVXbVF0RDtFSjFJSztJSWlDUDtNQXVHRyxvQlhqUXFELEVBQUEsRVdtUXREOztBQXpHRjtFQTRHRSxnQkFBZ0IsRUFBQTs7QUE1R2xCO0VBa0hHLGtCWDVRcUQsRUFBQTtFVzBKeEQ7SUFvSEksbUJYdFAwRCxFQUFBOztBVzRQL0Q7OytFZHF4QytFO0FjanhDOUU7RUFDQyxjQUFjLEVBQUE7O0FBR2Y7RUFDQyxjQUFjLEVBQUE7O0FFclpoQjs7K0VoQjBxRCtFO0FnQnRxRDlFO0VBQ0MsY1IyQjBCLEVBQUE7O0FTaEM1Qjs7Z0ZqQmdyRGdGO0FpQjVxRGhGOzs2RWpCK3FENkU7QWlCM3FENUU7O0VBR0UsdUVITjhEO0VHTzlELGlCQUFpQjtFQUNqQixlQUFlLEVBQUE7O0FBSWxCOzs2RWpCMnFENkU7QWlCdnFENUU7Ozs7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bUJIeUU2RCxFQUFBO0VvQmhKL0Q7SUFHUSxjQUFjO0lBQ2QsVUFBVSxFQUFBO0liNk9WO01halBSO1FBTUcsY3BCMEk0RCxFQUFBLEVvQi9HMUQ7SWJnTkc7TWFqUFI7UUFTRyxlcEJ1STRELEVBQUEsRW9CL0cxRDtJYmdORztNYWpQUjtRQVlHLGdCcEJvSTREO1FvQm5JNUQsVUFBVSxFQUFBLEVBb0JSO0liZ05HO01halBSO1FBZ0JHLG1CcEJnSTREO1FvQi9INUQsVUFBVSxFQUFBLEVBZ0JSO0liZ05HO01halBSO1FBb0JZLHNCcEI0SG1ELEVBQUEsRW9CL0cxRDtJYmdORztNYWpQUjtRQXVCWSxxQnBCeUhtRDtRb0J4SDVELG1CcEJ3SDREO1FvQnZINUQsVUFBVSxFQUFBLEVBUVI7SUFqQ0w7TUE0Qlksc0JwQm9IbUQsRUFBQTtNT2lHdkQ7UWFqUFI7VUE4QmdCLHFCcEJrSCtDLEVBQUEsRW9CaEh0RDtFYmlORDtJYWpQUjtNakJ5RUcsdUJIdUU0RDtNR3RFNUQsb0JIc0U0RCxFQUFBLEVvQmpDOUQ7RWJrSU87SWFqUFI7TWpCNkVHLGlCSG1FNEQsRUFBQSxFb0JqQzlEO0Via0lPO0lhalBSO01BdUNZLG9CcEJ5R21ELEVBQUEsRW9CcEcxRDtFYnFNRztJYWpQUjtNQTBDWSxpQnBCc0dtRCxFQUFBLEVvQnBHMUQ7RUE1Q0w7SUErQ1EsZ0JBQWdCLEVBQUE7RUEvQ3hCOztJQW1EUSxpQnBCcUVpRDtJb0JwRWpELGdCQUFnQixFQUFBO0liNkxoQjtNYWpQUjs7UUFzREcsa0JwQmtFc0QsRUFBQSxFb0IxRHBEO0libUxHO01halBSOztRQXlERyxjcEIrRHNELEVBQUEsRW9CMURwRDtJYm1MRztNYWpQUjs7UUE0REcsa0JwQjREc0QsRUFBQSxFb0IxRHBEO0VBOURMO0lBa0VZLG9CcEJzRDZDLEVBQUE7SU95SGpEO01halBSO1FBb0VnQixrQnBCb0R5QyxFQUFBLEVvQi9DaEQ7SWJ3S0Q7TWFqUFI7UUF1RWdCLG9CcEJpRHlDLEVBQUEsRW9CL0NoRDtFQXpFVDs7SUE4RVEscUJwQmtFdUQsRUFBQTtJ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MlJLLG1CQUFtQixFQUFBLEVBS3BCO0lkeFNHO01jUVA7UUE4UkssaUJBQWlCLEVBQUEsRUFFbEI7RUFoU0o7SUFtU0ssMEJBQTBCLEVBQUE7RWQzU3hCO0ljUVA7TUF3U0ssbUJyQmpaeUQsRUFBQSxFcUI4WjFEO0VkN1RHO0ljUVA7TUEyU0ssaUJyQnBaeUQsRUFBQSxFcUI4WjFEO0VkN1RHO0ljUVA7TUE4U0ssbUJyQnZaeUQsRUFBQSxFcUI4WjFEO0VBclRKO0lBbVRLLDBCQUEwQixFQUFBOztBQzVpQmhDOzsrRXpCZ2tHK0U7QXlCNWpHOUU7RUFFRSxvQnRCMEk0RCxFQUFBO0VPaUd2RDtJZTdPUDtNQUlHLG1CdEJ3STJELEVBQUEsRXNCN0g1RDtFZjhOSztJZTdPUDtNQU9HLHFCdEJxSTJELEVBQUEsRXNCN0g1RDtFZjhOSztJZTdPUDtNQVVHLHFCdEJrSTJELEVBQUEsRXNCN0g1RDtFZjhOSztJZTdPUDtNQWFHLHFCdEIrSDJELEVBQUEsRXNCN0g1RDs7QWY4Tks7RWU3T1A7SUFrQkcsVUFBVyxFQUFBLEVBS1o7O0Fmc05LO0VlN09QO0lBcUJHLFVBQVcsRUFBQSxFQUVaOztBQUdGO0VBRUUscUJ0QmdINEQsRUFBQTtFT2lHdkQ7SWVuTlA7TUFJRyxxQnRCOEcyRCxFQUFBLEVzQnRHNUQ7RWZ1TUs7SWVuTlA7TUFPRyxzQnRCMkcyRCxFQUFBLEVzQnRHNUQ7RWZ1TUs7SWVuTlA7TUFVRyxzQnRCd0cyRCxFQUFBLEVzQnRHNUQ7O0FDMUNIO0VBQ0ksaUJ2QnVIcUQsRUFBQTtFT3lIakQ7SWdCalBSO01BR1EsbUJ2QnFIaUQsRUFBQSxFdUJWeEQ7RWhCbUlPO0lnQmpQUjtNQU1RLGlCdkJrSGlELEVBQUEsRXVCVnhEO0VBOUdEO0lBU1EsZUFBZTtJQUNmLGdCQUFnQixFQUFBO0VoQnVPaEI7SWdCalBSO01BY1kscUJBQXFCLEVBQUEsRUFnRTVCO0VBOUVMO0lBaUJZLHlCbEJJbUI7SWtCSG5CLHFCdkJzRzZDO0l1QnJHN0Msc0J2QnFHNkM7SXVCcEc3QyxvREFBNEM7SUFBNUMsNENBQTRDLEVB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UjtRQW1EZ0IsY0FBYyxFQUFBLEVBaUJyQjtJbEI2S0Q7TWtCalBSO1FBc0RnQixvQnpCMEYrQyxFQUFBLEV5QjVFdEQ7SWxCNktEO01rQmpQUjtRQXlEZ0IscUJ6QnVGK0MsRUFBQSxFeUI1RXREO0lsQjZLRDtNa0JqUFI7UUE0RGdCLHFCekJvRitDLEVBQUEsRXlCNUV0RDtJbEI2S0Q7TWtCalBSO1FBK0RnQixvQnpCaUYrQyxFQUFBLEV5QjVFdEQ7SWxCNktEO01rQmpQUjtRQWtFZ0IscUJ6QjhFK0MsRUFBQSxFeUI1RXREOztBQUtnQjtFbEJ3S2pCO0lrQnZLSjtNQUlnQixnQkFBZ0IsRUFBQSxFQVF2QjtFbEIySkw7SWtCdktKO01BT2dCLGVBQWUsRUFBQSxFQUt0QjtFbEIySkw7SWtCdktKO01BVWdCLGVBQWUsRUFBQSxFQUV0QjtFbEIySkw7SWtCdktKO01BZWdCLGdCQUFnQixFQUFBLEVBS3ZCO0VsQm1KTDtJa0J2S0o7TUFrQmdCLGdCQUFnQixFQUFBLEVBRXZCLEVBQUE7O0FDOUZiO0VkQ0MscUJBQXFCO0VBQ3JCLHlCQUF5QjtFQUN6QixxQkFBYTtNQUFiLGlCQUFhO1VBQWIsYUFBYTtFQUNiLDRCQUE0QjtFY0Z6QixTQUFTLEVBQUE7O0FBR2I7RUFDSSx1QjFCMEkyRCxFQUFBO0UwQjNJL0Q7SUFHUSxvQ3JCaUN1QjtJRmdCN0IsdUJIdUY2RDtJR3RGN0Qsb0JIc0Y2RCxFQUFBO0lPaUd2RDtNbUI1T1I7UXZCdURHLHNCSG9GNEQ7UUduRjVELG1CSG1GNEQsRUFBQSxFMEJ0STFEO0luQnVPRztNbUI1T1I7UXZCMkRHLHVCSGdGNEQ7UUcvRTVELG9CSCtFNEQsRUFBQSxFMEJ0STFEO0VBTEw7SUFPUSxxQjFCb0l1RDtJMEJuSXZELGtCMUJtSXVELEVBQUE7SU9pR3ZEO01tQjVPUjtRQVVZLG9CMUJpSW1EO1EwQmhJbkQsZ0IxQmdJbUQsRUFBQSxFMEIzSDFEO0luQjRORztNbUI1T1I7UUFjWSxrQjFCNkhtRCxFQUFBLEUwQjNIMUQ7RUFoQkw7SUFrQlEsY3JCUXNCO0lxQlB0QixnQkFBZ0I7SUFDaEIsaUIxQitGaUQsRUFBQTtJT3lIakQ7TW1CNU9SO1FBc0JZLGtCMUI2RjZDLEVBQUEsRTBCckZwRDtJbkI4TUc7TW1CNU9SO1FBeUJZLGMxQjBGNkMsRUFBQSxFMEJyRnBEO0luQjhNRztNbUI1T1I7UUE0Qlksa0IxQnVGNkMsRUFBQSxFMEJyRnBEOztBQ25DTDs7Z0Y5Qm85R2dGO0E4Qmg5Ry9FO0VBQ0MsY0FBYztFQUNkLGVBQWUsRUFBQTs7QUFHakI7O2dGOUJrOUdnRjtBOEI5OEcvRTs7Ozs7Ozs7Ozs7O0VBYUUscUJBQXFCLEVBQUE7O0FBSXhCOztnRjlCODhHZ0Y7QThCMThHL0U7O0VBS0csaUIzQmlGcUQ7RTJCaEZyRCxnQkFBZ0IsRUFBQTtFcEJ5TVo7SW9CL01QOztNQVFJLGtCM0I4RW9ELEVBQUEsRTJCMURyRDtFcEJtTEk7SW9CL01QOztNQVdJLGMzQjJFb0QsRUFBQSxFMkIxRHJEO0VwQm1MSTtJb0IvTVA7O01BY0ksa0IzQndFb0QsRUFBQSxFMkIxRHJEO0VBNUJIOztJQWlCSSx3QjNCcUVvRDtJMkJwRXBELHFCM0JvRW9EO0kyQm5FcEQ7Ozs7Ozs7TTlCbTlHQyxFOEI1OEdDOztBcEJxTEM7RW9CL01QO0lBa0NLLDJCM0JvRG1EO0kyQm5EbkQsMkIzQm1EbUQ7STJCbERuRCx3QjNCa0RtRDtJMkJqRG5ELHNCM0JpRG1ELEVBQUEsRTJCNUNwRDs7QXBCcUtHO0VvQi9NUDtJQStDSywyQjNCdUNtRDtJMkJ0Q25ELDBCM0JzQ21EO0kyQnJDbkQsd0IzQnFDbUQ7STJCcENuRCxxQjNCb0NtRCxFQUFBLEUyQi9CcEQ7O0FwQndKRztFb0IvTVA7SUE0REssNEIzQjBCbUQ7STJCekJuRCx5QjNCeUJtRDtJMkJ4Qm5ELDBCM0J3Qm1EO0kyQnZCbkQscUIzQitDeUQsRUFBQSxFMkIxQzFEOztBcEIySUc7RW9CL01QO0lBeUVLLHlCM0JhbUQ7STJCWm5ELDBCM0JZbUQ7STJCWG5ELHlCM0JXbUQ7STJCVm5ELG9CM0JVbUQsRUFBQSxFMkJMcEQ7O0FBS0o7RUFFRSxxQjNCRnNEO0UyQlN0RCxrQkFBa0IsRUFBQTtFcEJnSGI7SW9CekhQO01BSUcsc0IzQkpxRCxFQUFBLEUyQjBCdEQ7RXBCK0ZLO0lvQnpIUDtNQU9HLHFCM0JQcUQsRUFBQSxFMkIwQnREO0VBMUJGO0lBV0cscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCx5Q0FBMkM7SUFDL0Isb0N0QjlGZTtJc0IrRmYsc0NBQXdDO0lBQ3hDLG1CM0JoQnlDO0kyQmlCekMsc0IzQmpCeUMsRUFBQTtJT3lIakQ7TW9CekhQO1FBbUJJLDJCM0JuQm9EO1EyQm9CcEQsMkIzQnBCb0Q7UTJCcUJwRCx3QjNCckJvRDtRMkJzQnBELHNCM0J0Qm9EO1EyQnVCcEQscUIzQnZCb0QsRUFBQSxFMkJ5QnJEOztBQXpCSDtFQTZCRSxzQjNCN0JzRDtFMkJvQ3RELGtCQUFrQixFQUFBO0VwQnFGYjtJb0J6SFA7TUErQkcsdUIzQi9CcUQsRUFBQSxFMkJ5Q3REO0VwQmdGSztJb0J6SFA7TUFrQ0csc0IzQmxDcUQsRUFBQSxFMkJ5Q3REO0VBekNGO0lBc0NHLHFCQUFxQjtJQUNyQixXQUFXLEVBQUE7O0FBdkNkO0VBNENHLHlDQUEyQztFQUMvQixtQ3RCN0hlO0VzQjhIZixzQ0FBd0M7RUFDeEMsa0IzQi9DeUM7RTJCZ0R6QyxzQjNCaER5QyxFQUFBO0VPeUhqRDtJb0J6SFA7TUFrREksMkIzQmxEb0Q7TTJCbURwRCwwQjNCbkRvRDtNMkJvRHBELHdCM0JwRG9EO00yQnFEcEQsc0IzQnJEb0Q7TTJCc0RwRCxvQjNCdERvRCxFQUFBLEUyQndEckQ7O0FBeERIO0VBNERHLHFDdEI1STJCO0VzQjZJZix1Q0FBeUM7RUFDekMsd0NBQTBDO0VBQzFDLHVCM0IvRHlDO0UyQmdFckQsa0IzQmhFcUQsRUFBQTtFT3lIakQ7SW9CekhQO01Ba0VJLDRCM0JsRW9EO00yQm1FcEQseUIzQm5Fb0Q7TTJCb0VwRCwwQjNCcEVvRDtNMkJxRXBELHFCM0JyRW9ELEVBQUEsRTJCdUVyRDs7QUF2RUg7RUEyRWUsdUNBQXlDO0VBQ3pDLHdDQUEwQztFQUN0RCxrQ3RCN0oyQjtFc0I4SmYsc0IzQjlFeUM7RTJCK0VyRCxrQjNCL0VxRCxFQUFBO0VPeUhqRDtJb0J6SFA7TUFpRkkseUIzQmpGb0Q7TTJCa0ZwRCwwQjNCbEZvRDtNMkJtRnBELHlCM0JuRm9EO00yQm9GcEQscUIzQnBGb0QsRUFBQSxFMkJzRnJEOztBQUlIO0VBQ0MseUJ0QjlMNkI7RXNCK0w3QixxQjNCNUZ1RDtFMkI2RnZELHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEIsbUIzQi9GdUQ7RTJCZ0d2RCw2QjNCaEd1RDtFMkJpR3ZELG9EQUE0QztFQUE1Qyw0Q0FBNEM7RUFDNUMscUJBQXFCLEVBQUE7RXBCdUJmO0lvQi9CUDtNQVVFLGtCM0JwR3NEO00yQnFHdEQsdUIzQnJHc0Q7TTJCc0d0RCxzQjNCdEdzRCxFQUFBLEUyQnNIdkQ7RXBCR007SW9CL0JQO01BZUUsbUIzQnpHc0Q7TTJCMEd0RCxxQjNCMUdzRDtNMkIyR3RELG9CM0IzR3NELEVBQUEsRTJCc0h2RDtFcEJHTTtJb0IvQlA7TUFvQkUsc0IzQjlHc0Q7TTJCK0d0RCxxQjNCL0dzRCxFQUFBLEUyQnNIdkQ7RUE1QkQ7SUEwQkUseUJ0QnROK0IsRUFBQTs7QXNCME5qQztFQUdHLGtCQUFrQixFQUFBO0VBSHJCO0lBS0kscUJBQXFCO0lBQ3JCLFdBQVcsRUFBQTs7QUFOZjtFQVdJLHFDdEJuTjBCO0VzQm9OMUIsdUNBQXlDO0VBQ3pDLHdDQUEwQztFQUMxQyx1QjNCdElvRDtFMkJ1SXBELG1CM0J2SW9ELEVBQUE7RU95SGpEO0lvQkRQO01BaUJLLDRCM0J6SW1EO00yQjBJbkQseUIzQjFJbUQ7TTJCMkluRCwwQjNCM0ltRDtNMkI0SW5ELHNCM0I1SW1ELEVBQUEsRTJCOElwRDs7QUFPSjtFQUNDLGtCQUFrQixFQUFBO0VBRG5CO0lBR0UsZ0N0QnJRaUM7SXNCc1FqQyxrQ0FBa0M7SUFDbEMsbUNBQW1DO0lBQ25DLGdCQUFnQjtJQUNoQixlQUFlLEVBQUE7SXBCbkNWO01vQjRCUDtRQVNHLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLGdC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QjRITztJc0JwT1I7TUF3QlEsOEI3QjJHdUQsRUFBQSxFNkIzQjlEO0V0QjRITztJc0JwT1I7TUEyQlEscUM3QndHdUQsRUFBQSxFNkIzQjlEO0VBeEdEO0lBOEJRLHVCN0JxR3VELEVBQUE7SU9pR3ZEO01zQnBPUjtRQWdDWSxzQjdCbUdtRCxFQUFBLEU2QjNGMUQ7SXRCNExHO01zQnBPUjtRQW1DWSx1QjdCZ0dtRCxFQUFBLEU2QjNGMUQ7SXRCNExHO01zQnBPUjtRQXNDWSxvQjdCNkZtRCxFQUFBLEU2QjNGMUQ7RUF4Q0w7SUEwQ1Esa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxjN0J1RnVEO0k2QnRGdkQsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixzQjdCb0Z1RDtJNkJuRnZELHVCN0JtRnVEO0k2QmxGdkQsb0RBQTRDO0lBQTVDLDRDQUE0QztJQUM1QyxhN0JpRnVELEVBQUE7SU9pR3ZEO01zQnBPUjtRQW9EWSxlN0IrRW1EO1E2QjlFbkQsaUI3QjhFbUQ7UTZCN0VuRCx1QjdCNkVtRDtRNkI1RW5ELGM3QjRFbUQsRUFBQSxFNkI1QjFEO0l0QjZIRztNc0JwT1I7UUEwRFksZ0I3QnlFbUQ7UTZCeEVuRCxzQjdCd0VtRDtRNkJ2RW5ELHNCN0J1RW1EO1E2QnRFbkQsZTdCc0VtRCxFQUFBLEU2QjVCMUQ7SXRCNkhHO01zQnBPUjtRQWdFWSxlN0JtRW1EO1E2QmxFbkQscUI3QmtFbUQ7UTZCakVuRCxzQjdCaUVtRDtRNkJoRW5ELGM3QmdFbUQsRUFBQSxFNkI1QjFEO0lBdkdMO01Bc0VZLDBDQUE0QztNQUM1Qyw0QjdCNERtRDtNNkIzRG5ELHdCQUF3QjtNQUN4Qix1Q0FBeUM7TUFDekMsdUI3QnlEbUQ7TTZCeERuRCxXQUFXO01BQ1gsY0FBYyxFQUFBO010QndKbEI7UXNCcE9SO1VBOEVnQiw2QjdCcUQrQztVNkJwRC9DLHlCN0JvRCtDO1U2Qm5EL0MsMEI3Qm1EK0MsRUFBQSxFNkJ0Q3REO010QnVJRDtRc0JwT1I7VUFtRmdCLDhCN0JnRCtDO1U2Qi9DL0MsNEI3QitDK0M7VTZCOUMvQywyQjdCOEMrQyxFQUFBLEU2QnRDdEQ7TXRCdUlEO1FzQnBPUjtVQXdGZ0IsOEI3QjJDK0M7VTZCMUMvQyw0QjdCMEMrQztVNkJ6Qy9DLDJCN0J5QytDO1U2QnhDL0Msd0I3QndDK0MsRUFBQSxFNkJ0Q3REO0lBN0ZUO01yQlpDLFdBQVc7TUFDWCxjQUZrQztNQUdsQyxrQkFBa0I7TXFCMEdQLGNBQWM7TUFDZCxZQUFZO01BQ1osT0FBTztNQUNQLE1BQU07TUFDTixXQUFXO01BQ1gsVUFBVSxFQUFBOztBQUt0QjtFQUVRLHlCeEIzR3FCLEVBQUE7RXdCeUc3QjtJQUlZLHlCeEJ0R21CLEVBQUE7SXdCa0cvQjtNQVFnQix5QnhCekdrQixFQUFBO0l3QmlHbEM7TUFXZ0IsMEJ4QjFGZSxFQUFBOztBd0JnRy9CO0VBRVEseUJ4QjNIc0IsRUFBQTtFd0J5SDlCO0lBSVkseUJ4QnJIcUIsRUFBQTtJd0JpSGpDO01BUWdCLHlCeEJ4SG9CLEVBQUE7SXdCZ0hwQztNQVdnQiwwQnhCM0dlLEVBQUE7O0F3QmtITjtFdEJ1RmpCO0lzQnRGSjtNQUVRLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IsNEJBQXNCO01BQXRCLDZCQUFzQjtVQUF0QiwwQkFBc0I7Y0FBdEIsc0JBQXNCLEVBQUEsRUFPN0I7RXRCNEVHO0lzQnRGSjtNQU9ZLGdCQUFnQixFQUFBLEVBRXZCLEVBQUE7O0EvQmhGVDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDRGkzSEMiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByZSBzZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR0aW5ncyBmb3IgU2FhcyBUb29sICdTY3V0OiBTYXNzLUNTUyBVdGl0aWxpZXMnXG4gICBodHRwczovL2RhdmlkdGhlY2xhcmsuZ2l0aHViLmlvL3NjdXQvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNhYXMgVG9vbHMgKGltcG9ydGVkIGZyb20gbm9kZV9tb2R1bGVzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4qIFNjdXQsIGEgY29sbGVjdGlvbiBvZiBTYXNzIHV0aWxpdGllc1xuKiB0byBlYXNlIGFuZCBpbXByb3ZlIG91ciBpbXBsZW1lbnRhdGlvbnMgb2YgY29tbW9uIHN0eWxlLWNvZGUgcGF0dGVybnMuXG4qIHYxLjQuNFxuKiBEb2NzIGF0IGh0dHA6Ly9yYW1zZXlpbmhvdXNlLmdpdGh1Yi5pby9zY3V0XG4qL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNldHRpbmdzIGZvciBTYWFzIFRvb2wgJ01lZGlhIFF1ZXJpZXMgd2l0aCBzdXBlcnBvd2VycydcbiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXFcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnRzIHNtb290aGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIaWRlIHRoaW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCBTZXR0aW5ncyBkZWZpbmVkIGFzIHZhcmlhYmxlcyBvciBtaXhpbnNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgRm9udCBTaXplc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFx0IExpbmUgSGVpZ2h0c1xuICAgXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQgUGFkZGluZ3Ncblx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCBTaXplcyAvIERpbWVuc2lvbnNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFdpZHRoc1xuICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFkZGluZ3NcbiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZhdWx0IGNvbG9yIGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgR3JpZDogaW1nIC8gbWVkaWEgZGVjbGFyYXRpb24gaW4gZ3JpZCBzeXN0ZW1cbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAucm93LmZ1bGwudGJsdC5pbWFnZS10ZXh0IC5jb2wtMSAuaW1hZ2Utd3JhcHBlcixcbiAgLnJvdy5mdWxsLnRibHQuaW1hZ2UtdGV4dCAuY29sLTIgLmltYWdlLXdyYXBwZXIsXG4gIC5yb3cuZnVsbC50Ymx0LmltYWdlLXRleHQgLmNvbC0zIC5pbWFnZS13cmFwcGVyLFxuICAucm93LmZ1bGwudGJsdC5pbWFnZS10ZXh0IC5jb2wtNCAuaW1hZ2Utd3JhcHBlcixcbiAgLnJvdy5mdWxsLnRibHQuaW1hZ2UtdGV4dCAuY29sLTUgLmltYWdlLXdyYXBwZXIsXG4gIC5yb3cuZnVsbC50Ymx0LmltYWdlLXRleHQgLmNvbC02IC5pbWFnZS13cmFwcGVyLFxuICAucm93LmZ1bGwudGJsdC5pbWFnZS10ZXh0IC5jb2wtNyAuaW1hZ2Utd3JhcHBlcixcbiAgLnJvdy5mdWxsLnRibHQuaW1hZ2UtdGV4dCAuY29sLTggLmltYWdlLXdyYXBwZXIsXG4gIC5yb3cuZnVsbC50Ymx0LmltYWdlLXRleHQgLmNvbC05IC5pbWFnZS13cmFwcGVyLFxuICAucm93LmZ1bGwudGJsdC5pbWFnZS10ZXh0IC5jb2wtMTAgLmltYWdlLXdyYXBwZXIsXG4gIC5yb3cuZnVsbC50Ymx0LmltYWdlLXRleHQgLmNvbC0xMSAuaW1hZ2Utd3JhcHBlcixcbiAgLnJvdy5mdWxsLnRibHQuaW1hZ2UtdGV4dCAuY29sLTEyIC5pbWFnZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDgwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnJvdy5mdWxsLnRibHQuaW1hZ2UtdGV4dCAuY29sLTEgLmltYWdlLXdyYXBwZXIsXG4gIC5yb3cuZnVsbC50Ymx0LmltYWdlLXRleHQgLmNvbC0yIC5pbWFnZS13cmFwcGVyLFxuICAucm93LmZ1bGwudGJsdC5pbWFnZS10ZXh0IC5jb2wtMyAuaW1hZ2Utd3JhcHBlcixcbiAgLnJvdy5mdWxsLnRibHQuaW1hZ2UtdGV4dCAuY29sLTQgLmltYWdlLXdyYXBwZXIsXG4gIC5yb3cuZnVsbC50Ymx0LmltYWdlLXRleHQgLmNvbC01IC5pbWFnZS13cmFwcGVyLFxuICAucm93LmZ1bGwudGJsdC5pbWFnZS10ZXh0IC5jb2wtNiAuaW1hZ2Utd3JhcHBlcixcbiAgLnJvdy5mdWxsLnRibHQuaW1hZ2UtdGV4dCAuY29sLTcgLmltYWdlLXdyYXBwZXIsXG4gIC5yb3cuZnVsbC50Ymx0LmltYWdlLXRleHQgLmNvbC04IC5pbWFnZS13cmFwcGVyLFxuICAucm93LmZ1bGwudGJsdC5pbWFnZS10ZXh0IC5jb2wtOSAuaW1hZ2Utd3JhcHBlcixcbiAgLnJvdy5mdWxsLnRibHQuaW1hZ2UtdGV4dCAuY29sLTEwIC5pbWFnZS13cmFwcGVyLFxuICAucm93LmZ1bGwudGJsdC5pbWFnZS10ZXh0IC5jb2wtMTEgLmltYWdlLXdyYXBwZXIsXG4gIC5yb3cuZnVsbC50Ymx0LmltYWdlLXRleHQgLmNvbC0xMiAuaW1hZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucm93LmZ1bGwuaW1hZ2UtdGV4dCAuY29sLTY6Zmlyc3QtY2hpbGQgLmltYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMi41ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnJvdy5mdWxsLmltYWdlLXRleHQgLmNvbC02OmZpcnN0LWNoaWxkIC5pbWFnZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTYlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnJvdy5mdWxsLmltYWdlLXRleHQgLmNvbC02OmZpcnN0LWNoaWxkIC5pbWFnZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTglOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnJvdy5mdWxsLmltYWdlLXRleHQgLmNvbC02OmZpcnN0LWNoaWxkIC5pbWFnZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTEyJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnJvdy5mdWxsLmltYWdlLXRleHQgLmNvbC02ICsgLmNvbC02IC5pbWFnZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IC0yLjVlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5yb3cuZnVsbC5pbWFnZS10ZXh0IC5jb2wtNiArIC5jb2wtNiAuaW1hZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNiU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAucm93LmZ1bGwuaW1hZ2UtdGV4dCAuY29sLTYgKyAuY29sLTYgLmltYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogLTglOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnJvdy5mdWxsLmltYWdlLXRleHQgLmNvbC02ICsgLmNvbC02IC5pbWFnZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMiU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICBJbWFnZSBGdWxsd2lkdGhcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZ1bGx3aWR0aCBmaWdjYXB0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAuZnVsbHdpZHRoIGZpZ2NhcHRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZnVsbHdpZHRoIGZpZ2NhcHRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDAuODc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjM3NXJlbTtcbiAgICAgIG1heC13aWR0aDogMzcuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAuZnVsbHdpZHRoIGZpZ2NhcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuODc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZnVsbHdpZHRoIGZpZ2NhcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMS43NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjEyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuODc1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZnVsbHdpZHRoIGZpZ2NhcHRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIuMjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5mdWxsd2lkdGggZmlnY2FwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDQ3LjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMy4xMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjc1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5mdWxsd2lkdGggZmlnY2FwdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogNC44NzVyZW07IH0gfVxuICAuZnVsbHdpZHRoIGZpZ2NhcHRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IC42O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMC4wNjI1cmVtOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgIEltYWdlIER1b1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5pbWFnZWR1by5ob2NoIC5jb2wtNiAuaW1hZ2Utd3JhcHBlci5oYXNjYXB0aW9uIC5pY29uLWltYWdlLCAuaW1hZ2VkdW8ucXVlciAuY29sLTYgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuLmltYWdlZHVvLmhvY2ggLmNvbC02IC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbiwgLmltYWdlZHVvLnF1ZXIgLmNvbC02IC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgLmltYWdlZHVvLmhvY2ggLmNvbC02IC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbiwgLmltYWdlZHVvLnF1ZXIgLmNvbC02IC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH0gfVxuICAuaW1hZ2VkdW8uaG9jaCAuY29sLTYgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSBmaWdjYXB0aW9uOmJlZm9yZSwgLmltYWdlZHVvLnF1ZXIgLmNvbC02IC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogLjY7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjA2MjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuaW1hZ2VkdW8uaG9jaCAuY29sLTYgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSBmaWdjYXB0aW9uOmJlZm9yZSwgLmltYWdlZHVvLnF1ZXIgLmNvbC02IC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICAgICAgd2lkdGg6IDE2LjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmltYWdlZHVvLmhvY2ggLmNvbC02IC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbjpiZWZvcmUsIC5pbWFnZWR1by5xdWVyIC5jb2wtNiAuaW1hZ2Utd3JhcHBlci5oYXNjYXB0aW9uIC5pY29uLWltYWdlIGZpZ2NhcHRpb246YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEzLjc1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaW1hZ2VkdW8uaG9jaCAuY29sLTYgLmltYWdlLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogODAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaW1hZ2VkdW8uaG9jaCAuY29sLTY6Zmlyc3QtY2hpbGQgLmltYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAzNSU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5pbWFnZWR1by5ob2NoIC5jb2wtNjpmaXJzdC1jaGlsZCAuaW1hZ2Utd3JhcHBlci5oYXNjYXB0aW9uIC5pY29uLWltYWdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNi4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNi4yNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgLmltYWdlZHVvLmhvY2ggLmNvbC02OmZpcnN0LWNoaWxkIC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogLTE2Ljg3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNi44NzVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaW1hZ2VkdW8uaG9jaCAuY29sLTY6Zmlyc3QtY2hpbGQgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMTVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5pbWFnZWR1by5ob2NoIC5jb2wtNjpmaXJzdC1jaGlsZCAuaW1hZ2Utd3JhcHBlci5oYXNjYXB0aW9uIC5pY29uLWltYWdlIGZpZ2NhcHRpb24ge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjIuNWVtKSB7XG4gIC5pbWFnZWR1by5ob2NoIC5jb2wtNjpmaXJzdC1jaGlsZCAuaW1hZ2Utd3JhcHBlci5oYXNjYXB0aW9uIC5pY29uLWltYWdlIGZpZ2NhcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmltYWdlZHVvLmhvY2ggLmNvbC02OmZpcnN0LWNoaWxkIC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDEuNjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICB3aWR0aDogMTIuNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmltYWdlZHVvLmhvY2ggLmNvbC02OmZpcnN0LWNoaWxkIC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbjpiZWZvcmUge1xuICAgIHRvcDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmltYWdlZHVvLmhvY2ggLmNvbC02Om50aC1jaGlsZCgyKSAuaW1hZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNSU7XG4gICAgbWFyZ2luLXRvcDogODUlO1xuICAgIHotaW5kZXg6IDM7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5pbWFnZWR1by5ob2NoIC5jb2wtNjpudGgtY2hpbGQoMikgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNy41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMTcuNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgLmltYWdlZHVvLmhvY2ggLmNvbC02Om50aC1jaGlsZCgyKSAuaW1hZ2Utd3JhcHBlci5oYXNjYXB0aW9uIC5pY29uLWltYWdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTE4LjEyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE4LjEyNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5pbWFnZWR1by5ob2NoIC5jb2wtNjpudGgtY2hpbGQoMikgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNi4yNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaW1hZ2VkdW8uaG9jaCAuY29sLTY6bnRoLWNoaWxkKDIpIC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbiB7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogYXV0bztcbiAgICB3aWR0aDogMTVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjIuNWVtKSB7XG4gIC5pbWFnZWR1by5ob2NoIC5jb2wtNjpudGgtY2hpbGQoMikgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSBmaWdjYXB0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5pbWFnZWR1by5ob2NoIC5jb2wtNjpudGgtY2hpbGQoMikgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSBmaWdjYXB0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIHdpZHRoOiAxMi41cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaW1hZ2VkdW8uaG9jaCAuY29sLTY6bnRoLWNoaWxkKDIpIC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbjpiZWZvcmUge1xuICAgIGJvdHRvbTogMDtcbiAgICB0b3A6IGF1dG87IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5pbWFnZWR1by5xdWVyIC5jb2wtNiAuaW1hZ2Utd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMjAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaW1hZ2VkdW8ucXVlciAuY29sLTY6Zmlyc3QtY2hpbGQgLmltYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDY1JTtcbiAgICB6LWluZGV4OiAzOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaW1hZ2VkdW8ucXVlciAuY29sLTY6Zmlyc3QtY2hpbGQgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTYuMjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMTYuMjVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjIuNWVtKSB7XG4gIC5pbWFnZWR1by5xdWVyIC5jb2wtNjpmaXJzdC1jaGlsZCAuaW1hZ2Utd3JhcHBlci5oYXNjYXB0aW9uIC5pY29uLWltYWdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNi44NzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMTYuODc1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmltYWdlZHVvLnF1ZXIgLmNvbC02OmZpcnN0LWNoaWxkIC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogLTE1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaW1hZ2VkdW8ucXVlciAuY29sLTY6Zmlyc3QtY2hpbGQgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSBmaWdjYXB0aW9uIHtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgLmltYWdlZHVvLnF1ZXIgLmNvbC02OmZpcnN0LWNoaWxkIC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaW1hZ2VkdW8ucXVlciAuY29sLTY6Zmlyc3QtY2hpbGQgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSBmaWdjYXB0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIHdpZHRoOiAxMi41cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaW1hZ2VkdW8ucXVlciAuY29sLTY6Zmlyc3QtY2hpbGQgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSBmaWdjYXB0aW9uOmJlZm9yZSB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogYXV0bzsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmltYWdlZHVvLnF1ZXIgLmNvbC02Om50aC1jaGlsZCgyKSAuaW1hZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5pbWFnZWR1by5xdWVyIC5jb2wtNjpudGgtY2hpbGQoMikgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNy41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMTcuNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgLmltYWdlZHVvLnF1ZXIgLmNvbC02Om50aC1jaGlsZCgyKSAuaW1hZ2Utd3JhcHBlci5oYXNjYXB0aW9uIC5pY29uLWltYWdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTE4LjEyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE4LjEyNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5pbWFnZWR1by5xdWVyIC5jb2wtNjpudGgtY2hpbGQoMikgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNi4yNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2LjI1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaW1hZ2VkdW8ucXVlciAuY29sLTY6bnRoLWNoaWxkKDIpIC5pbWFnZS13cmFwcGVyLmhhc2NhcHRpb24gLmljb24taW1hZ2UgZmlnY2FwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgLmltYWdlZHVvLnF1ZXIgLmNvbC02Om50aC1jaGlsZCgyKSAuaW1hZ2Utd3JhcHBlci5oYXNjYXB0aW9uIC5pY29uLWltYWdlIGZpZ2NhcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmltYWdlZHVvLnF1ZXIgLmNvbC02Om50aC1jaGlsZCgyKSAuaW1hZ2Utd3JhcHBlci5oYXNjYXB0aW9uIC5pY29uLWltYWdlIGZpZ2NhcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAxLjYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgd2lkdGg6IDEyLjVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5pbWFnZWR1by5xdWVyIC5jb2wtNjpudGgtY2hpbGQoMikgLmltYWdlLXdyYXBwZXIuaGFzY2FwdGlvbiAuaWNvbi1pbWFnZSBmaWdjYXB0aW9uOmJlZm9yZSB7XG4gICAgdG9wOiAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFx0IFdyYXBwZXJcbiAgIFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vdXRlci13cmFwcGVyIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm91dGVyLXdyYXBwZXIgPiAuaW5uZXItd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGVhc2UtaW4tb3V0OyB9XG5cbi53cmFwcGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogMS4yNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgIC53cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMi41cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMy43NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMy43NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDYuMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDYuMjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC53cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAud3JhcHBlciB7XG4gICAgICB3aWR0aDogODEuMjVyZW07IH0gfVxuXG4uZnVsbHdpZHRoIC53cmFwcGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIC5mdWxsd2lkdGggLndyYXBwZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4yNWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZnVsbHdpZHRoIC53cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzLjc1ZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMuNzVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZ1bGx3aWR0aCAud3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZ1bGx3aWR0aCAud3JhcHBlciAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTUzJTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTUzJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICB3aWR0aDogMTA2JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmZ1bGx3aWR0aCAud3JhcHBlciAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogLTU0JTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTU0JTtcbiAgICAgIHdpZHRoOiAxMDglOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZnVsbHdpZHRoIC53cmFwcGVyIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNTYlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNTYlO1xuICAgICAgd2lkdGg6IDExMiU7IH0gfVxuXG4vKlxuXG5cdC5zZWN0aW9uLWhlYWRlciAuaW5uZXItd3JhcHBlcntcblx0XHRwYWRkaW5nLWxlZnQ6IHNjdXQtZW0oMjApO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHNjdXQtZW0oMjApO1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1lbSgzMCk7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiBzY3V0LWVtKDMwKTtcblx0XHR9XG5cdH1cblx0Ki9cbkBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnRleHQtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAzNy41cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnRleHQtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0Ny41cmVtOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFx0IENvbG9yYXRpb24gYW5kIElsbHVzdHJhdGlvbnNcbiAgIFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250YWluZXIucGFnZS1oZWFkZXIuaGFzYmdpbGx1IHtcbiAgcG9zaXRpb246IGluaGVyaXQ7IH1cbiAgLmNvbnRhaW5lci5wYWdlLWhlYWRlci5oYXNiZ2lsbHU6YWZ0ZXIge1xuICAgIGhlaWdodDogNjAlO1xuICAgIG1hcmdpbi10b3A6IC0yJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAgIC5jb250YWluZXIucGFnZS1oZWFkZXIuaGFzYmdpbGx1OmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiA3MCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY29udGFpbmVyLnBhZ2UtaGVhZGVyLmhhc2JnaWxsdTphZnRlciB7XG4gICAgICAgIGhlaWdodDogODAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNvbnRhaW5lci5wYWdlLWhlYWRlci5oYXNiZ2lsbHU6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uYmx1ZSAub3V0ZXItd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUZDRkU7IH1cblxuLmJsdWUgLnBhZ2UtaGVhZGVyLmhhc2JnaWxsdTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL2JnL2Zvb3RfYmx1ZS5wbmdcIik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUsIHVybChcIi9hc3NldHMvaW1hZ2VzL2JnL2Zvb3RfYmx1ZS5zdmdcIik7IH1cblxuLmJsdWUgLnNpdGUtZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RkNGRTsgfVxuXG4ueWVsbG93IC5vdXRlci13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkFFQjsgfVxuXG4ueWVsbG93IC5wYWdlLWhlYWRlci5oYXNiZ2lsbHU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9iZy9mb290X3llbGxvdy5wbmdcIik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUsIHVybChcIi9hc3NldHMvaW1hZ2VzL2JnL2Zvb3RfeWVsbG93LnN2Z1wiKTsgfVxuXG4ueWVsbG93IC5icmVhZGNydW1icyBsaS5sYXN0IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNFNENBOyB9XG4gIC55ZWxsb3cgLmJyZWFkY3J1bWJzIGxpLmxhc3QgYTphY3RpdmUsIC55ZWxsb3cgLmJyZWFkY3J1bWJzIGxpLmxhc3QgYTpmb2N1cywgLnllbGxvdyAuYnJlYWRjcnVtYnMgbGkubGFzdCBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDdDNjkzOyB9XG5cbi55ZWxsb3cgLmJ0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQ0U0Q0E7IH1cbiAgLnllbGxvdyAuYnRuOmFjdGl2ZSwgLnllbGxvdyAuYnRuOmZvY3VzLCAueWVsbG93IC5idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEN0M2OTM7IH1cblxuLnllbGxvdyAuc2l0ZS1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQUVCOyB9XG4gIC55ZWxsb3cgLnNpdGUtZm9vdGVyIC5idG4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0U0Q0E7IH1cbiAgICAueWVsbG93IC5zaXRlLWZvb3RlciAuYnRuOmFjdGl2ZSwgLnllbGxvdyAuc2l0ZS1mb290ZXIgLmJ0bjpmb2N1cywgLnllbGxvdyAuc2l0ZS1mb290ZXIgLmJ0bjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDdDNjkzOyB9XG5cbi5oYXNiZ2lsbHUgPiAqIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzOyB9XG5cbi5oYXNiZ2lsbHU6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBoZWlnaHQ6IDIwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuaGFzYmdpbGx1OmFmdGVyIHtcbiAgICAgIGhlaWdodDogMzAwJTsgfSB9XG5cbi5oYXNiZ2lsbHUgKyAuY29udGFpbmVyID4gKiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMzsgfVxuXG4uaGFzYmdpbGx1ICsgLmNvbnRhaW5lciArIC5jb250YWluZXIgPiAqIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzOyB9XG5cbi5jb250YWluZXIuaGFzYmdpbGx1IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250YWluZXIuaGFzYmdpbGx1LnllbGxvdzphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYmcvZm9vdF95ZWxsb3cucG5nXCIpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUsIHVybChcIi9hc3NldHMvaW1hZ2VzL2JnL2Zvb3RfeWVsbG93LnN2Z1wiKTsgfVxuICAuY29udGFpbmVyLmhhc2JnaWxsdS5ibHVlOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9iZy9mb290X2JsdWUucG5nXCIpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUsIHVybChcIi9hc3NldHMvaW1hZ2VzL2JnL2Zvb3RfYmx1ZS5zdmdcIik7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFx0IENvbnRhaW5lcjogTGF5b3V0XG4gICBcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGFpbmVyIC50ZXh0LWNvbnRlbnQgKyAudGV4dC1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDEuNHJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgIC5jb250YWluZXIgLnRleHQtY29udGVudCArIC50ZXh0LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDJyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjIuNWVtKSB7XG4gICAgLmNvbnRhaW5lciAudGV4dC1jb250ZW50ICsgLnRleHQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmNvbnRhaW5lciAudGV4dC1jb250ZW50ICsgLnRleHQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogNHJlbTsgfSB9XG5cbi5jb250YWluZXIgKyAuY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDNyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAuY29udGFpbmVyICsgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogNHJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAuY29udGFpbmVyICsgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogNnJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmNvbnRhaW5lciArIC5jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDEwcmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY29udGFpbmVyICsgLmNvbnRhaW5lci5pbWFnZWR1byxcbiAgLmNvbnRhaW5lciArIC5jb250YWluZXIueml0YXQge1xuICAgIHBhZGRpbmctdG9wOiA2cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmNvbnRhaW5lciArIC5jb250YWluZXIuaW1hZ2VkdW8sXG4gIC5jb250YWluZXIgKyAuY29udGFpbmVyLnppdGF0IHtcbiAgICBwYWRkaW5nLXRvcDogMTByZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAuY29udGFpbmVyICsgLmNvbnRhaW5lci5pbWFnZWR1byxcbiAgLmNvbnRhaW5lciArIC5jb250YWluZXIueml0YXQge1xuICAgIHBhZGRpbmctdG9wOiAxNHJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgLmNvbnRhaW5lciArIC5jb250YWluZXIua29udGFrdCB7XG4gICAgcGFkZGluZy10b3A6IDZyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jb250YWluZXIgKyAuY29udGFpbmVyLmtvbnRha3Qge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLmNvbnRhaW5lciArIC5jb250YWluZXIua29udGFrdCB7XG4gICAgcGFkZGluZy10b3A6IDEycmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmNvbnRhaW5lciArIC5jb250YWluZXIua29udGFrdCB7XG4gICAgcGFkZGluZy10b3A6IDE4cmVtOyB9IH1cblxuLmNvbnRlbnQgLmNvbnRhaW5lcjpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAuY29udGVudCAuY29udGFpbmVyOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjIuNWVtKSB7XG4gICAgLmNvbnRlbnQgLmNvbnRhaW5lcjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuY29udGVudCAuY29udGFpbmVyOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLmNvbnRhaW5lci5pbWFnZWR1byArIC5jb250YWluZXIuaW1hZ2VkdW8ge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYyLjVlbSkge1xuICAuY29udGFpbmVyLmltYWdlZHVvICsgLmNvbnRhaW5lci5pbWFnZWR1byB7XG4gICAgcGFkZGluZy10b3A6IDEwcmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmNvbnRhaW5lci5pbWFnZWR1byArIC5jb250YWluZXIuaW1hZ2VkdW8ge1xuICAgIHBhZGRpbmctdG9wOiAxMnJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5jb250YWluZXIuaW1hZ2VkdW8gKyAuY29udGFpbmVyLmltYWdlZHVvIHtcbiAgICBwYWRkaW5nLXRvcDogMTRyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jb250YWluZXIuaW1hZ2VkdW8gKyAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogNnJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5jb250YWluZXIuaW1hZ2VkdW8gKyAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTByZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAuY29udGFpbmVyLmltYWdlZHVvICsgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDE0cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAuY29udGFpbmVyLmltYWdlZHVvICsgLmNvbnRhaW5lci5rb250YWt0IHtcbiAgICBwYWRkaW5nLXRvcDogNnJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNvbnRhaW5lci5pbWFnZWR1byArIC5jb250YWluZXIua29udGFrdCB7XG4gICAgcGFkZGluZy10b3A6IDhyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAuY29udGFpbmVyLmltYWdlZHVvICsgLmNvbnRhaW5lci5rb250YWt0IHtcbiAgICBwYWRkaW5nLXRvcDogMTByZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAuY29udGFpbmVyLmltYWdlZHVvICsgLmNvbnRhaW5lci5rb250YWt0IHtcbiAgICBwYWRkaW5nLXRvcDogMTRyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAuY29udGFpbmVyLmltYWdlZHVvICsgLmNvbnRhaW5lci5rb250YWt0IHtcbiAgICBwYWRkaW5nLXRvcDogMTZyZW07IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHNcbiAqICAgIGh0dHA6Ly9jbGFnbnV0LmNvbS9ibG9nLzM0OC8jYzc5MFxuICogMi4gS2VlcHMgcGFnZSBjZW50cmVkIGluIGFsbCBicm93c2VycyByZWdhcmRsZXNzIG9mIGNvbnRlbnQgaGVpZ2h0XG4gKiAzLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbVxuICogICAgd3d3LjQ1NmJlcmVhc3RyZWV0LmNvbS9hcmNoaXZlLzIwMTAxMi9jb250cm9sbGluZ190ZXh0X3NpemVfaW5fc2FmYXJpX2Zvcl9pb3Nfd2l0aG91dF9kaXNhYmxpbmdfdXNlcl96b29tL1xuICogNC4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiA0ICovXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cblxuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIGN1YmVncmFmaWsgKi8gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICovXG5hIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuYTpmb2N1cyB7XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKlxuICogSW1wcm92ZXMgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vyc1xuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5xIHtcbiAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiOyB9XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG5cbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cblxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmVzIGJvcmRlciB3aGVuIGluc2lkZSAnYScgZWxlbWVudCBpbiBJRTYvNy84LzksIEZGM1xuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRTdcbiAqICAgIGNvZGUuZmxpY2tyLmNvbS9ibG9nLzIwMDgvMTEvMTIvb24tdWktcXVhbGl0eS10aGUtbGl0dGxlLXRoaW5ncy1jbGllbnQtc2lkZS1pbWFnZS1yZXNpemluZy9cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIC8qIDIgKi8gfVxuXG4vKlxuICogQ29ycmVjdHMgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFOVxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBDb3JyZWN0cyBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFNi83XG4gKi9cbmZvcm0ge1xuICBtYXJnaW46IDA7IH1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZ1xuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgLyogY3ViZWdyYWZpayAqL1xuICBtYXJnaW46IDA7XG4gIC8qIGN1YmVncmFmaWsgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogY3ViZWdyYWZpayAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cblxuICogNC4gSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiA0ICovIH1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcblxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUU3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUU2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovXG4gICpvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogNCAqLyB9XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG5cbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHNcbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbGVtZW50cyBjdWJlZ3JhZmlrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYTphY3RpdmUge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbmRpdiwgcCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG5ociB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMDsgfVxuXG50aCwgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAvKiBSZW1vdmVkIGJlY2F1c2Ugb2YgdmlzaWJpbGl0eWNoYW5nZS1hZGRpdGlvbiB0byBmYW5jeS1mb3JtcyBwbHVnaW4uXG4gICAgICogMjAxNS8wMS8yMiAtIEZsb3JpYW4gTcOkZGVyXG4gICAgICogLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyovXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDsgfVxuXG5odG1sIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiBTYWZhcmkgMy4wIC0gNS4wLCBDaHJvbWUgMSAtIDksIEFuZHJvaWQgMi4xIC0gMy54ICovXG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogRmlyZWZveCAxIC0gMjggKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogU2FmYXJpIDUuMSssIENocm9tZSAxMCssIEZpcmVmb3ggMjkrLCBPcGVyYSA3KywgSUUgOCssIEFuZHJvaWQgNC4wKywgaU9TIGFueSAqLyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmxhYmVsW2Zvcl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgLyogSUUgMTAgICovXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAvKiBJRSAxMSsgKi8gfVxuXG5odG1sIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZhdWx0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHkge1xuICBjb2xvcjogIzIxNGY2MTtcbiAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMDkzNzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgd29yZC1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICBoeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5hdGUtbGltaXQtY2hhcnM6IDYgMyA0OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBUaXRsZXNcbiAgIFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmgxLFxuLmgxLFxuLnF1b3RlIC50ZXh0IHtcbiAgZm9udC1zaXplOiAxLjg3NWVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDA7XG4gIHdvcmQtc3BhY2luZzogLTAuMDYyNWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgaDEsXG4gICAgLmgxLFxuICAgIC5xdW90ZSAudGV4dCB7XG4gICAgICBmb250LXNpemU6IDIuMjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgaDEsXG4gICAgLmgxLFxuICAgIC5xdW90ZSAudGV4dCB7XG4gICAgICBmb250LXNpemU6IDIuNWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICBoMSxcbiAgICAuaDEsXG4gICAgLnF1b3RlIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMy4xMjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaDEsXG4gICAgLmgxLFxuICAgIC5xdW90ZSAudGV4dCB7XG4gICAgICBmb250LXNpemU6IDMuNzVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjE4NzVlbTtcbiAgICAgIHdvcmQtc3BhY2luZzogLTAuMDI4MTI1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGgxLFxuICAgIC5oMSxcbiAgICAucXVvdGUgLnRleHQge1xuICAgICAgZm9udC1zaXplOiA0LjM3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyMTg3NWVtO1xuICAgICAgd29yZC1zcGFjaW5nOiAtMC4wMjgxMjVlbTsgfSB9XG5cbmgyLFxuLmgyIHtcbiAgZm9udC1zaXplOiAxLjYyNWVtO1xuICB3b3JkLXNwYWNpbmc6IC0wLjA1ZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgICBoMixcbiAgICAuaDIge1xuICAgICAgZm9udC1zaXplOiAxLjg3NWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICBoMixcbiAgICAuaDIge1xuICAgICAgZm9udC1zaXplOiAyLjEyNWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICBoMixcbiAgICAuaDIge1xuICAgICAgZm9udC1zaXplOiAyLjYyNWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBoMixcbiAgICAuaDIge1xuICAgICAgZm9udC1zaXplOiAyLjg3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNTYyNWVtO1xuICAgICAgd29yZC1zcGFjaW5nOiAtMC4wMjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaDIsXG4gICAgLmgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMy4xMjVlbTsgfSB9XG5cbmgzLFxuLmgzIHtcbiAgZm9udC1zaXplOiAxLjM3NWVtO1xuICB3b3JkLXNwYWNpbmc6IC0wLjA1ZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgICBoMyxcbiAgICAuaDMge1xuICAgICAgZm9udC1zaXplOiAxLjYyNWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICBoMyxcbiAgICAuaDMge1xuICAgICAgZm9udC1zaXplOiAxLjg3NWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICBoMyxcbiAgICAuaDMge1xuICAgICAgZm9udC1zaXplOiAyLjI1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGgzLFxuICAgIC5oMyB7XG4gICAgICBmb250LXNpemU6IDIuNWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNTYyNWVtO1xuICAgICAgd29yZC1zcGFjaW5nOiAtMC4wMjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaDMsXG4gICAgLmgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMi43NWVtOyB9IH1cblxuaDQsXG4uaDQge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgd29yZC1zcGFjaW5nOiAtMC4wMzEyNWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgaDQsXG4gICAgLmg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgIGg0LFxuICAgIC5oNCB7XG4gICAgICBmb250LXNpemU6IDEuNjI1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIGg0LFxuICAgIC5oNCB7XG4gICAgICBmb250LXNpemU6IDJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaDQsXG4gICAgLmg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNTYyNWVtO1xuICAgICAgd29yZC1zcGFjaW5nOiAtMC4wMjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaDQsXG4gICAgLmg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMi41ZW07IH0gfVxuXG5oNSxcbi5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgd29yZC1zcGFjaW5nOiAtMC4wMTg3NWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgaDUsXG4gICAgLmg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgaDUsXG4gICAgLmg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIGg1LFxuICAgIC5oNSB7XG4gICAgICBmb250LXNpemU6IDEuNzVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaDUsXG4gICAgLmg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxMjVlbTtcbiAgICAgIHdvcmQtc3BhY2luZzogLTAuMDE4NzVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaDUsXG4gICAgLmg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNWVtOyB9IH1cblxuaDYsXG4uaDYge1xuICBmb250LXNpemU6IDFlbTtcbiAgd29yZC1zcGFjaW5nOiAtMC4wMTg3NWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgaDYsXG4gICAgLmg2IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgaDYsXG4gICAgLmg2IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICBoNixcbiAgICAuaDYge1xuICAgICAgZm9udC1zaXplOiAxLjM3NWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBoNixcbiAgICAuaDYge1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMTI1ZW07XG4gICAgICB3b3JkLXNwYWNpbmc6IC0wLjAxODc1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGg2LFxuICAgIC5oNiB7XG4gICAgICBmb250LXNpemU6IDEuNzVlbTsgfSB9XG5cbmgyLFxuLmgyLFxuaDMsXG4uaDMsXG5oNCxcbi5oNCxcbmg1LFxuLmg1IHtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG5oNixcbi5oNiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgIGg2LFxuICAgIC5oNiB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFx0IFNlbWlib2xkICBcbiAgIFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmgxLFxuLmgxLFxuaDIsXG4uaDIsXG5oMyxcbi5oMyxcbmg0LFxuLmg0LFxuaDUsXG4uaDUsXG5oNixcbi5oNixcbi5uYXYtaXRlbSxcbi5zZWN0aW9uLXRpdGxlLFxuLmJ0bixcbi5jb250YWN0LWxpc3QgZGQge1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDA5Mzc1ZW07XG4gIG1hcmdpbjogMDtcbiAgd29yZC1zcGFjaW5nOiAwLjAzNzVlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBTZW1pYm9sZCBMYXVmdGV4dFxuICAgXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDM3NWVtO1xuICB3b3JkLXNwYWNpbmc6IDAuMDUzMTI1ZW07IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhcmFncmFwaHMsIExpc3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xucC5sZWFkIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICBwLmxlYWQge1xuICAgICAgZm9udC1zaXplOiAxLjM3NWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICBwLmxlYWQge1xuICAgICAgZm9udC1zaXplOiAxLjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgcC5sZWFkIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVlbTsgfSB9XG5cbnAsXG5kbCxcbnVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAsXG5kbCxcbnVsLFxuLmJyZWFkY3J1bWJzLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICBwLFxuICAgIGRsLFxuICAgIHVsLFxuICAgIC5icmVhZGNydW1icy10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIHAsXG4gICAgZGwsXG4gICAgdWwsXG4gICAgLmJyZWFkY3J1bWJzLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBwLFxuICAgIGRsLFxuICAgIHVsLFxuICAgIC5icmVhZGNydW1icy10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMzc1ZW07IH0gfVxuXG4jY29udGVudCAqICsgcCxcbiNjb250ZW50ICogKyB1bCxcbiNjb250ZW50ICogKyBkbCxcbiNjb250ZW50ICogKyBoMixcbiNjb250ZW50ICogKyBoMyxcbiNjb250ZW50ICogKyBoNCxcbiNjb250ZW50ICogKyBoNSxcbiNjb250ZW50ICogKyBoNiB7XG4gIHBhZGRpbmctdG9wOiAwLjg3NWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgI2NvbnRlbnQgKiArIHAsXG4gICAgI2NvbnRlbnQgKiArIHVsLFxuICAgICNjb250ZW50ICogKyBkbCxcbiAgICAjY29udGVudCAqICsgaDIsXG4gICAgI2NvbnRlbnQgKiArIGgzLFxuICAgICNjb250ZW50ICogKyBoNCxcbiAgICAjY29udGVudCAqICsgaDUsXG4gICAgI2NvbnRlbnQgKiArIGg2IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgICNjb250ZW50ICogKyBwLFxuICAgICNjb250ZW50ICogKyB1bCxcbiAgICAjY29udGVudCAqICsgZGwsXG4gICAgI2NvbnRlbnQgKiArIGgyLFxuICAgICNjb250ZW50ICogKyBoMyxcbiAgICAjY29udGVudCAqICsgaDQsXG4gICAgI2NvbnRlbnQgKiArIGg1LFxuICAgICNjb250ZW50ICogKyBoNiB7XG4gICAgICBwYWRkaW5nLXRvcDogMS4xMjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgI2NvbnRlbnQgKiArIHAsXG4gICAgI2NvbnRlbnQgKiArIHVsLFxuICAgICNjb250ZW50ICogKyBkbCxcbiAgICAjY29udGVudCAqICsgaDIsXG4gICAgI2NvbnRlbnQgKiArIGgzLFxuICAgICNjb250ZW50ICogKyBoNCxcbiAgICAjY29udGVudCAqICsgaDUsXG4gICAgI2NvbnRlbnQgKiArIGg2IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1ZW07IH0gfVxuXG4jY29udGVudCAuaDIgKyAqLFxuI2NvbnRlbnQgaDIgKyAqIHtcbiAgcGFkZGluZy10b3A6IDEuNHJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgICNjb250ZW50IC5oMiArICosXG4gICAgI2NvbnRlbnQgaDIgKyAqIHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYyLjVlbSkge1xuICAgICNjb250ZW50IC5oMiArICosXG4gICAgI2NvbnRlbnQgaDIgKyAqIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAjY29udGVudCAuaDIgKyAqLFxuICAgICNjb250ZW50IGgyICsgKiB7XG4gICAgICBwYWRkaW5nLXRvcDogNHJlbTsgfSB9XG5cbiNjb250ZW50IC5oMyArICosXG4jY29udGVudCBoMyArICoge1xuICBwYWRkaW5nLXRvcDogMS4xMjVlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgICNjb250ZW50IC5oMyArICosXG4gICAgI2NvbnRlbnQgaDMgKyAqIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI2NvbnRlbnQgLmgzICsgKixcbiAgICAjY29udGVudCBoMyArICoge1xuICAgICAgcGFkZGluZy10b3A6IDEuMzc1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICNjb250ZW50IC5oMyArICosXG4gICAgI2NvbnRlbnQgaDMgKyAqIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgI2NvbnRlbnQgLmgzICsgKixcbiAgICAjY29udGVudCBoMyArICoge1xuICAgICAgcGFkZGluZy10b3A6IDEuNjI1ZW07IH0gfVxuXG4jY29udGVudCAuaDQgKyAqLFxuI2NvbnRlbnQgaDQgKyAqIHtcbiAgcGFkZGluZy10b3A6IDAuODc1ZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAjY29udGVudCAuaDQgKyAqLFxuICAgICNjb250ZW50IGg0ICsgKiB7XG4gICAgICBwYWRkaW5nLXRvcDogMWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNjb250ZW50IC5oNCArICosXG4gICAgI2NvbnRlbnQgaDQgKyAqIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjEyNWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAjY29udGVudCAuaDQgKyAqLFxuICAgICNjb250ZW50IGg0ICsgKiB7XG4gICAgICBwYWRkaW5nLXRvcDogMS4yNWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAjY29udGVudCAuaDQgKyAqLFxuICAgICNjb250ZW50IGg0ICsgKiB7XG4gICAgICBwYWRkaW5nLXRvcDogMS4zNzVlbTsgfSB9XG5cbiNjb250ZW50IC5oNSArICosXG4jY29udGVudCBoNSArICoge1xuICBwYWRkaW5nLXRvcDogMC42MjVlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgICNjb250ZW50IC5oNSArICosXG4gICAgI2NvbnRlbnQgaDUgKyAqIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjc1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI2NvbnRlbnQgLmg1ICsgKixcbiAgICAjY29udGVudCBoNSArICoge1xuICAgICAgcGFkZGluZy10b3A6IDAuODc1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICNjb250ZW50IC5oNSArICosXG4gICAgI2NvbnRlbnQgaDUgKyAqIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICNjb250ZW50IC5oNSArICosXG4gICAgI2NvbnRlbnQgaDUgKyAqIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjEyNWVtOyB9IH1cblxuI2NvbnRlbnQgLmg2ICsgKixcbiNjb250ZW50IGg2ICsgKiB7XG4gIHBhZGRpbmctdG9wOiAwLjM3NWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgI2NvbnRlbnQgLmg2ICsgKixcbiAgICAjY29udGVudCBoNiArICoge1xuICAgICAgcGFkZGluZy10b3A6IDAuNWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNjb250ZW50IC5oNiArICosXG4gICAgI2NvbnRlbnQgaDYgKyAqIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjYyNWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAjY29udGVudCAuaDYgKyAqLFxuICAgICNjb250ZW50IGg2ICsgKiB7XG4gICAgICBwYWRkaW5nLXRvcDogMC43NWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAjY29udGVudCAuaDYgKyAqLFxuICAgICNjb250ZW50IGg2ICsgKiB7XG4gICAgICBwYWRkaW5nLXRvcDogMC44NzVlbTsgfSB9XG5cbiNjb250ZW50ICogKyAubm9wYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuI2NvbnRlbnQgKiArIC5zbWFsbHBhZGRpbmcge1xuICBwYWRkaW5nLXRvcDogMC40Mzc1ZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAjY29udGVudCAqICsgLnNtYWxscGFkZGluZyB7XG4gICAgICBwYWRkaW5nLXRvcDogMC41ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgICNjb250ZW50ICogKyAuc21hbGxwYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjU2MjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgI2NvbnRlbnQgKiArIC5zbWFsbHBhZGRpbmcge1xuICAgICAgcGFkZGluZy10b3A6IDAuNjI1ZW07IH0gfVxuXG4jY29udGVudCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuI2NvbnRlbnQgdWwuYmlnIGxpIHtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG4gICNjb250ZW50IHVsLmJpZyBsaTpiZWZvcmUge1xuICAgIG1hcmdpbi10b3A6IDAuNzVyZW07IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFF1aXJrc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uZXctbGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnAuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5hIHtcbiAgY29sb3I6ICMyMTRmNjE7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgXHQgV2ViZm9udHNcbiAgIFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBMYXVmc2NocmlmdCAoTXlyaWFkIFJlZ3VsYXIpXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubm8tanMgYm9keSxcbi53Zl9tIGJvZHkge1xuICBmb250LWZhbWlseTogbXlyaWFkLXBybywgSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgd29yZC1zcGFjaW5nOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgIExhdWZzY2hyaWZ0IEJvbGQgKE15cmlhZCBTZW1pYm9sZClcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uby1qcyBiLFxuLm5vLWpzIHN0cm9uZyxcbi53Zl9tYiBiLFxuLndmX21iIHN0cm9uZyB7XG4gIGZvbnQtZmFtaWx5OiBteXJpYWQtcHJvLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB3b3JkLXNwYWNpbmc6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFx0IEl0YWxpYyAobm90IGluIHVzZSBhdCB0aGUgbW9tZW50KVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgIFx0Lm5vLWpzLFxuICAgXHQud2ZfbGlnaHQtaXRhbGlje1xuICAgXHRcdGVte1xuICAgXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXdlYmZvbnQ7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMDtcblx0XHRcdHdvcmQtc3BhY2luZzogMDtcbiAgIFx0XHR9XG4gICBcdH1cblx0Ki9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBCb2xkICgpXG4gICBcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubm8tanMgLndlYnNpdGUtdGl0bGUsXG4ubm8tanMgaDEsXG4ubm8tanMgLmgxLFxuLm5vLWpzIGgyLFxuLm5vLWpzIC5oMixcbi5uby1qcyBoMyxcbi5uby1qcyAuaDMsXG4ubm8tanMgaDQsXG4ubm8tanMgLmg0LFxuLm5vLWpzIGg1LFxuLm5vLWpzIC5oNSxcbi5uby1qcyBoNixcbi5uby1qcyAuaDYsXG4ubm8tanMgLmJyZWFkY3J1bWJzLFxuLm5vLWpzIC5idG4sXG4ubm8tanMgLnNlY3Rpb24tdGl0bGUsXG4ubm8tanMgLmxpbmssXG4ubm8tanMgLmJ1dHRvbixcbi5uby1qcyAubmF2LWl0ZW0sXG4ubm8tanMgLnF1b3RlIC50ZXh0LFxuLm5vLWpzIC5jb250YWN0LWxpc3QgZGQsXG4ud2ZfYm9sZCAud2Vic2l0ZS10aXRsZSxcbi53Zl9ib2xkIGgxLFxuLndmX2JvbGQgLmgxLFxuLndmX2JvbGQgaDIsXG4ud2ZfYm9sZCAuaDIsXG4ud2ZfYm9sZCBoMyxcbi53Zl9ib2xkIC5oMyxcbi53Zl9ib2xkIGg0LFxuLndmX2JvbGQgLmg0LFxuLndmX2JvbGQgaDUsXG4ud2ZfYm9sZCAuaDUsXG4ud2ZfYm9sZCBoNixcbi53Zl9ib2xkIC5oNixcbi53Zl9ib2xkIC5icmVhZGNydW1icyxcbi53Zl9ib2xkIC5idG4sXG4ud2ZfYm9sZCAuc2VjdGlvbi10aXRsZSxcbi53Zl9ib2xkIC5saW5rLFxuLndmX2JvbGQgLmJ1dHRvbixcbi53Zl9ib2xkIC5uYXYtaXRlbSxcbi53Zl9ib2xkIC5xdW90ZSAudGV4dCxcbi53Zl9ib2xkIC5jb250YWN0LWxpc3QgZGQge1xuICBmb250LWZhbWlseTogamFmLWJlcm5pbmEtc2Fucy1uYXJyb3csIEhlbHZldGljYSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHdvcmQtc3BhY2luZzogMDsgfVxuXG4uc21vb3RoLXNjcm9sbCB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyB9XG5cbi5oaWRlLXZpc3VhbGx5IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBHcmlkXG4gICBcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgXHQgR3JpZCBGdWxsIChGbG9hdClcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnJvdy5mdWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogLTEuODc1cmVtOyB9XG4gIC5yb3cuZnVsbCAuY29sLTEsXG4gIC5yb3cuZnVsbCAuY29sLTIsXG4gIC5yb3cuZnVsbCAuY29sLTMsXG4gIC5yb3cuZnVsbCAuY29sLTQsXG4gIC5yb3cuZnVsbCAuY29sLTUsXG4gIC5yb3cuZnVsbCAuY29sLTYsXG4gIC5yb3cuZnVsbCAuY29sLTcsXG4gIC5yb3cuZnVsbCAuY29sLTgsXG4gIC5yb3cuZnVsbCAuY29sLTksXG4gIC5yb3cuZnVsbCAuY29sLTEwLFxuICAucm93LmZ1bGwgLmNvbC0xMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAucm93LmZ1bGwucGxtciB7XG4gICAgICAqem9vbTogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xLjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gICAgICAucm93LmZ1bGwucGxtcjphZnRlciwgLnJvdy5mdWxsLnBsbXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAucm93LmZ1bGwucGxtcjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtMSxcbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC0yLFxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTMsXG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtNCxcbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC01LFxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTYsXG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtNyxcbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC04LFxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTksXG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtMTAsXG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtMTEsXG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtMTIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtMSB7XG4gICAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTIge1xuICAgICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtMyB7XG4gICAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC00IHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMyU7IH1cbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC01IHtcbiAgICAgICAgd2lkdGg6IDQxLjY2NyU7IH1cbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC02IHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTcge1xuICAgICAgICB3aWR0aDogNTguMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTgge1xuICAgICAgICB3aWR0aDogNjYuNjY3JTsgfVxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTkge1xuICAgICAgICB3aWR0aDogNzUlOyB9XG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtMTAge1xuICAgICAgICB3aWR0aDogODMuMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTExIHtcbiAgICAgICAgd2lkdGg6IDkxLjY2NyU7IH1cbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC0xMiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5yb3cuZnVsbC50Ymx0IHtcbiAgICAgICp6b29tOiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEuMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH1cbiAgICAgIC5yb3cuZnVsbC50Ymx0OmFmdGVyLCAucm93LmZ1bGwudGJsdDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIC5yb3cuZnVsbC50Ymx0OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC0xLFxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTIsXG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtMyxcbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC00LFxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTUsXG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtNixcbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC03LFxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTgsXG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtOSxcbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC0xMCxcbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC0xMSxcbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC0xMiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC0xIHtcbiAgICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtMiB7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC0zIHtcbiAgICAgICAgd2lkdGg6IDI1JTsgfVxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTQge1xuICAgICAgICB3aWR0aDogMzMuMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTUge1xuICAgICAgICB3aWR0aDogNDEuNjY3JTsgfVxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTYge1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtNyB7XG4gICAgICAgIHdpZHRoOiA1OC4zMzMlOyB9XG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtOCB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjclOyB9XG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtOSB7XG4gICAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC0xMCB7XG4gICAgICAgIHdpZHRoOiA4My4zMzMlOyB9XG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtMTEge1xuICAgICAgICB3aWR0aDogOTEuNjY3JTsgfVxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTEyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnJvdy5mdWxsLmJpZ2dhcHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTIuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuMjVyZW07IH1cbiAgICAgIC5yb3cuZnVsbC5iaWdnYXBzID4gLmNvbC0xLFxuICAgICAgLnJvdy5mdWxsLmJpZ2dhcHMgPiAuY29sLTIsXG4gICAgICAucm93LmZ1bGwuYmlnZ2FwcyA+IC5jb2wtMyxcbiAgICAgIC5yb3cuZnVsbC5iaWdnYXBzID4gLmNvbC00LFxuICAgICAgLnJvdy5mdWxsLmJpZ2dhcHMgPiAuY29sLTUsXG4gICAgICAucm93LmZ1bGwuYmlnZ2FwcyA+IC5jb2wtNixcbiAgICAgIC5yb3cuZnVsbC5iaWdnYXBzID4gLmNvbC03LFxuICAgICAgLnJvdy5mdWxsLmJpZ2dhcHMgPiAuY29sLTgsXG4gICAgICAucm93LmZ1bGwuYmlnZ2FwcyA+IC5jb2wtOSxcbiAgICAgIC5yb3cuZnVsbC5iaWdnYXBzID4gLmNvbC0xMCxcbiAgICAgIC5yb3cuZnVsbC5iaWdnYXBzID4gLmNvbC0xMSxcbiAgICAgIC5yb3cuZnVsbC5iaWdnYXBzID4gLmNvbC0xMiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJvdy5mdWxsLmJpZ2dhcHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTMuNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTEuODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS44NzVyZW07IH1cbiAgICAgIC5yb3cuZnVsbC5iaWdnYXBzID4gLmNvbC0xLFxuICAgICAgLnJvdy5mdWxsLmJpZ2dhcHMgPiAuY29sLTIsXG4gICAgICAucm93LmZ1bGwuYmlnZ2FwcyA+IC5jb2wtMyxcbiAgICAgIC5yb3cuZnVsbC5iaWdnYXBzID4gLmNvbC00LFxuICAgICAgLnJvdy5mdWxsLmJpZ2dhcHMgPiAuY29sLTUsXG4gICAgICAucm93LmZ1bGwuYmlnZ2FwcyA+IC5jb2wtNixcbiAgICAgIC5yb3cuZnVsbC5iaWdnYXBzID4gLmNvbC03LFxuICAgICAgLnJvdy5mdWxsLmJpZ2dhcHMgPiAuY29sLTgsXG4gICAgICAucm93LmZ1bGwuYmlnZ2FwcyA+IC5jb2wtOSxcbiAgICAgIC5yb3cuZnVsbC5iaWdnYXBzID4gLmNvbC0xMCxcbiAgICAgIC5yb3cuZnVsbC5iaWdnYXBzID4gLmNvbC0xMSxcbiAgICAgIC5yb3cuZnVsbC5iaWdnYXBzID4gLmNvbC0xMiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciB7XG4gICAgICAqem9vbTogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xLjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtcjphZnRlciwgLnJvdy5mdWxsLmZpZnR5LnBsbXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtcjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMSxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC0yLFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LnBsbXIgPiAuY29sLTMsXG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtNCxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC01LFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LnBsbXIgPiAuY29sLTYsXG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtNyxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC04LFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LnBsbXIgPiAuY29sLTksXG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMTAsXG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMTEsXG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMTIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnJvdy5mdWxsLmZpZnR5LnBsbXIgPiAuY29sLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMlOyB9XG4gICAgLnJvdy5mdWxsLmZpZnR5LnBsbXIgPiAuY29sLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NyU7IH1cbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnJvdy5mdWxsLmZpZnR5LnBsbXIgPiAuY29sLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMyU7IH1cbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtOCB7XG4gICAgICB3aWR0aDogNjYuNjY3JTsgfVxuICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMyU7IH1cbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NyU7IH1cbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQge1xuICAgICAgKnpvb206IDE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdDphZnRlciwgLnJvdy5mdWxsLmZpZnR5LmJndGJsdDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQ6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtMSxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTIsXG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0ID4gLmNvbC0zLFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtNCxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTUsXG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0ID4gLmNvbC02LFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtNyxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTgsXG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0ID4gLmNvbC05LFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtMTAsXG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0ID4gLmNvbC0xMSxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTEyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtMSB7XG4gICAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtMiB7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTMge1xuICAgICAgICB3aWR0aDogMjUlOyB9XG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0ID4gLmNvbC00IHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMyU7IH1cbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTUge1xuICAgICAgICB3aWR0aDogNDEuNjY3JTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtNiB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTcge1xuICAgICAgICB3aWR0aDogNTguMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtOCB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjclOyB9XG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0ID4gLmNvbC05IHtcbiAgICAgICAgd2lkdGg6IDc1JTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtMTAge1xuICAgICAgICB3aWR0aDogODMuMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtMTEge1xuICAgICAgICB3aWR0aDogOTEuNjY3JTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtMTIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJvdy5mdWxsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xLjg3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9XG4gICAgICAucm93LmZ1bGwgPiAuY29sLTEsXG4gICAgICAucm93LmZ1bGwgPiAuY29sLTIsXG4gICAgICAucm93LmZ1bGwgPiAuY29sLTMsXG4gICAgICAucm93LmZ1bGwgPiAuY29sLTQsXG4gICAgICAucm93LmZ1bGwgPiAuY29sLTUsXG4gICAgICAucm93LmZ1bGwgPiAuY29sLTYsXG4gICAgICAucm93LmZ1bGwgPiAuY29sLTcsXG4gICAgICAucm93LmZ1bGwgPiAuY29sLTgsXG4gICAgICAucm93LmZ1bGwgPiAuY29sLTksXG4gICAgICAucm93LmZ1bGwgPiAuY29sLTEwLFxuICAgICAgLnJvdy5mdWxsID4gLmNvbC0xMSxcbiAgICAgIC5yb3cuZnVsbCA+IC5jb2wtMTIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAucm93LmZ1bGwudGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yb3cuZnVsbC50ZXh0ID4gLmNvbC0xLFxuICAgIC5yb3cuZnVsbC50ZXh0ID4gLmNvbC0yLFxuICAgIC5yb3cuZnVsbC50ZXh0ID4gLmNvbC0zLFxuICAgIC5yb3cuZnVsbC50ZXh0ID4gLmNvbC00LFxuICAgIC5yb3cuZnVsbC50ZXh0ID4gLmNvbC01LFxuICAgIC5yb3cuZnVsbC50ZXh0ID4gLmNvbC02LFxuICAgIC5yb3cuZnVsbC50ZXh0ID4gLmNvbC03LFxuICAgIC5yb3cuZnVsbC50ZXh0ID4gLmNvbC04LFxuICAgIC5yb3cuZnVsbC50ZXh0ID4gLmNvbC05LFxuICAgIC5yb3cuZnVsbC50ZXh0ID4gLmNvbC0xMCxcbiAgICAucm93LmZ1bGwudGV4dCA+IC5jb2wtMTEsXG4gICAgLnJvdy5mdWxsLnRleHQgPiAuY29sLTEyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkyNzVlbSkge1xuICAgICAgLnJvdy5mdWxsLnRleHQgPiAuY29sLTEgKyAqLFxuICAgICAgLnJvdy5mdWxsLnRleHQgPiAuY29sLTIgKyAqLFxuICAgICAgLnJvdy5mdWxsLnRleHQgPiAuY29sLTMgKyAqLFxuICAgICAgLnJvdy5mdWxsLnRleHQgPiAuY29sLTQgKyAqLFxuICAgICAgLnJvdy5mdWxsLnRleHQgPiAuY29sLTUgKyAqLFxuICAgICAgLnJvdy5mdWxsLnRleHQgPiAuY29sLTYgKyAqLFxuICAgICAgLnJvdy5mdWxsLnRleHQgPiAuY29sLTcgKyAqLFxuICAgICAgLnJvdy5mdWxsLnRleHQgPiAuY29sLTggKyAqLFxuICAgICAgLnJvdy5mdWxsLnRleHQgPiAuY29sLTkgKyAqLFxuICAgICAgLnJvdy5mdWxsLnRleHQgPiAuY29sLTEwICsgKixcbiAgICAgIC5yb3cuZnVsbC50ZXh0ID4gLmNvbC0xMSArICoge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtOyB9IH1cblxuKiArIC5yb3cuZnVsbCB7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgXHQgR3JpZCBGdWxsIChGbGV4KVxuICAgXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAucm93LmZ1bGwucGxtci5yZXZlcnNlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAucm93LmZ1bGwucGxtciB7XG4gICAgICAqem9vbTogbm9ybWFsO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAgIC5yb3cuZnVsbC5wbG1yOmFmdGVyLCAucm93LmZ1bGwucGxtcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIC5yb3cuZnVsbC5wbG1yOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC0xLFxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTIsXG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtMyxcbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC00LFxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTUsXG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtNixcbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC03LFxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTgsXG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtOSxcbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC0xMCxcbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC0xMSxcbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC0xMiB7XG4gICAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtMSB7XG4gICAgICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTIge1xuICAgICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTMge1xuICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTQge1xuICAgICAgICBmbGV4OiAwIDAgMzMuMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMlOyB9XG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtNSB7XG4gICAgICAgIGZsZXg6IDAgMCA0MS42NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NyU7IH1cbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC02IHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgICAgIC5yb3cuZnVsbC5wbG1yID4gLmNvbC03IHtcbiAgICAgICAgZmxleDogMCAwIDU4LjMzMyU7XG4gICAgICAgIG1heC13aWR0aDogNTguMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTgge1xuICAgICAgICBmbGV4OiAwIDAgNjYuNjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjclOyB9XG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtOSB7XG4gICAgICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgICAgIG1heC13aWR0aDogNzUlOyB9XG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtMTAge1xuICAgICAgICBmbGV4OiAwIDAgODMuMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4My4zMzMlOyB9XG4gICAgICAucm93LmZ1bGwucGxtciA+IC5jb2wtMTEge1xuICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgICAgLnJvdy5mdWxsLnBsbXIgPiAuY29sLTEyIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucm93LmZ1bGwudGJsdC5yZXZlcnNlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucm93LmZ1bGwudGJsdCB7XG4gICAgICAqem9vbTogbm9ybWFsO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAgIC5yb3cuZnVsbC50Ymx0OmFmdGVyLCAucm93LmZ1bGwudGJsdDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIC5yb3cuZnVsbC50Ymx0OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC0xLFxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTIsXG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtMyxcbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC00LFxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTUsXG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtNixcbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC03LFxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTgsXG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtOSxcbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC0xMCxcbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC0xMSxcbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC0xMiB7XG4gICAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtMSB7XG4gICAgICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTIge1xuICAgICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTMge1xuICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTQge1xuICAgICAgICBmbGV4OiAwIDAgMzMuMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMlOyB9XG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtNSB7XG4gICAgICAgIGZsZXg6IDAgMCA0MS42NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NyU7IH1cbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC02IHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgICAgIC5yb3cuZnVsbC50Ymx0ID4gLmNvbC03IHtcbiAgICAgICAgZmxleDogMCAwIDU4LjMzMyU7XG4gICAgICAgIG1heC13aWR0aDogNTguMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTgge1xuICAgICAgICBmbGV4OiAwIDAgNjYuNjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjclOyB9XG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtOSB7XG4gICAgICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgICAgIG1heC13aWR0aDogNzUlOyB9XG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtMTAge1xuICAgICAgICBmbGV4OiAwIDAgODMuMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4My4zMzMlOyB9XG4gICAgICAucm93LmZ1bGwudGJsdCA+IC5jb2wtMTEge1xuICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgICAgLnJvdy5mdWxsLnRibHQgPiAuY29sLTEyIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAucm93LmZ1bGwuZmlmdHkucmV2ZXJzZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLnJvdy5mdWxsLmZpZnR5LnBsbXIge1xuICAgICAgKnpvb206IG5vcm1hbDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtcjphZnRlciwgLnJvdy5mdWxsLmZpZnR5LnBsbXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtcjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMSxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC0yLFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LnBsbXIgPiAuY29sLTMsXG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtNCxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC01LFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LnBsbXIgPiAuY29sLTYsXG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtNyxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC04LFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LnBsbXIgPiAuY29sLTksXG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMTAsXG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMTEsXG4gICAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMTIge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC0xIHtcbiAgICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMiB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtNCB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzJTsgfVxuICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC01IHtcbiAgICAgIGZsZXg6IDAgMCA0MS42NjclO1xuICAgICAgbWF4LXdpZHRoOiA0MS42NjclOyB9XG4gICAgLnJvdy5mdWxsLmZpZnR5LnBsbXIgPiAuY29sLTYge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gICAgLnJvdy5mdWxsLmZpZnR5LnBsbXIgPiAuY29sLTcge1xuICAgICAgZmxleDogMCAwIDU4LjMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDU4LjMzMyU7IH1cbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtOCB7XG4gICAgICBmbGV4OiAwIDAgNjYuNjY3JTtcbiAgICAgIG1heC13aWR0aDogNjYuNjY3JTsgfVxuICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC05IHtcbiAgICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC0xMCB7XG4gICAgICBmbGV4OiAwIDAgODMuMzMzJTtcbiAgICAgIG1heC13aWR0aDogODMuMzMzJTsgfVxuICAgIC5yb3cuZnVsbC5maWZ0eS5wbG1yID4gLmNvbC0xMSB7XG4gICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAucm93LmZ1bGwuZmlmdHkucGxtciA+IC5jb2wtMTIge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQge1xuICAgICAgKnpvb206IG5vcm1hbDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0OmFmdGVyLCAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdDphZnRlciB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0ID4gLmNvbC0xLFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtMixcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTMsXG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0ID4gLmNvbC00LFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtNSxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTYsXG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0ID4gLmNvbC03LFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtOCxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTksXG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0ID4gLmNvbC0xMCxcbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTExLFxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtMTIge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTEge1xuICAgICAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTIge1xuICAgICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtMyB7XG4gICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0ID4gLmNvbC00IHtcbiAgICAgICAgZmxleDogMCAwIDMzLjMzMyU7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtNSB7XG4gICAgICAgIGZsZXg6IDAgMCA0MS42NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NyU7IH1cbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTYge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtNyB7XG4gICAgICAgIGZsZXg6IDAgMCA1OC4zMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDU4LjMzMyU7IH1cbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTgge1xuICAgICAgICBmbGV4OiAwIDAgNjYuNjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjclOyB9XG4gICAgICAucm93LmZ1bGwuZmlmdHkuYmd0Ymx0ID4gLmNvbC05IHtcbiAgICAgICAgZmxleDogMCAwIDc1JTtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgICAgIC5yb3cuZnVsbC5maWZ0eS5iZ3RibHQgPiAuY29sLTEwIHtcbiAgICAgICAgZmxleDogMCAwIDgzLjMzMyU7XG4gICAgICAgIG1heC13aWR0aDogODMuMzMzJTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtMTEge1xuICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgICAgLnJvdy5mdWxsLmZpZnR5LmJndGJsdCA+IC5jb2wtMTIge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIENvbXBvbmVudHNcbiAgIFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi53ZWJzaXRlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7IH1cbiAgLndlYnNpdGUtaGVhZGVyIC53cmFwcGVyIHtcbiAgICAqem9vbTogMTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNWVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjI1ZW07IH1cbiAgICAud2Vic2l0ZS1oZWFkZXIgLndyYXBwZXI6YWZ0ZXIsIC53ZWJzaXRlLWhlYWRlciAud3JhcHBlcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC53ZWJzaXRlLWhlYWRlciAud3JhcHBlcjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgICAud2Vic2l0ZS1oZWFkZXIgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDI3LjVlbSkge1xuICAgICAgLndlYnNpdGUtaGVhZGVyIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1ZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjVlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgICAgLndlYnNpdGUtaGVhZGVyIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNWVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgICAgLndlYnNpdGUtaGVhZGVyIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1ZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAgIC53ZWJzaXRlLWhlYWRlciAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjEyNWVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLndlYnNpdGUtaGVhZGVyIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMuNzVlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDQuMzc1ZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAud2Vic2l0ZS1oZWFkZXIgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNi4yNWVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogNWVtOyB9IH1cblxuLndlYnNpdGUtdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAud2Vic2l0ZS10aXRsZS5oYXNsb2dvIHtcbiAgICB3aWR0aDogNi4yNXJlbTsgfVxuICAgIC53ZWJzaXRlLXRpdGxlLmhhc2xvZ28gLnRleHQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMy43NWVtKSB7XG4gICAgICAud2Vic2l0ZS10aXRsZS5oYXNsb2dvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuMzc1cmVtO1xuICAgICAgICB3aWR0aDogOC43NXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgICAgIC53ZWJzaXRlLXRpdGxlLmhhc2xvZ28ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgd2lkdGg6IDExLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgICAgLndlYnNpdGUtdGl0bGUuaGFzbG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogMTVyZW07XG4gICAgICAgIHdpZHRoOiAzNSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC53ZWJzaXRlLXRpdGxlLmhhc2xvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDE2LjI1cmVtO1xuICAgICAgICB3aWR0aDogNDAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLndlYnNpdGUtdGl0bGUuaGFzbG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogMTIuNXJlbTtcbiAgICAgICAgd2lkdGg6IDIwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC53ZWJzaXRlLXRpdGxlLmhhc2xvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDE3LjVyZW07XG4gICAgICAgIHdpZHRoOiAyNCU7IH0gfVxuXG4uc2l0ZS1mb290ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICBwYWRkaW5nLXRvcDogMi41cmVtOyB9XG4gIC5zaXRlLWZvb3RlciAuZm9vdGVyLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMuNzVlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyIC5mb290ZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiA4Ljc1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyIC5mb290ZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiAxMS4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAgIC5zaXRlLWZvb3RlciAuZm9vdGVyLWxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDE1cmVtO1xuICAgICAgICB3aWR0aDogMzUlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgICAuc2l0ZS1mb290ZXIgLmZvb3Rlci1sb2dvIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNi4yNXJlbTtcbiAgICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyIC5mb290ZXItbG9nbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc2l0ZS1mb290ZXIgLmZvb3Rlci1sb2dvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDIxLjI1cmVtO1xuICAgICAgICB3aWR0aDogMzAlOyB9IH1cbiAgICAuc2l0ZS1mb290ZXIgLmZvb3Rlci1sb2dvIC5sb2dvLWltYWdlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgICAgIC5zaXRlLWZvb3RlciAuZm9vdGVyLWxvZ28gLmxvZ28taW1hZ2Uge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc2l0ZS1mb290ZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnNpdGUtZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgIC5zaXRlLWZvb3RlciAucm93LmZ1bGwgKyAucm93LmZ1bGwge1xuICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zaXRlLWZvb3RlciAucm93LmZ1bGwgKyAucm93LmZ1bGwge1xuICAgICAgcGFkZGluZy10b3A6IDVyZW07IH0gfVxuICAuc2l0ZS1mb290ZXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnNpdGUtZm9vdGVyIHAsXG4gIC5zaXRlLWZvb3RlciB1bCB7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgICAuc2l0ZS1mb290ZXIgcCxcbiAgICAgIC5zaXRlLWZvb3RlciB1bCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAgIC5zaXRlLWZvb3RlciBwLFxuICAgICAgLnNpdGUtZm9vdGVyIHVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuc2l0ZS1mb290ZXIgcCxcbiAgICAgIC5zaXRlLWZvb3RlciB1bCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfSB9XG4gIC5zaXRlLWZvb3RlciB1bCBsaSArIGxpIHtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgICAuc2l0ZS1mb290ZXIgdWwgbGkgKyBsaSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAgIC5zaXRlLWZvb3RlciB1bCBsaSArIGxpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuMzc1ZW07IH0gfVxuICAuc2l0ZS1mb290ZXIgaDQgKyAqLFxuICAuc2l0ZS1mb290ZXIgaDUgKyAqIHtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyIGg0ICsgKixcbiAgICAgIC5zaXRlLWZvb3RlciBoNSArICoge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC43NWVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyIGg0ICsgKixcbiAgICAgIC5zaXRlLWZvb3RlciBoNSArICoge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS4yNWVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyIGg0ICsgKixcbiAgICAgIC5zaXRlLWZvb3RlciBoNSArICoge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS44NzVlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5zaXRlLWZvb3RlciBoNCArICosXG4gICAgICAuc2l0ZS1mb290ZXIgaDUgKyAqIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIuNWVtOyB9IH1cbiAgLnNpdGUtZm9vdGVyIC5hZHIgKyAqIHtcbiAgICBwYWRkaW5nLXRvcDogMC44NzVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyIC5hZHIgKyAqIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDFlbTsgfSB9XG4gIC5zaXRlLWZvb3RlciAuYnRuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4wNjI1ZW07XG4gICAgcGFkZGluZy10b3A6IDAuMTg3NWVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAgIC5zaXRlLWZvb3RlciAuYnRuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyIC5idG4ge1xuICAgICAgICBmb250LXNpemU6IDAuODc1ZW07IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmYXVsdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5qdW1wdG9jb250ZW50IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLm5hdmktb3BlbmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzIxNGY2MSAwJSwgIzIxNGY2MSAxMDAlKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDAlIDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIC4ycyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgd2lsbC1jaGFuZ2U6IGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEzLjc1ZW0pIHtcbiAgICAubmF2aS1vcGVuZXIge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjIuNWVtKSB7XG4gICAgLm5hdmktb3BlbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5uYXZpLW9wZW5lciB7XG4gICAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgd2lkdGg6IDIuNjI1cmVtOyB9IH1cbiAgLm5hdmktb3BlbmVyOmFmdGVyLCAubmF2aS1vcGVuZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uYXZpLW9wZW5lcjphZnRlciwgLm5hdmktb3BlbmVyOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAyMnB4OyB9IH1cbiAgLm5hdmktb3BlbmVyOmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggIzIxNEY2MTtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAycHggIzIxNEY2MTtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4zcyBlYXNlLWluLW91dCwgaGVpZ2h0IC4ycyBlYXNlLWluLW91dDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubmF2aS1vcGVuZXI6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDE0cHg7IH0gfVxuICAubmF2aS1vcGVuZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE0RjYxO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5uYXZpLW9wZW5lciAudGV4dC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5uYXZpLW9wZW5lciAudGV4dC13cmFwcGVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHJpZ2h0OiAwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTMwMCUsIC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCAuMXM7IH1cbiAgLm5hdmktb3BlbmVyOmZvY3VzLCAubmF2aS1vcGVuZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAubmF2aS1vcGVuZXI6Zm9jdXM6YWZ0ZXIsIC5uYXZpLW9wZW5lcjpob3ZlcjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgaGVpZ2h0OiAwOyB9XG4gICAgLm5hdmktb3BlbmVyOmZvY3VzOmJlZm9yZSwgLm5hdmktb3BlbmVyOmhvdmVyOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTYwJSwgLTUwJSk7IH1cbiAgICAubmF2aS1vcGVuZXI6Zm9jdXMgLnRleHQtd3JhcHBlcjpiZWZvcmUsIC5uYXZpLW9wZW5lcjpob3ZlciAudGV4dC13cmFwcGVyOmJlZm9yZSB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTsgfVxuXG4ubmF2LWl0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmxhbmctbWVudSxcbi5uYXYtbWVudSxcbi5zdWItbWVudSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnNpdGUtbmF2IC5tZW51LXRpdGxlIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNpdGUtbmF2IC5uYXYtbWVudSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ2xvc2VkIE9mZiBDYW52YXMgTmF2aWdhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5qdW1wdG9jb250ZW50OmZvY3VzIHtcbiAgYm9yZGVyOiBub25lO1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS40ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmp1bXB0b2NvbnRlbnQ6Zm9jdXMge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5qdW1wdG9jb250ZW50OmZvY3VzOmFmdGVyLCAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuanVtcHRvY29udGVudDpmb2N1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmp1bXB0b2NvbnRlbnQ6Zm9jdXM6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICMyMTRGNjE7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5qdW1wdG9jb250ZW50OmZvY3VzOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDRweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiA0cHg7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDdweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH0gfVxuICAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuanVtcHRvY29udGVudDpmb2N1czpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTRGNjE7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICB3aWR0aDogMnB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5qdW1wdG9jb250ZW50OmZvY3VzOmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMTdweDsgfSB9XG4gICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5qdW1wdG9jb250ZW50OmZvY3VzIC50ZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMjE0ZjYxIDAlLCAjMjE0ZjYxIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSA3JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgLjJzOyB9XG5cbiNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5sYW5nLW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYyLjVlbSkge1xuICAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAud2Vic2l0ZS1uYXZpIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgcGFkZGluZy10b3A6IDEuNjI1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLndlYnNpdGUtbmF2aSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAud2Vic2l0ZS1uYXZpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1JTsgfSB9XG5cbiNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5tZW51LW9wZW5lZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLnNpdGUtbmF2IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYyLjVlbSkge1xuICAgICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5zaXRlLW5hdiB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjbGlwOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfSB9XG4gICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5zaXRlLW5hdiAubmF2LW1lbnUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuc2l0ZS1uYXYgLm5hdi1tZW51IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5zaXRlLW5hdiAubmF2LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5zaXRlLW5hdiAubmF2LWl0ZW0gKyAubmF2LWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuc2l0ZS1uYXYgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5zaXRlLW5hdiAubmF2LWl0ZW0gKyAubmF2LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTsgfSB9XG4gICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5zaXRlLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW0gMC4yNXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuc2l0ZS1uYXYgLm5hdi1saW5rIC50ZXh0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMyMTRmNjEgMCUsICMyMTRmNjEgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDgwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAlIDclO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgLjJzOyB9XG4gICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5zaXRlLW5hdiAubmF2LWl0ZW0uYWN0aXZlIC5uYXYtbGluayxcbiAgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLnNpdGUtbmF2IC5uYXYtbGluazphY3RpdmUsXG4gICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5zaXRlLW5hdiAubmF2LWxpbms6Zm9jdXMsXG4gICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5zaXRlLW5hdiAubmF2LWxpbms6aG92ZXIge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuc2l0ZS1uYXYgLm5hdi1pdGVtLmFjdGl2ZSAubmF2LWxpbmsgLnRleHQsXG4gICAgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLnNpdGUtbmF2IC5uYXYtbGluazphY3RpdmUgLnRleHQsXG4gICAgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLnNpdGUtbmF2IC5uYXYtbGluazpmb2N1cyAudGV4dCxcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuc2l0ZS1uYXYgLm5hdi1saW5rOmhvdmVyIC50ZXh0IHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSA3JTsgfVxuICAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuc2l0ZS1uYXYgLnN1Yi1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5uYXZpLWNsb3NlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9wZW5lZCBPZmYgQ2FudmFzIE5hdmlnYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAuaW5uZXItd3JhcHBlciB7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtaGVhZGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5qdW1wdG9jb250ZW50IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5uYXZpLWNsb3NlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTRGNjE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIGhlaWdodDogMi41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyLjVyZW07XG4gIHotaW5kZXg6IDQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAubmF2aS1jbG9zZXIge1xuICAgICAgbWFyZ2luLXRvcDogMC44NzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5uYXZpLWNsb3NlciB7XG4gICAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgd2lkdGg6IDIuNjI1cmVtOyB9IH1cbiAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLm5hdmktY2xvc2VyOmFmdGVyLCAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAubmF2aS1jbG9zZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDIycHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLm5hdmktY2xvc2VyOmFmdGVyLCAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAubmF2aS1jbG9zZXI6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7IH0gfVxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAubmF2aS1jbG9zZXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7IH1cbiAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLm5hdmktY2xvc2VyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpOyB9XG4gICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5uYXZpLWNsb3NlciAudGV4dC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5uYXZpLWNsb3NlciAudGV4dC13cmFwcGVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBsZWZ0OiAwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzAwJSwgLTUwJSk7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjJzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0IC4xczsgfVxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAubmF2aS1jbG9zZXI6Zm9jdXMsICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5uYXZpLWNsb3Nlcjpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5uYXZpLWNsb3Nlcjpmb2N1czphZnRlciwgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLm5hdmktY2xvc2VyOmZvY3VzOmJlZm9yZSwgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLm5hdmktY2xvc2VyOmhvdmVyOmFmdGVyLCAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAubmF2aS1jbG9zZXI6aG92ZXI6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00MCUsIC01MCUpIHJvdGF0ZSgwKTtcbiAgICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAubmF2aS1jbG9zZXI6Zm9jdXM6YWZ0ZXIsICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5uYXZpLWNsb3Nlcjpmb2N1czpiZWZvcmUsICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5uYXZpLWNsb3Nlcjpob3ZlcjphZnRlciwgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLm5hdmktY2xvc2VyOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDIycHg7IH0gfVxuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5uYXZpLWNsb3Nlcjpmb2N1cyAudGV4dC13cmFwcGVyOmJlZm9yZSwgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLm5hdmktY2xvc2VyOmhvdmVyIC50ZXh0LXdyYXBwZXI6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC01MCUpOyB9XG5cbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5uYXZpLW9wZW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5tZW51LWNsb3NlZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAuc2l0ZS1uYXYge1xuICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnNpdGUtbmF2IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAubGFuZy1uYXYgKyAuc2l0ZS1uYXYge1xuICBwYWRkaW5nLXRvcDogM3JlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLmxhbmctbmF2ICsgLnNpdGUtbmF2IHtcbiAgICAgIHBhZGRpbmctdG9wOiA0cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5sYW5nLW5hdiArIC5zaXRlLW5hdiB7XG4gICAgICBwYWRkaW5nLXRvcDogNnJlbTsgfSB9XG5cbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLm5hdi1tZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAubmF2LW1lbnUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAubmF2LW1lbnUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAubmF2LW1lbnUgLm5hdi1pdGVtIHtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4jb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5uYXYtbWVudSA+IC5uYXYtaXRlbSArIC5uYXYtaXRlbSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5uYXYtbWVudSA+IC5uYXYtaXRlbSArIC5uYXYtaXRlbSB7XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAubmF2LW1lbnUgPiAubmF2LWl0ZW0gKyAubmF2LWl0ZW0ge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuXG4jb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICBjb2xvcjogIzIxNEY2MTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLm5hdi1tZW51ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLm5hdi1tZW51ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5uYXYtbWVudSA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayB7XG4gICAgICBmb250LXNpemU6IDIuNzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLm5hdi1tZW51ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rIHtcbiAgICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07IH0gfVxuXG4jb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5tZW51LW9wZW5lZCB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAvKlxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IHNjdXQtcmVtKDMwKTtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHNjdXQtcmVtKDMwKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdHdpZHRoOiBzY3V0LXJlbSgxMjAwKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlnZ2VyKXtcblx0XHRcdFx0XHR3aWR0aDogc2N1dC1yZW0oMTMwMCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ki8gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLm1lbnUtb3BlbmVkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAubWVudS1vcGVuZWQge1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5tZW51LW9wZW5lZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAubWVudS1vcGVuZWQge1xuICAgICAgcGFkZGluZy10b3A6IDYuMjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLm1lbnUtb3BlbmVkIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4Ljc1cmVtOyB9IH1cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAubmF2LW1lbnUgPiAubmF2LWl0ZW0uYWN0aXZlID4gLm5hdi1saW5rIHtcbiAgY29sb3I6ICMyMTRmNjE7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLm5hdi1tZW51ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmFjdGl2ZSwgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAubmF2LW1lbnUgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMsICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLm5hdi1tZW51ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMyMTRmNjE7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0IHtcbiAgcGFkZGluZy10b3A6IDEuODc1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQge1xuICAgICAgcGFkZGluZy10b3A6IDIuMnJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQge1xuICAgICAgcGFkZGluZy10b3A6IDIuNnJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTE6Zmlyc3QtY2hpbGQgLnN1Yi1tZW51LFxuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC0yOmZpcnN0LWNoaWxkIC5zdWItbWVudSxcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtMzpmaXJzdC1jaGlsZCAuc3ViLW1lbnUsXG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTQ6Zmlyc3QtY2hpbGQgLnN1Yi1tZW51LFxuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC01OmZpcnN0LWNoaWxkIC5zdWItbWVudSxcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtNjpmaXJzdC1jaGlsZCAuc3ViLW1lbnUsXG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTc6Zmlyc3QtY2hpbGQgLnN1Yi1tZW51LFxuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC04OmZpcnN0LWNoaWxkIC5zdWItbWVudSxcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtOTpmaXJzdC1jaGlsZCAuc3ViLW1lbnUsXG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTEwOmZpcnN0LWNoaWxkIC5zdWItbWVudSxcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtMTE6Zmlyc3QtY2hpbGQgLnN1Yi1tZW51LFxuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC0xMjpmaXJzdC1jaGlsZCAuc3ViLW1lbnUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTE6Zmlyc3QtY2hpbGQgLnN1Yi1tZW51LFxuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC0yOmZpcnN0LWNoaWxkIC5zdWItbWVudSxcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtMzpmaXJzdC1jaGlsZCAuc3ViLW1lbnUsXG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTQ6Zmlyc3QtY2hpbGQgLnN1Yi1tZW51LFxuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC01OmZpcnN0LWNoaWxkIC5zdWItbWVudSxcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtNjpmaXJzdC1jaGlsZCAuc3ViLW1lbnUsXG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTc6Zmlyc3QtY2hpbGQgLnN1Yi1tZW51LFxuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC04OmZpcnN0LWNoaWxkIC5zdWItbWVudSxcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtOTpmaXJzdC1jaGlsZCAuc3ViLW1lbnUsXG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTEwOmZpcnN0LWNoaWxkIC5zdWItbWVudSxcbiAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtMTE6Zmlyc3QtY2hpbGQgLnN1Yi1tZW51LFxuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC0xMjpmaXJzdC1jaGlsZCAuc3ViLW1lbnUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjVyZW07IH0gfVxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtMSAuc3ViLW1lbnUsXG4gICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC0yIC5zdWItbWVudSxcbiAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTMgLnN1Yi1tZW51LFxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtNCAuc3ViLW1lbnUsXG4gICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC01IC5zdWItbWVudSxcbiAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTYgLnN1Yi1tZW51LFxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtNyAuc3ViLW1lbnUsXG4gICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC04IC5zdWItbWVudSxcbiAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTkgLnN1Yi1tZW51LFxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtMTAgLnN1Yi1tZW51LFxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtMTEgLnN1Yi1tZW51LFxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtMTIgLnN1Yi1tZW51IHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtMSArICosXG4gICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC0yICsgKixcbiAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTMgKyAqLFxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtNCArICosXG4gICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC01ICsgKixcbiAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTYgKyAqLFxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtNyArICosXG4gICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC04ICsgKixcbiAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTkgKyAqLFxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtMTAgKyAqLFxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtMTEgKyAqIHtcbiAgICBwYWRkaW5nLXRvcDogLjZyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTEgKyAqLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTIgKyAqLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTMgKyAqLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTQgKyAqLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTUgKyAqLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTYgKyAqLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTcgKyAqLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTggKyAqLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTkgKyAqLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAucm93LnRleHQgPiAuY29sLTEwICsgKixcbiAgICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC0xMSArICoge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC0xICsgKixcbiAgICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC0yICsgKixcbiAgICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC0zICsgKixcbiAgICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC00ICsgKixcbiAgICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC01ICsgKixcbiAgICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC02ICsgKixcbiAgICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC03ICsgKixcbiAgICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC04ICsgKixcbiAgICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC05ICsgKixcbiAgICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnJvdy50ZXh0ID4gLmNvbC0xMCArICosXG4gICAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5yb3cudGV4dCA+IC5jb2wtMTEgKyAqIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4jb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5zdWItbWVudSB7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnN1Yi1tZW51IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjJyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnN1Yi1tZW51IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjZyZW07IH0gfVxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5zdWItbWVudSAubmF2LWl0ZW0gKyAubmF2LWl0ZW0ge1xuICAgIHBhZGRpbmctdG9wOiAuNnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5zdWItbWVudSAubmF2LWl0ZW0gKyAubmF2LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYyLjVlbSkge1xuICAgICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAuc3ViLW1lbnUgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnN1Yi1tZW51IC5uYXYtaXRlbSArIC5uYXYtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjZyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5zdWItbWVudSAubmF2LWl0ZW0gKyAubmF2LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfSB9XG4gICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnN1Yi1tZW51IC5uYXYtaXRlbS5hY3RpdmUgPiAubmF2LWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAuc3ViLW1lbnUgLm5hdi1saW5rIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnN1Yi1tZW51IC5uYXYtbGluayB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLndlYnNpdGUtbmF2aSAuc3ViLW1lbnUgLm5hdi1saW5rIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH0gfVxuICAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5zdWItbWVudSAubmF2LWxpbms6YWN0aXZlLCAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAud2Vic2l0ZS1uYXZpIC5zdWItbWVudSAubmF2LWxpbms6Zm9jdXMsICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC53ZWJzaXRlLW5hdmkgLnN1Yi1tZW51IC5uYXYtbGluazpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZ2UtSGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBhZ2UtaGVhZGVyIC5icmVhZGNydW1icy53cmFwcGVyICsgLndyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBhZ2UtaGVhZGVyIC5icmVhZGNydW1icy53cmFwcGVyICsgLndyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnBhZ2UtaGVhZGVyIC5icmVhZGNydW1icy53cmFwcGVyICsgLndyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDEuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGFnZS1oZWFkZXIgLmJyZWFkY3J1bWJzLndyYXBwZXIgKyAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5wYWdlLWhlYWRlciAuYnJlYWRjcnVtYnMud3JhcHBlciArIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5wYWdlLWhlYWRlciAucGFnZS10aXRsZSB7XG4gICAgd2lkdGg6IDkwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5wYWdlLWhlYWRlciAucGFnZS10aXRsZSB7XG4gICAgd2lkdGg6IDgwJTsgfSB9XG5cbiNjb250ZW50IC5wYWdlLXRpdGxlICsgKiB7XG4gIHBhZGRpbmctdG9wOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgICNjb250ZW50IC5wYWdlLXRpdGxlICsgKiB7XG4gICAgICBwYWRkaW5nLXRvcDogMS4zNzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgICNjb250ZW50IC5wYWdlLXRpdGxlICsgKiB7XG4gICAgICBwYWRkaW5nLXRvcDogMS42ODc1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAjY29udGVudCAucGFnZS10aXRsZSArICoge1xuICAgICAgcGFkZGluZy10b3A6IDIuMDYyNXJlbTsgfSB9XG5cbi5icmVhZGNydW1icyB7XG4gIGZvbnQtc2l6ZTogMC43NWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5icmVhZGNydW1icyB7XG4gICAgICBmb250LXNpemU6IDAuNzVlbTsgfSB9XG4gIC5icmVhZGNydW1icyB1bCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgICAuYnJlYWRjcnVtYnMgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLmJyZWFkY3J1bWJzIGxpLmxhc3QgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0I5RDNERjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gICAgcGFkZGluZzogMC4xMjVlbSAwLjVlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDsgfVxuICAgIC5icmVhZGNydW1icyBsaS5sYXN0IGE6YWN0aXZlLCAuYnJlYWRjcnVtYnMgbGkubGFzdCBhOmZvY3VzLCAuYnJlYWRjcnVtYnMgbGkubGFzdCBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4NkI2Q0Q7IH1cbiAgLmJyZWFkY3J1bWJzIGxpOmZpcnN0LWNoaWxkOm5vdCgubGFzdCkgLnRleHQge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgICAuYnJlYWRjcnVtYnMgbGk6Zmlyc3QtY2hpbGQ6bm90KC5sYXN0KSAudGV4dCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY2xpcDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgLmJyZWFkY3J1bWJzIGxpOmZpcnN0LWNoaWxkOm5vdCgubGFzdCkgYTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcuLi4nO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgLmJyZWFkY3J1bWJzIGxpOmZpcnN0LWNoaWxkOm5vdCgubGFzdCkgYTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKSAudGV4dCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMjE0RjYxIDAlLCAjMjE0RjYxIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA5MCU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDglO1xuICAgICAgcGFkZGluZy1ib3R0b206IC4xMmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuMTI1ZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgLjE1czsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6YWN0aXZlIC50ZXh0LCAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTpmb2N1cyAudGV4dCwgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6aG92ZXIgLnRleHQge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDglOyB9IH1cbiAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAgIC5icmVhZGNydW1icyBsaTpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgICAuYnJlYWRjcnVtYnMgbGkgKyBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgLmJyZWFkY3J1bWJzIGxpICsgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjE4NzVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogMC4zMTI1cmVtIHNvbGlkICMyMTRGNjE7XG4gICAgICBib3JkZXItdG9wOiAwLjE4NzVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNTYyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNDM3NXJlbTtcbiAgICAgIHRvcDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgLmJyZWFkY3J1bWJzIGxpICsgbGk6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gICAgLmJyZWFkY3J1bWJzIGxpICsgbGk6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5icmVhZGNydW1icyBsaSArIGxpOmJlZm9yZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC40Mzc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH0gfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5icmVhZGNydW1icy10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICBTdGFuZGFyZCBpbWcgLyBtZWRpYSBkZWNsYXJhdGlvblxuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbmZpZ2NhcHRpb24ge1xuICBjb2xvcjogIzMyNzI4YjtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9XG4gIGZpZ2NhcHRpb24gcCB7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgICAgZmlnY2FwdGlvbiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgICAgZmlnY2FwdGlvbiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICBmaWdjYXB0aW9uIHAge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07IH0gfVxuXG5pbWcge1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5qcyAuaGFzLXN2ZyAuaWNvbi1pbWFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmpzIC5oYXMtc3ZnIC5pY29uLXN2ZyAuc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmpzLnN2Z2FzaW1nIC5oYXMtc3ZnIC5pY29uLWltYWdlLFxuLmpzLm5vLXN2Z2FzaW1nIC5oYXMtc3ZnIC5pY29uLXN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm5vLWpzIC5oYXMtc3ZnIC5pY29uLXN2Zyxcbi5uby1qcyAuaGFzLXN2ZyAuaWNvbi1zdmcgLnN2Zyxcbi5uby1qcyAuaGFzLXN2ZyAuaWNvbi1pbWFnZSAuanNpbWFnZSxcbi5uby1qcyAuanNpbWFnZS5sYXp5bG9hZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmpzIC5pbWFnZS13cmFwcGVyIC5pY29uLXN2ZyAuc3ZnLFxuLmpzIC5qc2ltYWdlIHtcbiAgaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uanMgLmltYWdlLXdyYXBwZXIgLmljb24tc3ZnIC5zdmcsXG4uanMgLmljb24taW1hZ2UgLmpzaW1hZ2Uge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5qcy5uby1pbmxpbmVzdmcgLmltZy1pY29uIC5pY29uLWZhbGxiYWNrLmxhenlsb2FkLCAuanMubm8taW5saW5lc3ZnIC5pbWctaWNvbiAuaWNvbi1mYWxsYmFjay5sb2FkaW5nLCAuanMubm8taW5saW5lc3ZnIC5pbWctaWNvbiAuaWNvbi1mYWxsYmFjay5sYXp5bG9hZGluZyxcbi5qcyAuanNpbWFnZS5sYXp5bG9hZCxcbi5qcyAuanNpbWFnZS5sb2FkaW5nLFxuLmpzIC5qc2ltYWdlLmxhenlsb2FkaW5nIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uanMgLmltYWdlLXdyYXBwZXIgLmljb24tc3ZnIC5zdmcubG9hZGVkLFxuLmpzIC5pbWFnZS13cmFwcGVyIC5pY29uLXN2ZyAuc3ZnLmxhenlsb2FkZWQsXG4uanMgLmpzaW1hZ2UubG9hZGVkLFxuLmpzIC5qc2ltYWdlLmxhenlsb2FkZWQsXG4uanMubm8taW5saW5lc3ZnIC5pbWctaWNvbiAuaWNvbi1mYWxsYmFjayB7XG4gIGhlaWdodDogYXV0bztcbiAgb3BhY2l0eTogMTtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4uanMgLmljb24taW1hZ2UgLmpzaW1hZ2UubGF6eWxvYWRlZCxcbi5qcyAuaWNvbi1zdmcgLnN2Zy5sYXp5bG9hZGVkIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uY3NzdHJhbnNpdGlvbnMuanMgLmljb24tc3ZnIC5zdmcsXG4uY3NzdHJhbnNpdGlvbnMuanMgLmpzaW1hZ2UsXG4uY3NzdHJhbnNpdGlvbnMuanMuc3ZnYXNpbWcgLmluZm9ncmFmaWsgLnN2Z2ltYWdlLFxuLmNzc3RyYW5zaXRpb25zLmpzLm5vLWlubGluZXN2ZyAuaWNvbi1mYWxsYmFjayB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0OyB9XG5cbi5uby1jc3N0cmFuc2l0aW9ucy5sYXp5bG9hZCwgLm5vLWNzc3RyYW5zaXRpb25zLmxvYWRpbmcsIC5uby1jc3N0cmFuc2l0aW9ucy5sYXp5bG9hZGluZyB7XG4gIGhlaWdodDogYXV0bztcbiAgb3BhY2l0eTogMTtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFNpdGUgSGVhZGVyIExvZ29cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5qcyAuaGFzc3ZnbG9nbyAuaW1nLWxvZ28ge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmpzIC5ub3N2Z2xvZ28uaGFzbG9nbyAuc3ZnLWxvZ28ge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmpzLm5vLXN2Z2FzaW1nIC5oYXNzdmdsb2dvIC5zdmctbG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uanMubm8tc3ZnYXNpbWcgLmhhc3N2Z2xvZ28gLmltZy1sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLm5vLWpzIC5oYXNzdmdsb2dvIC5zdmctbG9nbyxcbi5uby1qcyAuaGFzc3ZnbG9nbyAuaW1nLWxvZ28sXG4ubm8tanMgLmhhc2xvZ28gLnN2Zy1sb2dvLFxuLm5vLWpzIC5oYXNsb2dvIC5pbWctbG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ubm8tanMgLmhhc3N2Z2xvZ28gLm5vanNpbWFnZSxcbi5uby1qcyAuaGFzbG9nbyAubm9qc2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLm5vLWpzIC5oYXNzbWFsbGxvZ28gLm5vanNpbWFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAubm8tanMgLmhhc3NtYWxsbG9nbyAubm9qc2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm5vLWpzIC5oYXNzbWFsbGxvZ28gLm5vanNpbWFnZS5zbWFsbGxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAgIC5uby1qcyAuaGFzc21hbGxsb2dvIC5ub2pzaW1hZ2Uuc21hbGxsb2dvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC5rb250YWt0IC50ZXh0LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogOCU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAua29udGFrdCAudGV4dC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMjIlO1xuICAgIHdpZHRoOiA3MCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjIuNWVtKSB7XG4gIC5rb250YWt0IC50ZXh0LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAxNiU7XG4gICAgd2lkdGg6IDgzJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5rb250YWt0IC50ZXh0LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAyMCU7XG4gICAgd2lkdGg6IDgyJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5rb250YWt0IC50ZXh0LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAzMCU7XG4gICAgd2lkdGg6IDgwJTsgfSB9XG5cbi5rb250YWt0IC5pbWFnZS13cmFwcGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogNjAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgLmtvbnRha3QgLmltYWdlLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAua29udGFrdCAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTAlO1xuICAgICAgd2lkdGg6IDgwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmtvbnRha3QgLmltYWdlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE3JTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMCU7XG4gICAgICB3aWR0aDogOTAlOyB9IH1cbiAgLmtvbnRha3QgLmltYWdlLXdyYXBwZXIgKyAudGV4dC1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgICAua29udGFrdCAuaW1hZ2Utd3JhcHBlciArIC50ZXh0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAgIC5rb250YWt0IC5pbWFnZS13cmFwcGVyICsgLnRleHQtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgICAua29udGFrdCAuaW1hZ2Utd3JhcHBlciArIC50ZXh0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS42MjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gICAgICAua29udGFrdCAuaW1hZ2Utd3JhcHBlciArIC50ZXh0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMi4xMjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAua29udGFrdCAuaW1hZ2Utd3JhcHBlciArIC50ZXh0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMi43NXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5rb250YWt0IC5pbWFnZS13cmFwcGVyICsgLnRleHQtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTsgfSB9XG5cbkBzdXBwb3J0cyAoZGlzcGxheTogZmxleCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLmtvbnRha3QgLnJvdy5yZXZlcnNlIC50ZXh0LWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAua29udGFrdCAucm93LnJldmVyc2UgLnRleHQtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogNiU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5rb250YWt0IC5yb3cucmV2ZXJzZSAudGV4dC1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAua29udGFrdCAucm93LnJldmVyc2UgLmltYWdlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmtvbnRha3QgLnJvdy5yZXZlcnNlIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOCU7IH0gfSB9XG5cbi5xdW90ZSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgaHlwaGVuczogYXV0bztcbiAgaHlwaGVuYXRlLWxpbWl0LWNoYXJzOiA2IDMgNDtcbiAgbWFyZ2luOiAwOyB9XG5cbi56aXRhdCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIC56aXRhdCAud3JhcHBlciB7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDAuMDYyNXJlbSAjNTc5MmE5O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAgIC56aXRhdCAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAueml0YXQgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07IH0gfVxuICAueml0YXQgLmlubmVyLXdyYXBwZXIge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBtYXgtd2lkdGg6IDM3LjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgICAgLnppdGF0IC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICAgIG1heC13aWR0aDogNDByZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAueml0YXQgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQ3LjVyZW07IH0gfVxuICAueml0YXQgLnBlcnNvbiB7XG4gICAgY29sb3I6ICMzMjcyOGI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBmb250LXNpemU6IDAuNzVlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgICAueml0YXQgLnBlcnNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAgIC56aXRhdCAucGVyc29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAueml0YXQgLnBlcnNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBMaW5rIGNvbG9ycyBhbmQgc3R5bGVzXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmFbaHJlZl49XCJ0ZWw6XCJdIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBcdCBUaXRsZXNcbiAgIFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmgxIGEsXG4uaDEgYSxcbmgyIGEsXG4uaDIgYSxcbmgyIGEsXG4uaDMgYSxcbmg0IGEsXG4uaDQgYSxcbmg1IGEsXG4uaDUgYSxcbmg2XG4uaDYgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBcdCBCdXR0b25zIGFuZCBsaW5rcyB3aXRoIGljb25zXG4gICBcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGVudCBwLnNtYWxsLWJ0bixcbi5jb250ZW50IHVsLnNtYWxsLWJ0biB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgLmNvbnRlbnQgcC5zbWFsbC1idG4sXG4gICAgLmNvbnRlbnQgdWwuc21hbGwtYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gICAgLmNvbnRlbnQgcC5zbWFsbC1idG4sXG4gICAgLmNvbnRlbnQgdWwuc21hbGwtYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuY29udGVudCBwLnNtYWxsLWJ0bixcbiAgICAuY29udGVudCB1bC5zbWFsbC1idG4ge1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtOyB9IH1cbiAgLmNvbnRlbnQgcC5zbWFsbC1idG4gLmJ0bixcbiAgLmNvbnRlbnQgdWwuc21hbGwtYnRuIC5idG4ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjA2MjVlbTtcbiAgICBwYWRkaW5nLXRvcDogMC4xODc1ZW07XG4gICAgLypcblx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KXtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSgxNCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSgxNCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCovIH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLmNvbnRlbnQgLmJ0bi5iYWNrOmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMC4yNWVtO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMC4zNzVlbTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwLjI1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjY4NzVlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gIC5jb250ZW50IC5idG4uaW50ZXJuOmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjI1ZW07XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAuMzc1ZW07XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMC4yNWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjY4NzVlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gIC5jb250ZW50IC5idG4ub25wYWdlLnVwOmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjM3NWVtO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwLjI1ZW07XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwLjI1ZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLmNvbnRlbnQgLmJ0bi5vbnBhZ2UuZG93bjphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAuMjVlbTtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDAuMjVlbTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwLjM3NWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNWVtOyB9IH1cblxuLmJ0bi5iYWNrIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAuYnRuLmJhY2sge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjY4NzVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmJ0bi5iYWNrIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVlbTsgfSB9XG4gIC5idG4uYmFjazpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tOiAwLjE4NzVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDAuMzEyNWVtIHNvbGlkICMyMTRGNjE7XG4gICAgYm9yZGVyLXRvcDogMC4xODc1ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjEyNWVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAgIC5idG4uYmFjazpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjI1ZW07XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMC4zNzVlbTtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMC4yNWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjEyNWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1ZW07IH0gfVxuXG4uYnRuLm9ucGFnZSwgLmJ0bi5pbnRlcm4ge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAuYnRuLm9ucGFnZSwgLmJ0bi5pbnRlcm4ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC42ODc1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5idG4ub25wYWdlLCAuYnRuLmludGVybiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNWVtOyB9IH1cbiAgLmJ0bi5vbnBhZ2U6YWZ0ZXIsIC5idG4uaW50ZXJuOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogJyc7IH1cblxuLmJ0bi5pbnRlcm46YWZ0ZXIge1xuICBib3JkZXItYm90dG9tOiAwLjE4NzVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDAuMzEyNWVtIHNvbGlkICMyMTRGNjE7XG4gIGJvcmRlci10b3A6IDAuMTg3NWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1ZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAuYnRuLmludGVybjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjI1ZW07XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMC4zNzVlbTtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDAuMjVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMTI1ZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVlbTsgfSB9XG5cbi5idG4ub25wYWdlLnVwOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4zMTI1ZW0gc29saWQgIzIxNEY2MTtcbiAgYm9yZGVyLWxlZnQ6IDAuMTg3NWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDAuMTg3NWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjE4NzVlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgLmJ0bi5vbnBhZ2UudXA6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMC4zNzVlbTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwLjI1ZW07XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDAuMjVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjQzNzVlbTsgfSB9XG5cbi5idG4ub25wYWdlLmRvd246YWZ0ZXIge1xuICBib3JkZXItbGVmdDogMC4xODc1ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMC4xODc1ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDAuMzEyNWVtIHNvbGlkICMyMTRGNjE7XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1ZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgIC5idG4ub25wYWdlLmRvd246YWZ0ZXIge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAuMjVlbTtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMC4yNWVtO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMC4zNzVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjQzNzVlbTsgfSB9XG5cbi5idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjlEM0RGO1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLXRvcDogMC4xMjVlbTtcbiAgcGFkZGluZzogMC4yNWVtIDAuNWVtIDAuMTI1ZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuMjVlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjg3NWVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjY4NzVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjM3NWVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC43NWVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5idG4ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVlbTsgfSB9XG4gIC5idG46YWN0aXZlLCAuYnRuOmZvY3VzLCAuYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODZCNkNEOyB9XG5cbi5pY29uLnVwLmJ0dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaWNvbi51cC5idHQ6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogJyc7IH1cblxuLmljb24udXAuYnR0OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b206IDAuMzEyNWVtIHNvbGlkICMyMTRGNjE7XG4gIGJvcmRlci1sZWZ0OiAwLjE4NzVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjE4NzVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgbWFyZ2luLWJvdHRvbTogMC4xODc1ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAuaWNvbi51cC5idHQ6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDAuMzc1ZW07XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMC4yNWVtO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwLjI1ZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNDM3NWVtOyB9IH1cblxuLmxpbmsudG9wIHtcbiAgcGFkZGluZy1sZWZ0OiAuOGVtOyB9XG4gIC5saW5rLnRvcDphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZmZmZmY7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgIG1hcmdpbi10b3A6IDFweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAubGluay50b3A6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiA3cHg7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiA0cHg7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogNHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMXB4OyB9IH1cbiAgLmxpbmsudG9wOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgd2lkdGg6IDJweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAubGluay50b3A6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAxN3B4OyB9IH1cblxudWwubGlzdCBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAwLjA2MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgIHVsLmxpc3QgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgdWwubGlzdCBsaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE0RjYxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgIG1hcmdpbi10b3A6IC43cmVtO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAgIHVsLmxpc3QgbGk6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogLjdyZW07XG4gICAgICAgIHdpZHRoOiA2cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIHVsLmxpc3QgbGk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjhyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICB1bC5saXN0IGxpOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC45cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgdWwubGlzdCBsaTpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgd2lkdGg6IDhweDsgfSB9XG4gIHVsLmxpc3QgbGkuZG93bmxvYWQ6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbnVsLmxpc3QgbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIHVsLmxpc3QgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgdWwubGlzdCBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuODc1cmVtOyB9IH1cblxudWwuc21hbGwtYnRuIGxpICsgbGkge1xuICBtYXJnaW4tdG9wOiAwLjE4NzVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICB1bC5zbWFsbC1idG4gbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICB1bC5zbWFsbC1idG4gbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjM3NXJlbTsgfSB9XG5cbnVsLm1lbnUtbGlzdCBsaSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgIHVsLm1lbnUtbGlzdCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICB1bC5tZW51LWxpc3QgbGkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1ZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICB1bC5tZW51LWxpc3QgbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogMWVtOyB9IH1cblxudWwubWVudS1saXN0IGxpICsgbGkge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG5kbCBkdCxcbmRsIGRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gIGRsIGR0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDAlOyB9IH1cblxuZGwgZGQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gIGRsIGRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNDAlO1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnRlYXNlci13cmFwcGVyIHtcbiAgICB3aWR0aDogOTAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnRlYXNlci13cmFwcGVyIHtcbiAgICB3aWR0aDogODAlOyB9IH1cblxuKiArIC50ZWFzZXItd3JhcHBlci5yb3cuZnVsbCB7XG4gIHBhZGRpbmctdG9wOiAzcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgKiArIC50ZWFzZXItd3JhcHBlci5yb3cuZnVsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogNHJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAqICsgLnRlYXNlci13cmFwcGVyLnJvdy5mdWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAqICsgLnRlYXNlci13cmFwcGVyLnJvdy5mdWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHJlbTsgfSB9XG5cbi50ZWFzZXIge1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgICAudGVhc2VyIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS44NzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMjcuNWVtKSB7XG4gICAgLnRlYXNlciB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDIuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgLnRlYXNlciB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAyLjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLnRlYXNlciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjI1cmVtIDEuMjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnRlYXNlciB7XG4gICAgICBwYWRkaW5nOiAzLjEyNXJlbSAyLjVyZW0gMi41cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYyLjVlbSkge1xuICAgIC50ZWFzZXIge1xuICAgICAgcGFkZGluZzogMy4xMjVyZW0gMy4xMjVyZW0gMi41cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGVhc2VyIHtcbiAgICAgIHBhZGRpbmc6IDMuNzVyZW0gMi41cmVtIDIuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnRlYXNlciB7XG4gICAgICBwYWRkaW5nOiA0LjM3NXJlbSAyLjgxMjVyZW0gMi44MTI1cmVtOyB9IH1cbiAgLnRlYXNlciBwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgICAudGVhc2VyIHAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAudGVhc2VyIHAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50ZWFzZXIgcCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9IH1cbiAgLnRlYXNlciAudGVhc2VyLWJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4wNjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAyLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgICAgLnRlYXNlciAudGVhc2VyLWJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogMi43NXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4xODc1cmVtO1xuICAgICAgICB3aWR0aDogMi43NXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnRlYXNlciAudGVhc2VyLWJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjE4NzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4zNzVyZW07XG4gICAgICAgIHdpZHRoOiAzLjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50ZWFzZXIgLnRlYXNlci1idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjYyNXJlbTtcbiAgICAgICAgd2lkdGg6IDMuNzVyZW07IH0gfVxuICAgIC50ZWFzZXIgLnRlYXNlci1idXR0b246YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4zMTI1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAuNDM3NXJlbTtcbiAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci10b3A6IDAuMzEyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAgICAgLnRlYXNlciAudGVhc2VyLWJ1dHRvbjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMC4zNzVyZW07XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAuNXJlbTtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwLjM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC50ZWFzZXIgLnRlYXNlci1idXR0b246YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDAuNDM3NXJlbTtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMC41NjI1cmVtO1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDAuNDM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAudGVhc2VyIC50ZWFzZXItYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjU2MjVyZW07XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAuNjg3NXJlbTtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwLjU2MjVyZW07XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9IH1cbiAgICAudGVhc2VyIC50ZWFzZXItYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAzOyB9XG5cbi5ibHVlIC50ZWFzZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGQ0ZFOyB9XG4gIC5ibHVlIC50ZWFzZXIgLnRlYXNlci1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNCOUQzREY7IH1cbiAgICAuYmx1ZSAudGVhc2VyIC50ZWFzZXItYnV0dG9uOmFjdGl2ZSwgLmJsdWUgLnRlYXNlciAudGVhc2VyLWJ1dHRvbjpmb2N1cywgLmJsdWUgLnRlYXNlciAudGVhc2VyLWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODZCNkNEOyB9XG4gICAgLmJsdWUgLnRlYXNlciAudGVhc2VyLWJ1dHRvbjphZnRlciB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzIxNEY2MTsgfVxuXG4ueWVsbG93IC50ZWFzZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQUVCOyB9XG4gIC55ZWxsb3cgLnRlYXNlciAudGVhc2VyLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRTRDQTsgfVxuICAgIC55ZWxsb3cgLnRlYXNlciAudGVhc2VyLWJ1dHRvbjphY3RpdmUsIC55ZWxsb3cgLnRlYXNlciAudGVhc2VyLWJ1dHRvbjpmb2N1cywgLnllbGxvdyAudGVhc2VyIC50ZWFzZXItYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEN0M2OTM7IH1cbiAgICAueWVsbG93IC50ZWFzZXIgLnRlYXNlci1idXR0b246YWZ0ZXIge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMyMTRGNjE7IH1cblxuQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAudGVhc2VyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgIC50ZWFzZXIgLnRlYXNlci1idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bzsgfSB9IH1cblxuLypcblxuQGltcG9ydCBcImNvbXBvbmVudHMvX2Jhc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvb3RlclwiO1xuXG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL19vZmZjYW52YXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL190YWJsZXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19jb250ZW50ZWxlbWVudHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19idXR0b24tbGlua3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19yYXRpb2JveFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvcm1cIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvX3Jlc3BvbnNpdmVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19pbWFnZXNcIjtcblxuKi9cbiIsIlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByZSBzZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblx0JGRlZmF1bHRQeFNpemVWYWx1ZTogMTY7XG5cdCRkZWZhdWx0UHhTaXplOiAxNnB4O1xuXG5cdEBpbXBvcnQgXCJjb21tb24vc2V0dGluZ3MvX3NjdXRcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNhYXMgVG9vbHMgKGltcG9ydGVkIGZyb20gbm9kZV9tb2R1bGVzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXHQvLyBTY3V0OiBTYXNzLUNTUyBVdGl0aWxpZXMgKGh0dHBzOi8vZGF2aWR0aGVjbGFyay5naXRodWIuaW8vc2N1dC8pXG5cdEBpbXBvcnQgJ3NjdXQvZGlzdC9zY3V0JztcblxuXHQvLyBNZWRpYSBRdWVyaWVzIHdpdGggc3VwZXJwb3dlcnMgKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEpXG5cdEBpbXBvcnQgXCJjb21tb24vc2V0dGluZ3MvX2JyZWFrcG9pbnRzXCI7XG5cdEBpbXBvcnQgJ3Nhc3MtbXEvbXEnO1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblx0QGltcG9ydCBcImhlbHBlci9fY2VudGVyLXRoaW5nc1wiO1xuXHRAaW1wb3J0IFwiaGVscGVyL19jbGVhcmZpeFwiO1xuXHRAaW1wb3J0IFwiaGVscGVyL19jb2xvcnNcIjtcblx0QGltcG9ydCBcImhlbHBlci9faGlkZS10aGluZ3NcIjtcblx0QGltcG9ydCBcImhlbHBlci9fcHNldWRvLWVsZW1lbnRzXCI7XG5cdEBpbXBvcnQgXCJoZWxwZXIvX3dvcmRicmVha1wiO1xuXHRAaW1wb3J0IFwiY29tbW9uL19taXhpbnNcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cdEBpbXBvcnQgXCJjb21tb24vc2V0dGluZ3MvX2NvbmZpZ1wiO1xuXHRAaW1wb3J0IFwiY29tbW9uL3NldHRpbmdzL19zaXplc1wiO1xuXHRAaW1wb3J0IFwiY29tbW9uL3NldHRpbmdzL19jb2xvcnNcIjtcblx0QGltcG9ydCBcImNvbW1vbi9ncmlkcy9fY29udGFpbmVyXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cdEBpbXBvcnQgXCJjb21tb24vX25vcm1hbGl6ZVwiO1xuXHRAaW1wb3J0IFwiY29tbW9uL19iYXNlXCI7XG5cdEBpbXBvcnQgXCJjb21tb24vdHlwb2dyYXBoeS9fZGVmYXVsdC10eXBvZ3JhcGh5XCI7XG5cdEBpbXBvcnQgXCJjb21tb24vdHlwb2dyYXBoeS9fZm9udGNvbG9yXCI7XG5cdC8vQGltcG9ydCBcImNvbW1vbi90eXBvZ3JhcGh5L19mb250ZmFjZVwiO1xuXHRAaW1wb3J0IFwiY29tbW9uL3R5cG9ncmFwaHkvX3dlYmZvbnRcIjtcblxuXHRAaW1wb3J0IFwiY29tbW9uL19lZmZlY3RzXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgR3JpZFxuICAgXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cdEBpbXBvcnQgXCJjb21tb24vZ3JpZHMvX2Zsb2F0LWdyaWRcIjtcblx0QGltcG9ydCBcImNvbW1vbi9ncmlkcy9fZmxleC1ncmlkXCI7XG5cdFxuXHQvLyBAaW1wb3J0IFwiY29tbW9uL2dyaWRzL19ncmlkLWdyaWRcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBDb21wb25lbnRzXG4gICBcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblx0QGltcG9ydCBcImNvbXBvbmVudHMvX3NpdGUtaGVhZGVyXCI7XG5cdEBpbXBvcnQgXCJjb21wb25lbnRzL19zaXRlLWZvb3RlclwiO1xuXG5cdEBpbXBvcnQgXCJjb21wb25lbnRzL19zaXRlLW5hdlwiO1xuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9faGVhZGVyXCI7XG5cdEBpbXBvcnQgXCJjb21wb25lbnRzL19icmVhZGNydW1ic1wiO1xuXHRcblx0QGltcG9ydCBcImNvbXBvbmVudHMvX2ltYWdlc1wiO1xuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9fa29udGFrdFwiO1xuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9fcXVvdGVcIjtcblx0Ly9AaW1wb3J0IFwiY29tcG9uZW50cy9fc2VjdGlvbnNcIjtcblxuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzXCI7XG5cdEBpbXBvcnQgXCJjb21wb25lbnRzL19saXN0c1wiO1xuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9fdGVhc2VyXCI7XG5cbi8qXG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL19iYXNlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZ3JpZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mb290ZXJcIjtcblxuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fb2ZmY2FudmFzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdGFibGVzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcmF0aW9ib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mb3JtXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL19yZXNwb25zaXZlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9faW1hZ2VzXCI7XG5cbiovXG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG5cdGJvZHl7XG5cdFx0JjpiZWZvcmV7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHR0b3A6IGF1dG87XG5cdFx0fVxuXHR9XG59XG4iLCJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR0aW5ncyBmb3IgU2FhcyBUb29sICdTY3V0OiBTYXNzLUNTUyBVdGl0aWxpZXMnXG4gICBodHRwczovL2RhdmlkdGhlY2xhcmsuZ2l0aHViLmlvL3NjdXQvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cdCRzY3V0LWVtLWJhc2U6ICRkZWZhdWx0UHhTaXplVmFsdWU7XG4iLCIvKlxuKiBTY3V0LCBhIGNvbGxlY3Rpb24gb2YgU2FzcyB1dGlsaXRpZXNcbiogdG8gZWFzZSBhbmQgaW1wcm92ZSBvdXIgaW1wbGVtZW50YXRpb25zIG9mIGNvbW1vbiBzdHlsZS1jb2RlIHBhdHRlcm5zLlxuKiB2MS40LjRcbiogRG9jcyBhdCBodHRwOi8vcmFtc2V5aW5ob3VzZS5naXRodWIuaW8vc2N1dFxuKi9cblxuQG1peGluIHNjdXQtY2xlYXJmaXgge1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxufVxuXG4lc2N1dC1jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIHNjdXQtY2xlYXJmaXg7XG59XG5AbWl4aW4gc2N1dC1saXN0LXVuc3R5bGVkKFxuICAkbm8tbWFyZ2luOiB0cnVlXG4pIHtcblxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICBAaWYgJG5vLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbn1cblxuJXNjdXQtbGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIHNjdXQtbGlzdC11bnN0eWxlZCgpO1xufVxuLy8gRGVwZW5kcyBvbiBgbGlzdC11bnN0eWxlZGAgYW5kIGBjbGVhcmZpeGAuXG5cbkBtaXhpbiBzY3V0LWxpc3QtZmxvYXRlZCAoXG4gICRzcGFjZTogZmFsc2UsXG4gICRkaXI6IGxlZnQsXG4gICRuby1tYXJnaW46IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIHNjdXQtbGlzdC11bnN0eWxlZCgkbm8tbWFyZ2luKTtcbiAgQGluY2x1ZGUgc2N1dC1jbGVhcmZpeDtcblxuICAmID4gbGkge1xuICAgIGZsb2F0OiAkZGlyO1xuICB9XG5cbiAgQGlmICRzcGFjZSB7XG4gICAgJiA+IGxpICsgbGkge1xuICAgICAgbWFyZ2luLSN7JGRpcn06ICRzcGFjZTtcbiAgICB9XG4gIH1cblxufVxuXG4lc2N1dC1saXN0LWZsb2F0ZWQge1xuICBAaW5jbHVkZSBzY3V0LWxpc3QtZmxvYXRlZDtcbn1cblxuQGZ1bmN0aW9uIHNjdXQtYXV0b09yVmFsdWUgKCR2YWwpIHtcbiAgQGlmICR2YWwgPT0gYSBvciAkdmFsID09IGF1dG8ge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkdmFsO1xuICB9XG59XG5cbkBtaXhpbiBzY3V0LWNvb3JkcyAoXG4gICRjb29yZGluYXRlczogbiBuIG4gblxuKSB7XG5cbiAgJHRvcDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICRyaWdodDogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAkbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCk7XG5cbiAgQGlmICR0b3AgIT0gbiB7XG4gICAgdG9wOiBzY3V0LWF1dG9PclZhbHVlKCR0b3ApO1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbiB7XG4gICAgcmlnaHQ6IHNjdXQtYXV0b09yVmFsdWUoJHJpZ2h0KTtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBuIHtcbiAgICBib3R0b206IHNjdXQtYXV0b09yVmFsdWUoJGJvdHRvbSk7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG4ge1xuICAgIGxlZnQ6IHNjdXQtYXV0b09yVmFsdWUoJGxlZnQpO1xuICB9XG5cbn1cbkBmdW5jdGlvbiBzY3V0LXN0cmlwLXVuaXQgKFxuICAkbnVtXG4pIHtcblxuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcblxufVxuLy8gRGVwZW5kcyBvbiBgc2N1dC1zdHJpcC11bml0YC5cblxuJHNjdXQtZW0tYmFzZTogMTYgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzY3V0LWVtIChcbiAgJHBpeGVscyxcbiAgJGJhc2U6ICRzY3V0LWVtLWJhc2Vcbikge1xuXG4gIC8vICRiYXNlIGNvdWxkIGJlIGluIGVtIG9yIHB4IChubyB1bml0ID0gcHgpLlxuICAvLyBBZGp1c3QgYWNjb3JkaW5nbHkgdG8gY3JlYXRlIGEgJGRpdmlzb3IgdGhhdFxuICAvLyBzZXJ2ZXMgYXMgY29udGV4dCBmb3IgJHBpeGVscy5cbiAgJG11bHRpcGxpZXI6IGlmKHVuaXQoJGJhc2UpID09IGVtLCAxNiwgMSk7XG4gICRkaXZpc29yOiBzY3V0LXN0cmlwLXVuaXQoJGJhc2UpICogJG11bHRpcGxpZXI7XG5cbiAgJGVtLXZhbHM6ICgpO1xuICBAZWFjaCAkdmFsIGluICRwaXhlbHMge1xuICAgICR2YWwtaW4tZW1zOiAoc2N1dC1zdHJpcC11bml0KCR2YWwpIC8gJGRpdmlzb3IpICogMWVtO1xuICAgICRlbS12YWxzOiBhcHBlbmQoJGVtLXZhbHMsICR2YWwtaW4tZW1zKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJGVtLXZhbHMpID09IDEge1xuICAgIC8vIHJldHVybiBhIHNpbmdsZSB2YWx1ZSBpbnN0ZWFkIG9mIGEgbGlzdCxcbiAgICAvLyBzbyBpdCBjYW4gYmUgdXNlZCBpbiBjYWxjdWxhdGlvbnNcbiAgICBAcmV0dXJuIG50aCgkZW0tdmFscywgMSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGVtLXZhbHM7XG4gIH1cblxufVxuLy8gRGVwZW5kcyBvbiBgc2N1dC1zdHJpcC11bml0YC5cblxuJHNjdXQtcmVtLWJhc2U6IDE2ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2N1dC1yZW0gKFxuICAkcGl4ZWxzXG4pIHtcblxuICAkcmVtLXZhbHM6ICgpO1xuICBAZWFjaCAkdmFsIGluICRwaXhlbHMge1xuICAgICR2YWwtaW4tcmVtczogc2N1dC1zdHJpcC11bml0KCR2YWwpIC8gJHNjdXQtcmVtLWJhc2UgKiAxcmVtO1xuICAgICRyZW0tdmFsczogYXBwZW5kKCRyZW0tdmFscywgJHZhbC1pbi1yZW1zKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHJlbS12YWxzKSA9PSAxIHtcbiAgICAvLyByZXR1cm4gYSBzaW5nbGUgdmFsdWUgaW5zdGVhZCBvZiBhIGxpc3QsXG4gICAgLy8gc28gaXQgY2FuIGJlIHVzZWQgaW4gY2FsY3VsYXRpb25zXG4gICAgQHJldHVybiBudGgoJHJlbS12YWxzLCAxKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkcmVtLXZhbHM7XG4gIH1cblxufVxuQG1peGluIHNjdXQtYm9yZGVyIChcbiAgJHN0eWxlLFxuICAkc2lkZXM6IG4geVxuKSB7XG5cbiAgQGlmIGxlbmd0aCgkc2lkZXMpID09IDIge1xuICAgIEBpZiBudGgoJHNpZGVzLCAxKSAhPSBuIHtcbiAgICAgIGJvcmRlci10b3A6ICRzdHlsZTtcbiAgICAgIGJvcmRlci1ib3R0b206ICRzdHlsZTtcbiAgICB9XG4gICAgQGlmIG50aCgkc2lkZXMsIDIpICE9IG4ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICRzdHlsZTtcbiAgICAgIGJvcmRlci1yaWdodDogJHN0eWxlO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIGxlbmd0aCgkc2lkZXMpID09IDQge1xuICAgIEBpZiBudGgoJHNpZGVzLCAxKSAhPSBuIHtcbiAgICAgIGJvcmRlci10b3A6ICRzdHlsZTtcbiAgICB9XG4gICAgQGlmIG50aCgkc2lkZXMsIDIpICE9IG4ge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkc3R5bGU7XG4gICAgfVxuICAgIEBpZiBudGgoJHNpZGVzLCAzKSAhPSBuIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRzdHlsZTtcbiAgICB9XG4gICAgQGlmIG50aCgkc2lkZXMsIDQpICE9IG4ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICRzdHlsZTtcbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJTY3V0LWJvcmRlciByZXF1aXJlcyBhICRzaWRlcyBhcmd1bWVudCBvZiAyIG9yIDQgdmFsdWVzLlwiXG4gIH1cblxufVxuQG1peGluIHNjdXQtY2lyY2xlIChcbiAgJHNpemUsXG4gICRjb2xvcjogaW5oZXJpdFxuKSB7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQGlmICRjb2xvciA9PSBpbmhlcml0IHtcbiAgICAvLyBJZiB1c2VyIHdhbnRzIHRvIGluaGVyaXQgdGhlIGNvbG9yLFxuICAgIC8vIHRha2UgYWR2YW50YWdlIG9mIHRoZSBmYWN0IHRoYXQgYm9yZGVyXG4gICAgLy8gY29sb3IgZGVmYXVsdHMgdG8gdGhlIHRleHQgY29sb3Igb2YgdGhlIGVsZW1lbnQuXG4gICAgYm9yZGVyLXdpZHRoOiAkc2l6ZSAqIDAuNTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gT3RoZXJ3aXNlLCBqdXN0IHVzZSBiYWNrZ3JvdW5kLWNvbG9yLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuXG59XG5AbWl4aW4gc2N1dC1jb2xvci1zd2FwIChcbiAgJG9mZixcbiAgJG9uLFxuICAkZHVyYXRpb246IDAsXG4gICRiZzogZmFsc2Vcbikge1xuXG4gICR0cmFuc2l0aW9uLXByb3BlcnRpZXM6IG51bGw7XG4gICRvZmYtaXMtbGlzdDogdHlwZS1vZigkb2ZmKSA9PSBsaXN0O1xuICAkb24taXMtbGlzdDogdHlwZS1vZigkb24pID09IGxpc3Q7XG5cbiAgLy8gSWYgJG9mZiBJUyBhIGxpc3QsXG4gIC8vIGFzc2lnbiBjb2xvciBhbmQgYmFja2dyb3VuZC1jb2xvci5cbiAgQGlmICRvZmYtaXMtbGlzdCB7XG4gICAgY29sb3I6IG50aCgkb2ZmLCAxKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBudGgoJG9mZiwgMik7XG4gICAgJHRyYW5zaXRpb24tcHJvcGVydGllczogYmFja2dyb3VuZC1jb2xvciwgY29sb3I7XG4gIH1cblxuICAvLyBJZiAkb2ZmIElTIE5PVCBhIGxpc3QgYW5kICRiZyBpcyBUUlVFLFxuICAvLyBhc3NpZ24gYmFja2dyb3VuZC1jb2xvci5cbiAgQGVsc2UgaWYgJGJnIGFuZCBub3QoJG9mZi1pcy1saXN0KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZjtcbiAgICAkdHJhbnNpdGlvbi1wcm9wZXJ0aWVzOiBiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgLy8gSWYgJG9mZiBJUyBOT1QgYSBsaXN0IGFuZCAkYmcgaXMgRkFMU0UsXG4gIC8vIGFzc2lnbiBjb2xvci5cbiAgQGVsc2Uge1xuICAgIGNvbG9yOiAkb2ZmO1xuICAgICR0cmFuc2l0aW9uLXByb3BlcnRpZXM6IGNvbG9yO1xuICB9XG5cbiAgLy8gT25seSBzZXQtdXAgdHJhbnNpdGlvbiBpZiAkZHVyYXRpb24gIT0gMC5cbiAgQGlmICRkdXJhdGlvbiAhPSAwIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0aWVzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuXG4gICAgLy8gJG9uIGlzIHRyZWF0ZWQgdGhlIHNhbWUgYXMgJG9mZiwgYWJvdmUuXG4gICAgQGlmICRvbi1pcy1saXN0IHtcbiAgICAgIGNvbG9yOiBudGgoJG9uLCAxKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG50aCgkb24sIDIpO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICRiZyBhbmQgbm90KCRvbi1pcy1saXN0KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb247XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgY29sb3I6ICRvbjtcbiAgICB9XG4gIH1cblxufVxuQG1peGluIHNjdXQtaGQtYnAgKFxuICAkcmF0aW86IDEuM1xuKSB7XG5cbiAgQG1lZGlhICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAoJHJhdGlvIC8gMSkpLFxuICAgICAgICAgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgICAgICAgIChtaW4tcmVzb2x1dGlvbjogKHJvdW5kKDk2ICogJHJhdGlvKSAqIDFkcGkpKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxufVxuXG5AbWl4aW4gc2N1dC1oaWRlLXZpc3VhbGx5IHtcblxuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcblxufVxuXG4lc2N1dC1oaWRlLXZpc3VhbGx5IHtcbiAgQGluY2x1ZGUgc2N1dC1oaWRlLXZpc3VhbGx5O1xufVxuQG1peGluIHNjdXQtaW1hZ2UtcmVwbGFjZSB7XG5cbiAgdGV4dC1pbmRlbnQ6IDEwMiU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG5cbn1cblxuJXNjdXQtaW1hZ2UtcmVwbGFjZSB7XG4gIEBpbmNsdWRlIHNjdXQtaW1hZ2UtcmVwbGFjZTtcbn1cblxuLy8gRGVwZW5kcyBvbiBzY3V0LXJlbSBhbmQgc2N1dC1zdHJpcC11bml0XG5cbkBtaXhpbiBzY3V0LXJlbS1mYWxsYmFjayAoXG4gICRwaXhlbHMsXG4gICRwcm9wZXJ0eTogZm9udC1zaXplXG4pIHtcblxuICAkcHgtdmFsczogbnVsbDtcbiAgQGVhY2ggJHZhbCBpbiAkcGl4ZWxzIHtcbiAgICAkdmFsLWluLXB4OiBzY3V0LXN0cmlwLXVuaXQoJHZhbCkgKiAxcHg7XG4gICAgJHB4LXZhbHM6IGFwcGVuZCgkcHgtdmFscywgJHZhbC1pbi1weCk7XG4gIH1cbiAgJHJlbS12YWxzOiBzY3V0LXJlbSgkcGl4ZWxzKTtcblxuICAjeyRwcm9wZXJ0eX06ICRweC12YWxzO1xuICAjeyRwcm9wZXJ0eX06ICRyZW0tdmFscztcblxufVxuQG1peGluIHNjdXQtcmVzZXQtYm9yZGVyLWJveCB7XG4gIC8vIE1ha2UgZXZlcnl0aGluZyBhIGJvcmRlci1ib3gsIGJlY2F1c2Ugd2h5IG5vdD9cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAqLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1hbnRpYWxpYXMge1xuICAvLyBBbnRpYWxpYXMhXG4gIGJvZHkge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB9XG4gICosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBpbmhlcml0O1xuICB9XG59XG5cbkBtaXhpbiBzY3V0LXJlc2V0LXNlbWFudGljaXplIHtcbiAgLy8gTWFrZSBoZWFkZXJzIGFuZCA8Yj4gc2VtYW50aWMsIG5vdCBwcmVzZW50YXRpb25hbC5cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1wb2ludGVyIHtcbiAgLy8gQ2xpY2thYmxlIGZvcm0gZWxlbWVudHMgc2hvdWxkIGhhdmUgYSBwb2ludGVyLlxuICBsYWJlbCxcbiAgc2VsZWN0LFxuICBvcHRpb24sXG4gIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbkBtaXhpbiBzY3V0LXJlc2V0LWZvcm0ge1xuICBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIHRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICB9XG59XG5cbkBtaXhpbiBzY3V0LXJlc2V0LWJ1dHRvbiB7XG4gIC8vIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxlcywgd2hpY2ggYXJlIG5ldmVyIHVzZWQuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdLFxuICBbdHlwZT1cInJlc2V0XCJdIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzY3V0LXJlc2V0LXBhcmFncmFwaCB7XG4gIC8vIFNvbWUgcGFyYWdyYXBoIG1hcmdpbnMganVzdCBnZXQgaW4gdGhlIHdheS5cbiAgcDpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIHA6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBzY3V0LXJlc2V0LW1lZGlhIHtcbiAgLy8gWW91IHdhbnQgdGhlc2UgZWxlbWVudHMgZmx1aWQsIHByb2JhYmx5LlxuICBpbWcsXG4gIHZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiBzY3V0LXJlc2V0LWZpZ3VyZSB7XG4gIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbnMuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8vIENhbGwgdGhlbSBhbGwsIG1pbnVzIGV4Y2x1c2lvbnMhXG5AbWl4aW4gc2N1dC1yZXNldCAoJGV4Y2x1ZGU6IGZhbHNlKSB7XG4gIEBpZiBub3QoaW5kZXgoJGV4Y2x1ZGUsIGJvcmRlci1ib3gpKSB7XG4gICAgQGluY2x1ZGUgc2N1dC1yZXNldC1ib3JkZXItYm94O1xuICB9XG4gIEBpZiBub3QoaW5kZXgoJGV4Y2x1ZGUsIGFudGlhbGlhcykpIHtcbiAgICBAaW5jbHVkZSBzY3V0LXJlc2V0LWFudGlhbGlhcztcbiAgfVxuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBzZW1hbnRpY2l6ZSkpIHtcbiAgICBAaW5jbHVkZSBzY3V0LXJlc2V0LXNlbWFudGljaXplO1xuICB9XG4gIEBpZiBub3QoaW5kZXgoJGV4Y2x1ZGUsIHBvaW50ZXIpKSB7XG4gICAgQGluY2x1ZGUgc2N1dC1yZXNldC1wb2ludGVyO1xuICB9XG4gIEBpZiBub3QoaW5kZXgoJGV4Y2x1ZGUsIGZvcm0pKSB7XG4gICAgQGluY2x1ZGUgc2N1dC1yZXNldC1mb3JtO1xuICB9XG4gIEBpZiBub3QoaW5kZXgoJGV4Y2x1ZGUsIGJ1dHRvbikpIHtcbiAgICBAaW5jbHVkZSBzY3V0LXJlc2V0LWJ1dHRvbjtcbiAgfVxuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBwYXJhZ3JhcGgpKSB7XG4gICAgQGluY2x1ZGUgc2N1dC1yZXNldC1wYXJhZ3JhcGg7XG4gIH1cbiAgQGlmIG5vdChpbmRleCgkZXhjbHVkZSwgbWVkaWEpKSB7XG4gICAgQGluY2x1ZGUgc2N1dC1yZXNldC1tZWRpYTtcbiAgfVxuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBmaWd1cmUpKSB7XG4gICAgQGluY2x1ZGUgc2N1dC1yZXNldC1maWd1cmU7XG4gIH1cbn1cblxuQG1peGluIHNjdXQtc2VsZWN0ZWQgKFxuICAkYWN0aXZlOiBmYWxzZVxuKSB7XG5cbiAgQGlmICRhY3RpdmUge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxufVxuQG1peGluIHNjdXQtdHJpYW5nbGUgKFxuICAkZGlyZWN0aW9uOiByaWdodCxcbiAgJHNpemU6IDAuNzVlbSxcbiAgJGNvbG9yOiBpbmhlcml0XG4pIHtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIC8vIEZvciBpbXByb3ZlZCBhcHBlYXJhbmNlIGluIHNvbWUgV2Via2l0IGJyb3dzZXJzXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblxuICAvLyBTZXQgdXAgc29tZSB2YXJpYWJsZXNcbiAgJHdpZHRoOiBudWxsO1xuICAkaGVpZ2h0OiBudWxsO1xuICAkYm9yZGVyLXdpZHRoczogbnVsbDtcblxuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gbGlzdCB7XG4gICAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAgICRoZWlnaHQ6IG50aCgkc2l6ZSwgMik7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR3aWR0aDogJHNpemU7XG4gICAgJGhlaWdodDogJHNpemU7XG4gIH1cblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICAvLyBGb3IgdXAgYW5kIGRvd24sIHdpZHRoIGdldHMgdHdvIGJvcmRlcnMgYnV0IGhlaWdodCBvbmx5IG9uZSxcbiAgICAvLyBzbyBkaXZpZGUgc2Vjb25kIGJvcmRlci13aWR0aCB2YWx1ZSBieSAyXG4gICAgJGJvcmRlci13aWR0aHM6ICRoZWlnaHQgKCR3aWR0aCAqIDAuNSk7XG4gIH1cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAvLyBGb3IgcmlnaHQgYW5kIGxlZnQsIGhlaWdodCBnZXRzIHR3byBib3JkZXJzIGJ1dCB3aWR0aCBvbmx5IG9uZSxcbiAgICAvLyBzbyBkaXZpZGUgZmlyc3QgYm9yZGVyLXdpZHRoIHZhbHVlIGJ5IDJcbiAgICAkYm9yZGVyLXdpZHRoczogKCRoZWlnaHQgKiAwLjUpICR3aWR0aDtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIHJpZ2h0IHRyaWFuZ2xlcyAodGhlIHJlc3QpLCBib3RoIHNpZGVzIGdldCB0d28gYm9yZGVycyxcbiAgICAvLyBzbyBkaXZpZGUgYm90aCBieSAyXG4gICAgJGJvcmRlci13aWR0aHM6ICgkaGVpZ2h0ICogMC41KSAoJHdpZHRoICogMC41KTtcbiAgfVxuXG4gIGJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aHM7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG5cblxuICAvLyBTVEFOREFSRCBUUklBTkdMRVNcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuXG4gIC8vIENPUk5FUiBUUklBTkdMRVNcblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB0b3AtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHRvcC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZiAkZGlyZWN0aW9uID09IHRvcC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB0b3AtbGVmdCB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBib3R0b20tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGJvdHRvbS1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgIEBpZiAkZGlyZWN0aW9uID09IGJvdHRvbS1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBib3R0b20tbGVmdCB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxufVxuXG4lc2N1dC10cmlhbmdsZSB7XG4gIEBpbmNsdWRlIHNjdXQtdHJpYW5nbGU7XG59XG5AbWl4aW4gc2N1dC1jZW50ZXItYWJzb2x1dGVseSAoXG4gICRkaW1lbnNpb25zXG4pIHtcblxuICAkd2lkdGg6IG50aCgkZGltZW5zaW9ucywgMSk7XG4gICRoZWlnaHQ6IG50aCgkZGltZW5zaW9ucywgMik7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIEBpZiAkd2lkdGggIT0gbiB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6ICgtJHdpZHRoICogMC41KTtcbiAgfVxuXG4gIEBpZiAkaGVpZ2h0ICE9IG4ge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAoLSRoZWlnaHQgKiAwLjUpO1xuICB9XG5cbn1cbkBtaXhpbiBzY3V0LWNlbnRlci1ibG9jayAoXG4gICRtYXgtd2lkdGg6IGZhbHNlXG4pIHtcblxuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBAaWYgJG1heC13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG5cbn1cblxuJXNjdXQtY2VudGVyLWJsb2NrIHtcbiAgQGluY2x1ZGUgc2N1dC1jZW50ZXItYmxvY2s7XG59XG5cbkBtaXhpbiBzY3V0LWNlbnRlci10cmFuc2Zvcm0gKFxuICAkYXhpczogZmFsc2UgLy8gb3IgeCBvciB5XG4pIHtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgQGlmICRheGlzICE9IHgge1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgfVxuXG4gIEBpZiAkYXhpcyAhPSB5IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJHRyYW5zbGF0ZS12YWw6IG51bGw7XG5cbiAgQGlmIG5vdCgkYXhpcykge1xuICAgICR0cmFuc2xhdGUtdmFsOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cbiAgQGVsc2UgaWYgJGF4aXMgIT0geCB7XG4gICAgJHRyYW5zbGF0ZS12YWw6IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbiAgQGVsc2UgaWYgJGF4aXMgIT0geSB7XG4gICAgJHRyYW5zbGF0ZS12YWw6IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zbGF0ZS12YWw7XG4gIC1tcy10cmFuc2Zvcm06ICR0cmFuc2xhdGUtdmFsO1xuICB0cmFuc2Zvcm06ICR0cmFuc2xhdGUtdmFsO1xufVxuXG4lc2N1dC1jZW50ZXItdHJhbnNmb3JtIHtcbiAgQGluY2x1ZGUgc2N1dC1jZW50ZXItdHJhbnNmb3JtO1xufVxuXG4lc2N1dC1jZW50ZXItdHJhbnNmb3JtLXgge1xuICBAaW5jbHVkZSBzY3V0LWNlbnRlci10cmFuc2Zvcm0oeCk7XG59XG5cbiVzY3V0LWNlbnRlci10cmFuc2Zvcm0teSB7XG4gIEBpbmNsdWRlIHNjdXQtY2VudGVyLXRyYW5zZm9ybSh5KTtcbn1cblxuQG1peGluIHNjdXQtZmlsbCAoXG4gICR3aWR0aC1oZWlnaHQ6IGZhbHNlXG4pIHtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgQGlmICR3aWR0aC1oZWlnaHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbn1cblxuJXNjdXQtZmlsbCB7XG4gIEBpbmNsdWRlIHNjdXQtZmlsbDtcbn1cbkBtaXhpbiBzY3V0LWxpc3QtY3VzdG9tIChcbiAgJGNvbnRlbnQ6IFwiXFwyMDIyXCIsXG4gICRtYXJrZXItd2lkdGg6IDAuNzVlbSxcbiAgJHBhZDogMCxcbiAgJG5vLW1hcmdpbjogZmFsc2Vcbikge1xuXG4gICRjb250ZW50LXZhbDogbnVsbDtcbiAgJGNvdW50ZXI6IGluZGV4KCRjb250ZW50LCBjb3VudCk7XG4gIEBpZiAkY291bnRlciB7XG4gICAgQGlmIGxlbmd0aCgkY29udGVudCkgPT0gMyB7XG4gICAgICAkY29udGVudC12YWw6IGNvdW50ZXIoc2N1dGxpc3Rjb3VudGVyLCBudGgoJGNvbnRlbnQsIDMpKW50aCgkY29udGVudCwyKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbGVuZ3RoKCRjb250ZW50KSA9PSAyIHtcbiAgICAgICRjb250ZW50LXZhbDogY291bnRlcihzY3V0bGlzdGNvdW50ZXIpbnRoKCRjb250ZW50LDIpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkY29udGVudC12YWw6IGNvdW50ZXIoc2N1dGxpc3Rjb3VudGVyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICRjb250ZW50LXZhbDogJGNvbnRlbnQ7XG4gIH1cblxuICBwYWRkaW5nLWxlZnQ6ICRtYXJrZXItd2lkdGggKyAkcGFkO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQGlmICRuby1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpZiAkY291bnRlciB7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogc2N1dGxpc3Rjb3VudGVyO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY29udGVudC12YWw7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IC0kbWFya2VyLXdpZHRoO1xuICAgICAgd2lkdGg6ICRtYXJrZXItd2lkdGg7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxufVxuLy8gRGVwZW5kcyBvbiBgbGlzdC1mbG9hdGVkYCwgd2hpY2ggZGVwZW5kcyBpbiB0dXJuIG9uIGBsaXN0LXVuc3R5bGVkYCBhbmQgYGNsZWFyZml4YC5cblxuQG1peGluIHNjdXQtbGlzdC1kaXZpZGVkIChcbiAgJGRpdmlkZXI6IFwifFwiLFxuICAkc3BhY2U6IDAuNWVtLFxuICAkZGlyOiBsZWZ0LFxuICAkaGVpZ2h0OiBmYWxzZSxcbiAgJG5vLW1hcmdpbjogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgc2N1dC1saXN0LWZsb2F0ZWQoJGRpcjogJGRpciwgJG5vLW1hcmdpbjogJG5vLW1hcmdpbik7XG5cbiAgJHBzZXVkbzogaWYoJGRpciA9PSBsZWZ0LCAnYmVmb3JlJywgJ2FmdGVyJyk7XG5cbiAgLy8gSWYgYW4gZXhwbGljaXQgaGVpZ2h0IGlzIHBhc3NlZCxcbiAgLy8gdGhpbmdzIGFyZSBkaWZmZXJlbnQ6IEFsbCA8bGk+c1xuICAvLyBuZWVkIHRoZSBwc2V1ZG8tZWxlbWVudCAodG8gZm9yY2UgaGVpZ2h0KSxcbiAgLy8gYnV0IHRoZSBmaXJzdCdzIG11c3QgYmUgaGlkZGVuLlxuXG4gIEBpZiAkaGVpZ2h0IHtcbiAgICAmID4gbGkge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgICAmID4gbGk6I3skcHNldWRvfSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBjb250ZW50OiAkZGl2aWRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gICAgJiA+IGxpOmZpcnN0LWNoaWxkOiN7JHBzZXVkb30ge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gICYgPiBsaSArIGxpOiN7JHBzZXVkb30ge1xuICAgIEBpZiBub3QoJGhlaWdodCkge1xuICAgICAgY29udGVudDogJGRpdmlkZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjZTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZTtcbiAgfVxuXG59XG5cbiVzY3V0LWxpc3QtYmFyIHtcbiAgQGluY2x1ZGUgc2N1dC1saXN0LWRpdmlkZWQ7XG59XG5cbiVzY3V0LWxpc3QtYnJlYWRjcnVtYiB7XG4gIEBpbmNsdWRlIHNjdXQtbGlzdC1kaXZpZGVkKFwiL1wiKTtcbn1cbi8vIERlcGVuZHMgb24gYGxpc3QtdW5zdHlsZWRgLlxuXG5AbWl4aW4gc2N1dC1saXN0LWlubGluZSAoXG4gICRzcGFjZTogZmFsc2UsXG4gICRuby1tYXJnaW46IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIHNjdXQtbGlzdC11bnN0eWxlZCgkbm8tbWFyZ2luKTtcblxuICAmID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIEBpZiAkc3BhY2Uge1xuICAgICYgPiBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2U7XG4gICAgfVxuICB9XG5cbn1cblxuJXNjdXQtbGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBzY3V0LWxpc3QtaW5saW5lO1xufVxuLy8gRGVwZW5kcyBvbiBgbGlzdC11bnN0eWxlZGAuXG5cbkBtaXhpbiBzY3V0LWxpc3QtcHVuY3R1YXRlZCAoXG4gICRkaXZpZGVyOiBcIiwgXCIsXG4gICRkaXNwbGF5OiBpbmxpbmUsXG4gICRuby1tYXJnaW46IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIHNjdXQtbGlzdC11bnN0eWxlZCgkbm8tbWFyZ2luKTtcblxuICAmID4gbGkge1xuICAgIGRpc3BsYXk6ICRkaXNwbGF5O1xuICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICBjb250ZW50OiAkZGl2aWRlcjtcbiAgICB9XG4gIH1cblxufVxuXG4lc2N1dC1saXN0LWNvbW1hIHtcbiAgQGluY2x1ZGUgc2N1dC1saXN0LXB1bmN0dWF0ZWQ7XG59XG5AbWl4aW4gc2N1dC1tYXJnaW4gKFxuICAkbWFyZ2luXG4pIHtcblxuICBAaWYgbGVuZ3RoKCRtYXJnaW4pID09IDEgYW5kICRtYXJnaW4gIT0gbiB7XG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbjtcbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJG1hcmdpbikgPT0gMiB7XG4gICAgJG1hcmdpbi15OiBudGgoJG1hcmdpbiwgMSk7XG4gICAgJG1hcmdpbi14OiBudGgoJG1hcmdpbiwgMik7XG4gICAgQGlmICRtYXJnaW4teSAhPSBuIHtcbiAgICAgIG1hcmdpbi10b3A6ICRtYXJnaW4teTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4teTtcbiAgICB9XG4gICAgQGlmICRtYXJnaW4teCAhPSBuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4teDtcbiAgICB9XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRtYXJnaW4pID09IDMge1xuICAgICRtYXJnaW4teS10b3A6IG50aCgkbWFyZ2luLCAxKTtcbiAgICAkbWFyZ2luLXg6IG50aCgkbWFyZ2luLCAyKTtcbiAgICAkbWFyZ2luLXktYm90dG9tOiBudGgoJG1hcmdpbiwgMyk7XG4gICAgQGlmICRtYXJnaW4teS10b3AgIT0gbiB7XG4gICAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXktdG9wO1xuICAgIH1cbiAgICBAaWYgJG1hcmdpbi14ICE9IG4ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbi14O1xuICAgIH1cbiAgICBAaWYgJG1hcmdpbi15LWJvdHRvbSAhPSBuIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4teS1ib3R0b207XG4gICAgfVxuICB9XG5cbiAgQGlmIGxlbmd0aCgkbWFyZ2luKSA9PSA0IHtcbiAgICAkbWFyZ2luLXRvcDogbnRoKCRtYXJnaW4sIDEpO1xuICAgICRtYXJnaW4tcmlnaHQ6IG50aCgkbWFyZ2luLCAyKTtcbiAgICAkbWFyZ2luLWJvdHRvbTogbnRoKCRtYXJnaW4sIDMpO1xuICAgICRtYXJnaW4tbGVmdDogbnRoKCRtYXJnaW4sIDQpO1xuICAgIEBpZiAkbWFyZ2luLXRvcCAhPSBuIHtcbiAgICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIH1cbiAgICBAaWYgJG1hcmdpbi1yaWdodCAhPSBuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbi1yaWdodDtcbiAgICB9XG4gICAgQGlmICRtYXJnaW4tYm90dG9tICE9IG4ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG4gICAgfVxuICAgIEBpZiAkbWFyZ2luLWxlZnQgIT0gbiB7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbi1sZWZ0O1xuICAgIH1cbiAgfVxuXG59XG5AbWl4aW4gc2N1dC1wYWRkaW5nIChcbiAgJHBhZGRpbmdcbikge1xuXG4gIEBpZiBsZW5ndGgoJHBhZGRpbmcpID09IDEgYW5kICRwYWRkaW5nICE9IG4ge1xuICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHBhZGRpbmcpID09IDIge1xuICAgICRwYWRkaW5nLXk6IG50aCgkcGFkZGluZywgMSk7XG4gICAgJHBhZGRpbmcteDogbnRoKCRwYWRkaW5nLCAyKTtcbiAgICBAaWYgJHBhZGRpbmcteSAhPSBuIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy15O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLXk7XG4gICAgfVxuICAgIEBpZiAkcGFkZGluZy14ICE9IG4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy14O1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteDtcbiAgICB9XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRwYWRkaW5nKSA9PSAzIHtcbiAgICAkcGFkZGluZy15LXRvcDogbnRoKCRwYWRkaW5nLCAxKTtcbiAgICAkcGFkZGluZy14OiBudGgoJHBhZGRpbmcsIDIpO1xuICAgICRwYWRkaW5nLXktYm90dG9tOiBudGgoJHBhZGRpbmcsIDMpO1xuICAgIEBpZiAkcGFkZGluZy15LXRvcCAhPSBuIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy15LXRvcDtcbiAgICB9XG4gICAgQGlmICRwYWRkaW5nLXggIT0gbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14O1xuICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy14O1xuICAgIH1cbiAgICBAaWYgJHBhZGRpbmcteS1ib3R0b20gIT0gbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcteS1ib3R0b207XG4gICAgfVxuICB9XG5cbiAgQGlmIGxlbmd0aCgkcGFkZGluZykgPT0gNCB7XG4gICAgJHBhZGRpbmctdG9wOiBudGgoJHBhZGRpbmcsIDEpO1xuICAgICRwYWRkaW5nLXJpZ2h0OiBudGgoJHBhZGRpbmcsIDIpO1xuICAgICRwYWRkaW5nLWJvdHRvbTogbnRoKCRwYWRkaW5nLCAzKTtcbiAgICAkcGFkZGluZy1sZWZ0OiBudGgoJHBhZGRpbmcsIDQpO1xuICAgIEBpZiAkcGFkZGluZy10b3AgIT0gbiB7XG4gICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmctdG9wO1xuICAgIH1cbiAgICBAaWYgJHBhZGRpbmctcmlnaHQgIT0gbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy1yaWdodDtcbiAgICB9XG4gICAgQGlmICRwYWRkaW5nLWJvdHRvbSAhPSBuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1ib3R0b207XG4gICAgfVxuICAgIEBpZiAkcGFkZGluZy1sZWZ0ICE9IG4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy1sZWZ0O1xuICAgIH1cbiAgfVxufVxuLy8gRGVwZW5kcyBvbiBgcG9zaXRpb25pbmctY29vcmRpbmF0ZXNgLlxuXG5AbWl4aW4gc2N1dC1hYnNvbHV0ZSAoXG4gICRjb29yZGluYXRlczogMCBuIG4gMFxuKSB7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBAaW5jbHVkZSBzY3V0LWNvb3JkcygkY29vcmRpbmF0ZXMpO1xuXG59XG5cbiVzY3V0LWFic29sdXRlIHtcbiAgQGluY2x1ZGUgc2N1dC1hYnNvbHV0ZTtcbn1cbi8vIERlcGVuZHMgb24gYHBvc2l0aW9uaW5nLWNvb3JkaW5hdGVzYC5cblxuQG1peGluIHNjdXQtZml4ZWQgKFxuICAkY29vcmRpbmF0ZXM6IDAgbiBuIDBcbikge1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgQGluY2x1ZGUgc2N1dC1jb29yZHMoJGNvb3JkaW5hdGVzKTtcblxufVxuXG4lc2N1dC1maXhlZCB7XG4gIEBpbmNsdWRlIHNjdXQtZml4ZWQ7XG59XG4vLyBEZXBlbmRzIG9uIGBwb3NpdGlvbmluZy1jb29yZGluYXRlc2AuXG5cbkBtaXhpbiBzY3V0LXJlbGF0aXZlIChcbiAgJGNvb3JkaW5hdGVzOiBuIG4gbiBuXG4pIHtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHNjdXQtY29vcmRzKCRjb29yZGluYXRlcyk7XG5cbn1cbkBtaXhpbiBzY3V0LXJhdGlvLWJveCAoXG4gICRyYXRpbzogMS8xXG4pIHtcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gVGhlIGNvbnRhaW5lcidzIGhlaWdodCwgYXMgYSBwZXJjZW50YWdlIG9mIHRoZVxuICAvLyBjb250YWluZXIncyB3aWR0aCwgaXMgc2V0IGJ5IGFzc2lnbmluZ1xuICAvLyBwYWRkaW5nLXRvcCB0byBhIHBzZXVkby1lbGVtZW50LlxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICgxIC8gJHJhdGlvKSAqIDEwMCU7XG4gIH1cblxufVxuXG4lc2N1dC1yYXRpby1ib3gge1xuICBAaW5jbHVkZSBzY3V0LXJhdGlvLWJveDtcbn1cbkBtaXhpbiBzY3V0LXNpemUoXG4gICRzaXplXG4pIHtcblxuICBAaWYgbGVuZ3RoKCRzaXplKSA9PSAxIHtcbiAgICB3aWR0aDogICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gIH1cbiAgQGVsc2UgaWYgbGVuZ3RoKCRzaXplKSA9PSAyIHtcbiAgICB3aWR0aDogIG50aCgkc2l6ZSwgMSk7XG4gICAgaGVpZ2h0OiBudGgoJHNpemUsIDIpO1xuICB9XG5cbn1cbkBtaXhpbiBzY3V0LXN0aWNreS1mb290ZXItZml4ZWQgKFxuICAkaGVpZ2h0LFxuICAkd3JhcHBlcjogXCIud3JhcHBlclwiLFxuICAkZm9vdGVyOiBcIi5zY3V0LXN0aWNreVwiXG4pIHtcblxuICBodG1sLFxuICBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAjeyR3cmFwcGVyfSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAtJGhlaWdodDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAjeyR3cmFwcGVyfTphZnRlcixcbiAgI3skZm9vdGVyfSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG5cbn1cblxuLy8gZGVwcmVjYXRlZFxuQG1peGluIHNjdXQtc3RpY2t5LWZvb3RlciAoXG4gICRoZWlnaHQsXG4gICR3cmFwcGVyOiBcIi53cmFwcGVyXCIsXG4gICRmb290ZXI6IFwiLnNjdXQtc3RpY2t5XCJcbil7XG4gIEBpbmNsdWRlIHNjdXQtc3RpY2t5LWZvb3Rlci1maXhlZCgkaGVpZ2h0LCAkd3JhcHBlciwgJGZvb3Rlcik7XG59XG5AbWl4aW4gc2N1dC1zdGlja3ktZm9vdGVyLWZsdWlkIChcbiAgJHdyYXBwZXI6IFwiLndyYXBwZXJcIixcbiAgJGZvb3RlcjogXCIuc2N1dC1zdGlja3lcIlxuKSB7XG5cbiAgaHRtbCxcbiAgYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgI3skd3JhcHBlcn0ge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICN7JGZvb3Rlcn0ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICBoZWlnaHQ6IDFweDtcbiAgfVxuXG59XG5AbWl4aW4gc2N1dC12Y2VudGVyLWliIChcbiAgJGlubmVyLi4uXG4pIHtcblxuICAvLyBUaGUgaW5uZXIgZWxlbWVudCBpcyB2ZXJ0aWNhbGx5IGNlbnRlcmVkXG4gIC8vIGJ5IG1pZGRsZS1hbGlnbmluZyBpdCB3aXRoIGFuIGlubGluZSBwc2V1ZG8tZWxlbWVudFxuICAvLyB3aG9zZSBoZWlnaHQgaXMgMTAwJS5cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLy8gQSBzbWFsbCBuZWdhdGl2ZSByaWdodCBtYXJnaW4gaXMgc2V0XG4gICAgLy8gdG8gYWNjb3VudCBmb3IgdGhlIGRlZmF1bHRcbiAgICAvLyB3b3JkLXNwYWNpbmcgb2YgaW5saW5lLWJsb2NrLlxuICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgfVxuXG4gICRpbm5lcjogaWYobGVuZ3RoKCRpbm5lcikgPT0gMCwgXCIuc2N1dC1pbm5lclwiLCAkaW5uZXIpO1xuICBAZWFjaCAkY2VsbC1zZWxlY3RvciBpbiAkaW5uZXIge1xuICAgICRjZWxsLXNlbGVjdG9yOiB1bnF1b3RlKCRjZWxsLXNlbGVjdG9yKTtcbiAgICAmID4gI3skY2VsbC1zZWxlY3Rvcn0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxufVxuXG4lc2N1dC12Y2VudGVyLWliIHtcbiAgQGluY2x1ZGUgc2N1dC12Y2VudGVyLWliO1xufVxuXG5AbWl4aW4gc2N1dC12Y2VudGVyLWxoIChcbiAgJGhlaWdodFxuKSB7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlaWdodDtcblxufVxuQG1peGluIHNjdXQtdmNlbnRlci10ZCAoXG4gICRpbm5lci4uLlxuKSB7XG5cbiAgZGlzcGxheTogdGFibGU7XG5cbiAgJGlubmVyOiBpZihsZW5ndGgoJGlubmVyKSA9PSAwLCBcIi5zY3V0LWlubmVyXCIsICRpbm5lcik7XG4gIEBlYWNoICRjZWxsLXNlbGVjdG9yIGluICRpbm5lciB7XG4gICAgJGNlbGwtc2VsZWN0b3I6IHVucXVvdGUoJGNlbGwtc2VsZWN0b3IpO1xuICAgICYgPiAjeyRjZWxsLXNlbGVjdG9yfSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxufVxuXG5cbiVzY3V0LXZjZW50ZXItdGQge1xuICBAaW5jbHVkZSBzY3V0LXZjZW50ZXItdGQ7XG59XG5cbi8vIERlcGVuZHMgb24gc2N1dC1jZW50ZXItdHJhbnNmb3JtXG5cbkBtaXhpbiBzY3V0LXZjZW50ZXItdHQgKCkge1xuICBAaW5jbHVkZSBzY3V0LWNlbnRlci10cmFuc2Zvcm0oeSk7XG59XG5cbiVzY3V0LXZjZW50ZXItdHQge1xuICBAaW5jbHVkZSBzY3V0LXZjZW50ZXItdHQ7XG59XG4vLyBzcGFjZVxuJHNjdXQtc3BhY2U6IFwiXFwwMDIwXCI7XG4vLyBub24tYnJlYWtpbmcgc3BhY2VcbiRzY3V0LW5ic3A6IFwiXFwwMGEwXCI7XG5cbi8vIHF1b3RhdGlvbiBtYXJrXG4kc2N1dC1xdW90OiBcIlxcMDAyMlwiO1xuLy8gbGVmdCBzaW5nbGUgY3VybHkgcXVvdGVcbiRzY3V0LWxzcXVvOiBcIlxcMjAxOFwiO1xuLy8gcmlnaHQgc2luZ2xlIGN1cmx5IHF1b3RlXG4kc2N1dC1yc3F1bzogXCJcXDIwMTlcIjtcbi8vIGxlZnQgZG91YmxlIGN1cmx5IHF1b3RlXG4kc2N1dC1sZHF1bzogXCJcXDIwMUNcIjtcbi8vIHJpZ2h0IGRvdWJsZSBjdXJseSBxdW90ZVxuJHNjdXQtcmRxdW86IFwiXFwyMDFEXCI7XG4vLyBsZWZ0IHNpbmdsZSBhbmdsZSBxdW90ZSAoZ3VpbGxlbWV0KVxuJHNjdXQtbHNhcXVvOiBcIlxcMjAzOVwiO1xuLy8gcmlnaHQgc2luZ2xlIGFuZ2xlIHF1b3RlIChndWlsbGVtZXQpXG4kc2N1dC1yc2FxdW86IFwiXFwyMDNBXCI7XG4vLyBsZWZ0IGRvdWJsZSBhbmdsZSBxdW90ZSAoZ3VpbGxlbWV0KVxuJHNjdXQtbGFxdW86IFwiXFwwMGFiXCI7XG4vLyByaWdodCBkb3VibGUgYW5nbGUgcXVvdGUgKGd1aWxsZW1ldClcbiRzY3V0LXJhcXVvOiBcIlxcMDBiYlwiO1xuXG4vLyBlbSBkYXNoIChtdXR0b24pXG4kc2N1dC1tZGFzaDogXCJcXDIwMTRcIjtcbi8vIGVuIGRhc2ggKG51dClcbiRzY3V0LW5kYXNoOiBcIlxcMjAxM1wiO1xuLy8gaHlwaGVuXG4kc2N1dC1oeXBoZW46IFwiXFwyMDEwXCI7XG5cbi8vIGFtcGVyc2FuZFxuJHNjdXQtYW1wOiBcIlxcMDAyNlwiO1xuLy8gZ3JlYXRlciB0aGFuXG4kc2N1dC1ndDogXCJcXDAwM2VcIjtcbi8vIGxlc3MgdGhhblxuJHNjdXQtbHQ6IFwiXFwwMDNjXCI7XG4vLyB0aW1lc1xuJHNjdXQtdGltZXM6IFwiXFwwMEQ3XCI7XG4vLyBiaWcgdGltZXNcbiRzY3V0LWJpZ3RpbWVzOiBcIlxcMjcxNVwiO1xuLy8gY2hlY2ttYXJrXG4kc2N1dC1jaGVja21hcms6IFwiXFwyNzEzXCI7XG5cbi8vIHNlY3Rpb24gc2lnbiAoZG91YmxlIFMsIGh1cnJpY2FuZSwgc2VjdGlvbmFsIHN5bWJvbCwgdGhlIGxlZ2FsIGRvdWdobnV0LCBzaWdudW0gc2VjdGlvbmlzKVxuJHNjdXQtc2VjdDogXCJcXDAwYTdcIjtcbi8vIHBhcmFncmFwaCBzeW1ib2wgKHBpbGNyb3cpXG4kc2N1dC1wYXJhOiBcIlxcMDBiNlwiO1xuXG4vLyBtaWRkb3QgKGludGVycHVuY3QsIGludGVycG9pbnQpXG4kc2N1dC1taWRkb3Q6IFwiXFwwMGI3XCI7XG4vLyBvLXNsYXNoIChzbGFzaGVkIG8pXG4kc2N1dC1vc2xhc2g6IFwiXFwwMGY4XCI7XG4vLyBidWxsZXRcbiRzY3V0LWJ1bGw6IFwiXFwyMDIyXCI7XG4vLyB3aGl0ZSBidWxsZXRcbiRzY3V0LXdoaWJ1bGw6IFwiXFwyNUU2XCI7XG4vLyBob3Jpem9udGFsIGVsbGlwc2lzXG4kc2N1dC1oZWxsaXA6IFwiXFwyMDI2XCI7XG4vLyB2ZXJ0aWNhbCBlbGxpcHNpc1xuJHNjdXQtdmVsbGlwOiBcIlxcMjJFRVwiO1xuLy8gbWlkbGluZSBob3Jpem9udGFsIGVsbGlwc2lzXG4kc2N1dC1taWRoZWxsaXA6IFwiXFwyMkVGXCI7XG5cbi8vIHVwLXBvaW50aW5nIHRyaWFuZ2xlXG4kc2N1dC11dHJpOiBcIlxcMjViMlwiO1xuLy8gZG93bi1wb2ludGluZyB0cmlhbmdsZVxuJHNjdXQtZHRyaTogXCJcXDI1YmNcIjtcbi8vIGxlZnQtcG9pbnRpbmcgdHJpYW5nbGVcbiRzY3V0LWx0cmk6IFwiXFwyNWMwXCI7XG4vLyByaWdodC1wb2ludGluZyB0cmlhbmdsZVxuJHNjdXQtcnRyaTogXCJcXDI1YjZcIjtcbi8vIHVwLXBvaW50aW5nIHNtYWxsIHRyaWFuZ2xlXG4kc2N1dC11c3RyaTogXCJcXDI1YjRcIjtcbi8vIGRvd24tcG9pbnRpbmcgc21hbGwgdHJpYW5nbGVcbiRzY3V0LWRzdHJpOiBcIlxcMjViZVwiO1xuLy8gbGVmdC1wb2ludGluZyBzbWFsbCB0cmlhbmdsZVxuJHNjdXQtbHN0cmk6IFwiXFwyNWMyXCI7XG4vLyByaWdodC1wb2ludGluZyBzbWFsbCB0cmlhbmdsZVxuJHNjdXQtcnN0cmk6IFwiXFwyNWI4XCI7XG4vLyBkaWFtb25kXG4kc2N1dC1kaWFtb25kOiBcIlxcMjVjNlwiO1xuLy8gZmlzaGV5ZVxuJHNjdXQtZmlzaGV5ZTogXCJcXDI1YzlcIjtcbi8vIGJ1bGxzZXllXG4kc2N1dC1idWxsc2V5ZTogXCJcXDI1Y2VcIjtcbi8vIGNpcmNsZVxuJHNjdXQtY2lyY2xlOiBcIlxcMjVjZlwiO1xuLy8gd2hpdGUgY2lyY2xlXG4kc2N1dC13aGl0ZWNpcmNsZTogXCJcXDI1Y2JcIjtcbi8vIHNxdWFyZVxuJHNjdXQtc3F1YXJlOiBcIlxcMjVhMFwiO1xuLy8gd2hpdGUgc3F1YXJlXG4kc2N1dC13aGl0ZXNxdWFyZTogXCJcXDI1YTFcIjtcbi8vIHNtYWxsIHNxdWFyZVxuJHNjdXQtc3NxdWFyZTogXCJcXDI1YWFcIjtcbi8vIHNtYWxsIHdoaXRlIHNxdWFyZVxuJHNjdXQtc3doaXRlc3F1YXJlOiBcIlxcMjVhYlwiO1xuXG4vLyBnZW5lcmFsIGN1cnJlbmN5XG4kc2N1dC1jdXJyZW5jeTogXCJcXDAwYTRcIjtcbi8vIGNlbnRcbiRzY3V0LWNlbnQ6IFwiXFwwMGEyXCI7XG4vLyBkb2xsYXJcbiRzY3V0LWRvbGxhcjogXCJcXDAwMjRcIjtcbi8vIHBvdW5kXG4kc2N1dC1wb3VuZDogXCJcXDAwYTNcIjtcbi8vIGV1cm9cbiRzY3V0LWV1cm86IFwiXFwyMGFjXCI7XG4vLyB5ZW5cbiRzY3V0LXllbjogXCJcXDAwYTVcIjtcbi8vIHJ1cGVlXG4kc2N1dC1ydXBlZTogXCJcXDIwQjlcIjtcbkBmdW5jdGlvbiBtYWluLXNyYygkZm9ybWF0cywgJGZpbGUtcGF0aCwgJGZvbnQtZmFtaWx5KSB7XG4gIC8vIFJldHVybiB0aGUgbGlzdCBvZiBgc3JjYCB2YWx1ZXMsIGluIG9yZGVyLCB0aGF0XG4gIC8vIGEgZ29vZCBgQGZvbnQtZmFjZWAgd2lsbCBuZWVkLCBpbmNsdWRpbmcgb25seVxuICAvLyB0aG9zZSBmb3JtYXRzIHNwZWNpZmllZCBpbiB0aGUgbGlzdCBgJGZvcm1hdHNgLlxuICAkcmVzdWx0OiAoKTtcbiAgQGlmIGluZGV4KCRmb3JtYXRzLCBlb3QpIHtcbiAgICAkZW90LXZhbDogdXJsKCcjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyk7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICRlb3QtdmFsLCBjb21tYSk7XG4gIH1cbiAgQGlmIGluZGV4KCRmb3JtYXRzLCB3b2ZmMikge1xuICAgICR3b2ZmMi12YWw6IHVybCgnI3skZmlsZS1wYXRofS53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHdvZmYyLXZhbCwgY29tbWEpO1xuICB9XG4gIEBpZiBpbmRleCgkZm9ybWF0cywgd29mZikge1xuICAgICR3b2ZmLXZhbDogdXJsKCcjeyRmaWxlLXBhdGh9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHdvZmYtdmFsLCBjb21tYSk7XG4gIH1cbiAgQGlmIGluZGV4KCRmb3JtYXRzLCB0dGYpIHtcbiAgICAkdHRmLXZhbDogdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHR0Zi12YWwsIGNvbW1hKTtcbiAgfVxuICBAaWYgaW5kZXgoJGZvcm1hdHMsIHN2Zykge1xuICAgICRzdmctdmFsOiB1cmwoJyN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fScpIGZvcm1hdCgnc3ZnJyk7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICRzdmctdmFsLCBjb21tYSk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG5AbWl4aW4gc2N1dC1mb250LWZhY2UgKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICR3ZWlnaHQ6IG5vcm1hbCxcbiAgJHN0eWxlOiBub3JtYWwsXG4gICRmb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnXG4pIHtcblxuICBAaWYgaW5kZXgoJ2l0YWxpYycgJ29ibGlxdWUnLCAkd2VpZ2h0KSB7XG4gICAgJHN0eWxlOiAkd2VpZ2h0O1xuICAgICR3ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuXG4gICAgQGlmIGluZGV4KCRmb3JtYXRzLCBlb3QpIHtcbiAgICAgIHNyYzogdXJsKCcjeyRmaWxlLXBhdGh9LmVvdCcpO1xuICAgIH1cbiAgICBzcmM6IG1haW4tc3JjKCRmb3JtYXRzLCAkZmlsZS1wYXRoLCAkZm9udC1mYW1pbHkpO1xuICB9XG5cbn1cblxuQG1peGluIHNjdXQtaGFuZ2luZy1pbmRlbnQgKFxuICAkaW5kZW50OiAxZW1cbikge1xuXG4gIC8vIHBhZGRpbmctbGVmdCBjcmVhdGVzIHRoZSBpbmRlbnQsXG4gIC8vIHdoaWxlIHRleHQtaW5kZW50IHB1bGxzIHRoZSBmaXJzdCBsaW5lXG4gIC8vIGJhY2sgdG8gdGhlIGVkZ2UuXG5cbiAgcGFkZGluZy1sZWZ0OiAkaW5kZW50O1xuICB0ZXh0LWluZGVudDogLSRpbmRlbnQ7XG5cbn1cblxuJXNjdXQtaGFuZ2luZy1pbmRlbnQge1xuICBAaW5jbHVkZSBzY3V0LWhhbmdpbmctaW5kZW50O1xufVxuQG1peGluIHNjdXQtaW5kZW50ZWQtcHMgKFxuICAkaW5kZW50OiAxLjVlbSxcbiAgJG5vLWZpcnN0LWluZGVudDogdHJ1ZVxuKSB7XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtaW5kZW50OiAkaW5kZW50O1xuICB9XG5cbiAgQGlmICRuby1maXJzdC1pbmRlbnQge1xuICAgIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICB0ZXh0LWluZGVudDogMDtcbiAgICB9XG4gIH1cblxufVxuXG4lc2N1dC1pbmRlbnRlZC1wcyB7XG4gIEBpbmNsdWRlIHNjdXQtaW5kZW50ZWQtcHM7XG59XG5AbWl4aW4gc2N1dC1rZXktdmFsIChcbiAgJGRpdmlkZXI6IFwiOlwiLFxuICAkcGFkOiAwLjI1ZW0sXG4gICRpbmRlbnQ6IDFlbSxcbiAgJHNwYWNpbmc6IDAsXG4gICRwYWQtbGVmdDogMFxuKSB7XG5cbiAgJiA+IGR0IHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICRkaXZpZGVyO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkcGFkO1xuICAgICAgQGlmICRwYWQtbGVmdCAhPSAwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRwYWQtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmID4gZGQge1xuICAgIG1hcmdpbi1sZWZ0OiAkaW5kZW50O1xuICAgIEBpZiAkc3BhY2luZyAhPSAwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIH1cbiAgfVxuXG59XG5cbiVzY3V0LWtleS12YWwge1xuICBAaW5jbHVkZSBzY3V0LWtleS12YWw7XG59XG5AbWl4aW4gc2N1dC1saW5rLWJiIChcbiAgJGNvbG9yOiBpbmhlcml0LFxuICAkc3R5bGU6IHNvbGlkLFxuICAkd2lkdGg6IDFweFxuKSB7XG5cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIGJvcmRlci1ib3R0b20td2lkdGg6ICR3aWR0aDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogJHN0eWxlO1xuICBAaWYgJGNvbG9yICE9IGluaGVyaXQge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgfVxuXG59XG5cbiVzY3V0LWxpbmstYmIge1xuICBAaW5jbHVkZSBzY3V0LWxpbmstYmI7XG59XG4vLyBTQ1VUIExJTksgVU5TVFlMRURcbi8vIGh0dHA6Ly9yYW1zZXlpbmhvdXNlLmdpdGh1Yi5pby9zY3V0LyNsaW5rLXVuc3R5bGVkXG5cbkBtaXhpbiBzY3V0LWxpbmstdW5zdHlsZWQoKSB7XG5cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcblxufVxuXG4lc2N1dC1saW5rLXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgc2N1dC1saW5rLXVuc3R5bGVkKCk7XG59XG5cbkBtaXhpbiBzY3V0LXJldmVyc2UtaXRhbGljcyAoXG4gICRlbGVtZW50czogbnVsbFxuKSB7XG5cbiAgJGVsZW1lbnQtbGlzdDogZW0sIGNpdGUsIGk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgI3tqb2luKCRlbGVtZW50LWxpc3QsICRlbGVtZW50cyl9IHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cblxufVxuXG4lc2N1dC1yZXZlcnNlLWl0YWxpY3Mge1xuICBAaW5jbHVkZSBzY3V0LXJldmVyc2UtaXRhbGljcztcbn1cblxuQG1peGluIHNjdXQtc2lkZS1saW5lZCAoXG4gICRoZWlnaHQ6IDFweCxcbiAgJHNwYWNlOiAwLjVlbSxcbiAgJGNvbG9yOiBpbmhlcml0LFxuICAkc3R5bGU6IHNvbGlkLFxuICAkdi1hZGp1c3Q6IGZhbHNlLFxuICAkZG91YmxlOiBmYWxzZVxuKSB7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDUwJTtcblxuICAgIGJvcmRlci10b3Atc3R5bGU6ICRzdHlsZTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAkaGVpZ2h0O1xuXG4gICAgQGlmICRjb2xvciAhPSBpbmhlcml0IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICBAaWYgJHYtYWRqdXN0ICE9IGZhbHNlIHtcbiAgICAgIGJvdHRvbTogJHYtYWRqdXN0O1xuICAgIH1cblxuICAgIEBpZiAkZG91YmxlICE9IGZhbHNlIHtcbiAgICAgIGhlaWdodDogJGRvdWJsZTtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6ICRzdHlsZTtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRoZWlnaHQ7XG4gICAgICBAaWYgJGNvbG9yICE9IGluaGVyaXQge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIHJpZ2h0OiAkc3BhY2U7XG4gICAgbWFyZ2luLWxlZnQ6IC01MCU7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgbGVmdDogJHNwYWNlO1xuICAgIG1hcmdpbi1yaWdodDogLTUwJTtcbiAgfVxuXG59XG5cbiVzY3V0LXNpZGUtbGluZWQge1xuICBAaW5jbHVkZSBzY3V0LXNpZGUtbGluZWQ7XG59XG5AbWl4aW4gc2N1dC10cnVuY2F0ZSB7XG5cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbn1cblxuJXNjdXQtdHJ1bmNhdGUge1xuICBAaW5jbHVkZSBzY3V0LXRydW5jYXRlO1xufVxuIiwiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2V0dGluZ3MgZm9yIFNhYXMgVG9vbCAnTWVkaWEgUXVlcmllcyB3aXRoIHN1cGVycG93ZXJzJ1xuICAgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJG1xLWJhc2UtZm9udC1zaXplOiAkZGVmYXVsdFB4U2l6ZTtcblxuLy8gVG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KSBzZXQgJG1xLXJlc3BvbnNpdmUgdG8gZmFsc2Vcbi8vIENyZWF0ZSBhIHNlcGFyYXRlIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIHRoZXNlIGJyb3dzZXJzLFxuLy8gbWVhbmluZyBAbWVkaWEgcXVlcmllcyB3aWxsIGJlIHJhc3Rlcml6ZWQsIHJlbHlpbmcgb24gdGhlIGNhc2NhZGUgaXRzZWxmXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZTtcblxuLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cbiRtcS1icmVha3BvaW50czogKFxuXHRtaW5pOiBcdFx0XHQyMjBweCxcblx0bW9iaWxlOiBcdFx0MzIwcHgsXG5cdHR3ZWVuOiBcdFx0XHQ0NDBweCxcblx0cGFsbTogXHRcdFx0NTAwcHgsXG5cdHBhbG1lcjogXHRcdDYwMHB4LFxuXHR0YWJsZXQ6IFx0XHQ3NjdweCxcblx0YmlndGFibGV0OiBcdFx0ODYwcHgsXG5cdHByZWRlc2t0b3A6IFx0MTAwMHB4LFxuXHRkZXNrdG9wOiBcdFx0MTIwMHB4LFxuIFx0aHVnZTogXHRcdFx0MTMwMHB4LFxuXHRiaWdnZXI6IFx0XHQxNDQwcHgsXG5cdGdpZ2FudGljOiBcdFx0MTgwMHB4XG5cbik7XG5cbi8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLyRtcS1zaG93LWJyZWFrcG9pbnRzOiAobWluaSwgbW9iaWxlLCB0d2VlbiwgcGFsbSwgcGFsbWVyLCB0YWJsZXQsIGJpZ3RhYmxldCwgcHJlZGVza3RvcCwgZGVza3RvcCwgaHVnZSwgYmlnZ2VyLCBnaWdhbnRpYyk7XG4iLCJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyBzbW9vdGhpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XG4gICAgQGlmICR2YWx1ZSA9PSBvbiB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhpZGUgdGhpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbkBtaXhpbiB2aXN1YWxseWhpZGRlbigpe1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG5AbWl4aW4gdmlzdWFsbHl1bmhpZGRlbigpe1xuXHRib3JkZXI6IG5vbmU7XG5cdGNsaXA6IGF1dG87XG5cdGhlaWdodDogYXV0bztcblx0bWFyZ2luOiAwO1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IHN0YXRpYztcblx0d2lkdGg6IGF1dG87XG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbkBtaXhpbiBoaWRlY29tcGxldGVseSgpIHtcblx0ZGlzcGxheTogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWl4aW4gdW5oaWRlY29tcGxldGVseSgkZGlzcGxheTogYmxvY2spIHtcblx0ZGlzcGxheTogJGRpc3BsYXk7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0IFNldHRpbmdzIGRlZmluZWQgYXMgdmFyaWFibGVzIG9yIG1peGluc1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEZvbnQgU2l6ZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdCRkZWZhdWx0Rm9udFNpemU6IHNjdXQtZW0oJGRlZmF1bHRQeFNpemVWYWx1ZSk7XG5cblx0JG1vYmlsZUZvbnRTaXplOiBzY3V0LWVtKDE4KTtcblx0JHRhYmxldEZvbnRTaXplOiBzY3V0LWVtKDIyKTtcblx0JGRlc2t0b3BGb250U2l6ZTogc2N1dC1lbSgyNCk7XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBcdCBMaW5lIEhlaWdodHNcbiAgIFx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQkZGVmYXVsdExpbmVIZWlnaHQ6IDEuNDtcblxuXHQkbW9iaWxlTGluZUhlaWdodDogMS4zO1xuXHQkdGFibGV0TGluZUhlaWdodDogMS40O1xuXHQkZGVza3RvcExpbmVIZWlnaHQ6IDEuNDtcblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdCBQYWRkaW5nc1xuXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdEBtaXhpbiBjb250YWluZXJQYWRkaW5nKCl7XG5cdFx0cGFkZGluZy10b3A6IDNyZW07XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0cGFkZGluZy10b3A6IDRyZW07XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwcmVkZXNrdG9wKXtcblx0XHRcdHBhZGRpbmctdG9wOiA2cmVtO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRwYWRkaW5nLXRvcDogMTByZW07XG5cdFx0fVxuXHR9XG5cblx0QG1peGluIHRleHRQYWRkaW5nKCl7XG5cdFx0cGFkZGluZy10b3A6IDEuNHJlbTtcblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRwYWRkaW5nLXRvcDogMnJlbTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHByZWRlc2t0b3Ape1xuXHRcdFx0cGFkZGluZy10b3A6IDNyZW07XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdHBhZGRpbmctdG9wOiA0cmVtO1xuXHRcdH1cblx0fVxuXG5cdEBtaXhpbiB6aXRhdFBhZGRpbmcoKXtcblx0XHRwYWRkaW5nLWJvdHRvbTogc2N1dC1yZW0oMjApO1xuXHRcdHBhZGRpbmctdG9wOiBzY3V0LXJlbSgyMCk7XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogc2N1dC1yZW0oNDApO1xuXHRcdFx0cGFkZGluZy10b3A6IHNjdXQtcmVtKDQwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHNjdXQtcmVtKDYwKTtcblx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LXJlbSg2MCk7XG5cdFx0fVxuXHR9XG5cdFxuXHRAbWl4aW4gZm9vdGVyUGFkZGluZygpe1xuXHRcdHBhZGRpbmctYm90dG9tOiBzY3V0LXJlbSg0MCk7XG5cdFx0cGFkZGluZy10b3A6IHNjdXQtcmVtKDQwKTtcblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdHBhZGRpbmctYm90dG9tOiBzY3V0LXJlbSgyMCk7XG5cdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oNjApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oODApO1xuXHRcdH1cblx0fSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCBTaXplcyAvIERpbWVuc2lvbnNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBXaWR0aHNcbiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgICAkdGV4dFdpZHRoOiAgICAgICAgIHNjdXQtcmVtKDYwMCk7XG4gICAgICRiaWdUZXh0V2lkdGg6ICAgICAgc2N1dC1yZW0oNzYwKTtcblxuICAgICAkbWF4V2lkdGhTaXRlOiAgICAgIHNjdXQtcmVtKDEzMDApO1xuICAgICAkZ2lnV2lkdGhTaXRlOlx0XHRzY3V0LXJlbSgxNDAwKTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFkZGluZ3NcbiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgICAkaXRlbVBhZGRpbmdTbWFsbDogICAgICAgICAgc2N1dC1yZW0oMTApO1xuICAgICAkaXRlbVBhZGRpbmc6ICAgICAgICAgICAgICAgc2N1dC1yZW0oMTUpO1xuIiwiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmYXVsdCBjb2xvciBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGNvbG9yOiAoXG5cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQgQmFja2dyb3VuZCBDb2xvcnNcblx0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdGJyaWdodEJhY2tncm91bmRDb2xvcjogXHRcdFx0XHRcdCNmZmZmZmYsXG5cdGRhcmtCYWNrZ3JvdW5kQ29sb3I6IFx0XHRcdFx0XHQjMjE0RjYxLFxuXHR5ZWxsb3dCYWNrZ3JvdW5kQ29sb3I6IFx0XHRcdFx0XHQjRjRDNjIzLFxuXHRicmlnaHRibHVlYmc6IFx0XHRcdFx0XHRcdFx0I0Y1RkNGRSxcblx0YnJpZ2h0eWVsbG93Ymc6IFx0XHRcdFx0XHRcdCNGRkZBRUIsXG5cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQgQnV0dG9uIENvbG9yc1xuXHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdFxuXHRkYXJrQnV0dG9uQ29sb3I6IFx0XHRcdFx0XHRcdCNCOUQzREYsXG5cdGRhcmtCdXR0b25Db2xvckZvY3VzOlx0XHRcdFx0XHQjODZCNkNELFxuXHR5ZWxsb3dCdXR0b25Db2xvcjogXHRcdFx0XHRcdFx0I0VDRTRDQSxcblx0eWVsbG93QnV0dG9uQ29sb3JGb2N1czpcdFx0XHRcdFx0I0Q3QzY5MyxcblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdCBUZXh0IENvbG9yc1xuXHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0YnJpZ2h0VGV4dENvbG9yOiBcdFx0XHRcdFx0XHQjZmZmZmZmLFxuXHRtZXRhVGV4dENvbG9yOiBcdFx0XHRcdFx0XHRcdCMzMjcyOGIsXG5cdGRlZmF1bHRUZXh0OiBcdFx0XHRcdFx0XHRcdCMyMTRmNjEsXG5cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdCBCb3JkZXIgQ29sb3JzXG5cdCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHRicmlnaHRCb3JkZXJDb2xvcjogXHRcdFx0XHRcdFx0I2ZmZmZmZixcblx0ZGFya0JvcmRlckNvbG9yOiBcdFx0XHRcdFx0XHQjMjE0RjYxLFxuXHRtZXRhQm9yZGVyQ29sb3I6IFx0XHRcdFx0XHRcdCM1NzkyYTksXG5cbik7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICBHcmlkOiBpbWcgLyBtZWRpYSBkZWNsYXJhdGlvbiBpbiBncmlkIHN5c3RlbVxuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAucm93LmZ1bGwudGJsdC5pbWFnZS10ZXh0e1xuICAgICAgICAuY29sLTEsXG4gICAgICAgIC5jb2wtMixcbiAgICAgICAgLmNvbC0zLFxuICAgICAgICAuY29sLTQsXG4gICAgICAgIC5jb2wtNSxcbiAgICAgICAgLmNvbC02LFxuICAgICAgICAuY29sLTcsXG4gICAgICAgIC5jb2wtOCxcbiAgICAgICAgLmNvbC05LFxuICAgICAgICAuY29sLTEwLFxuICAgICAgICAuY29sLTExLFxuICAgICAgICAuY29sLTEye1xuICAgICAgICAgICAgLmltYWdlLXdyYXBwZXJ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG1lcil7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblx0XHRcbiAgICB9XG5cblx0LnJvdy5mdWxsLmltYWdlLXRleHR7XG5cdFx0LmNvbC02e1xuXHRcdFx0JjpmaXJzdC1jaGlsZHtcblx0XHRcdFx0LmltYWdlLXdyYXBwZXJ7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogc2N1dC1lbSgtNDApO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKXtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNiU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWdnZXIpe1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC04JTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGdpZ2FudGljKXtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMTIlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0JiArIC5jb2wtNntcblx0XHRcdFx0LmltYWdlLXdyYXBwZXJ7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogc2N1dC1lbSgtNDApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC02JTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC04JTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGdpZ2FudGljKXtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogLTEyJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgSW1hZ2UgRnVsbHdpZHRoXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXHQuZnVsbHdpZHRoe1xuICAgICAgICBmaWdjYXB0aW9ue1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHNjdXQtcmVtKDIwKTtcblx0XHRcdG1hcmdpbi1yaWdodDogc2N1dC1yZW0oMjApO1xuXHRcdFx0bWFyZ2luLXRvcDogc2N1dC1yZW0oMTApO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHNjdXQtcmVtKDYpO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBzY3V0LXJlbSg4KTtcblx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LXJlbSg0KTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHNjdXQtcmVtKDMwKTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBzY3V0LXJlbSgzMCk7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1yZW0oMTIpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBzY3V0LXJlbSg0MCk7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0bWFyZ2luLXRvcDogc2N1dC1yZW0oMTQpO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogc2N1dC1yZW0oOCk7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1yZW0oMTYpO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oNik7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkdGV4dFdpZHRoO1xuICAgICAgICAgICAgfVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHByZWRlc2t0b3Ape1xuXHRcdFx0XHRtYXJnaW4tdG9wOiBzY3V0LXJlbSgyNCk7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiBzY3V0LXJlbSgxNCk7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1yZW0oMjApO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oMTApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0XHRtYXJnaW4tdG9wOiBzY3V0LXJlbSgyOCk7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiBzY3V0LXJlbSgxOCk7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1yZW0oMjQpO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oMTQpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGh1Z2Upe1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogc2N1dC1yZW0oMzYpO1xuXHRcdFx0fVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkYmlnVGV4dFdpZHRoO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogc2N1dC1yZW0oNTApO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiBzY3V0LXJlbSgzMik7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiBzY3V0LXJlbSgyMik7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1yZW0oMjgpO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oMjApO1xuICAgICAgICAgICAgfVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGdpZ2FudGljKXtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHNjdXQtcmVtKDc4KTtcblx0XHRcdH1cblx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRAaW5jbHVkZSBwc2V1ZG8tYmxvY2s7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRvcGFjaXR5OiAuNjtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHR3aWR0aDogc2N1dC1yZW0oMSk7XG5cdFx0XHR9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgSW1hZ2UgRHVvXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC5pbWFnZWR1b3tcblxuXHRcdCYuaG9jaCxcblx0XHQmLnF1ZXJ7XG5cdFx0XHQuY29sLTZ7XG5cdFx0XHRcdC5pbWFnZS13cmFwcGVye1xuXHRcdFx0XHRcdCYuaGFzY2FwdGlvbntcblx0XHRcdFx0XHRcdC5pY29uLWltYWdle1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0ZmlnY2FwdGlvbntcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiBzY3V0LXJlbSgxMCk7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IHNjdXQtcmVtKDYpO1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1yZW0oOCk7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IHNjdXQtcmVtKDQpO1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHNjdXQtcmVtKDEyKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBwc2V1ZG8tYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0b3BhY2l0eTogLjY7XG5cdFx0XHRcdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogc2N1dC1yZW0oMSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBzY3V0LXJlbSgxKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IHNjdXQtcmVtKDI2MCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlnZ2VyKXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IHNjdXQtcmVtKDIyMCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly9cblx0XHQvLyBIb2NoXG5cdFx0Ly9cblx0XHQmLmhvY2h7XG5cdFx0XHQuY29sLTZ7XG5cdFx0XHRcdC5pbWFnZS13cmFwcGVye1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDgwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly9cblx0XHRcdFx0Ly9cdEJpbGQgbGlua3Ncblx0XHRcdFx0Ly9cblx0XHRcdFx0JjpmaXJzdC1jaGlsZHtcblx0XHRcdFx0XHQuaW1hZ2Utd3JhcHBlcntcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMzUlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5oYXNjYXB0aW9ue1xuXHRcdFx0XHRcdFx0XHQuaWNvbi1pbWFnZXtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogc2N1dC1yZW0oLSgyNDAgKyAyMCkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogc2N1dC1yZW0oMjQwICsgMjApO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcHJlZGVza3RvcCl7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHNjdXQtcmVtKC0oMjQwICsgMzApKTtcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHNjdXQtcmVtKDI0MCArIDMwKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHNjdXQtcmVtKC0oMjAwICsgNDApKTtcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHNjdXQtcmVtKDIwMCArIDQwKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0ZmlnY2FwdGlvbntcblx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiBzY3V0LXJlbSgyMCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LXJlbSgxMCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IHNjdXQtcmVtKDI0MCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcHJlZGVza3RvcCl7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LXJlbSgyMCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IHNjdXQtcmVtKDMwKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWdnZXIpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oMjYpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiBzY3V0LXJlbSg0MCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiBzY3V0LXJlbSgyMDApO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQvL1xuXHRcdFx0XHQvL1x0QmlsZCByZWNodHNcblx0XHRcdFx0Ly9cblx0XHRcdFx0JjpudGgtY2hpbGQoMil7XG5cdFx0XHRcdFx0LmltYWdlLXdyYXBwZXJ7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0xNSU7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDg1JTtcblx0XHRcdFx0XHRcdFx0ei1pbmRleDogMztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYuaGFzY2FwdGlvbntcblx0XHRcdFx0XHRcdFx0Lmljb24taW1hZ2V7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogc2N1dC1yZW0oLSgyNDAgKyA0MCkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiBzY3V0LXJlbSgyNDAgKyA0MCk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwcmVkZXNrdG9wKXtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBzY3V0LXJlbSgtKDI0MCArIDUwKSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHNjdXQtcmVtKDI0MCArIDUwKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogc2N1dC1yZW0oLSgyMDAgKyA2MCkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiBzY3V0LXJlbSgyMDAgKyA2MCk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGZpZ2NhcHRpb257XG5cdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiBzY3V0LXJlbSgyMCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiBzY3V0LXJlbSgxMCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRvcDogYXV0bztcblx0XHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IHNjdXQtcmVtKDI0MCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcHJlZGVza3RvcCl7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiBzY3V0LXJlbSgyMCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHNjdXQtcmVtKDMwKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWdnZXIpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogc2N1dC1yZW0oMjYpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiBzY3V0LXJlbSg0MCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiBzY3V0LXJlbSgyMDApO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0b3A6IGF1dG87XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ly9cblx0XHQvLyBRdWVyXG5cdFx0Ly9cblx0XHQmLnF1ZXJ7XG5cdFx0XHQuY29sLTZ7XG5cdFx0XHRcdC5pbWFnZS13cmFwcGVye1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEyMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC8vXG5cdFx0XHRcdC8vXHRCaWxkIGxpbmtzXG5cdFx0XHRcdC8vXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGR7XG5cdFx0XHRcdFx0LmltYWdlLXdyYXBwZXJ7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogNjUlO1xuXHRcdFx0XHRcdFx0XHR6LWluZGV4OiAzO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5oYXNjYXB0aW9ue1xuXHRcdFx0XHRcdFx0XHQuaWNvbi1pbWFnZXtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogc2N1dC1yZW0oLSgyNDAgKyAyMCkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogc2N1dC1yZW0oMjQwICsgMjApO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcHJlZGVza3RvcCl7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHNjdXQtcmVtKC0oMjQwICsgMzApKTtcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHNjdXQtcmVtKDI0MCArIDMwKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHNjdXQtcmVtKC0oMjAwICsgNDApKTtcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHNjdXQtcmVtKDIwMCArIDQwKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0ZmlnY2FwdGlvbntcblx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHNjdXQtcmVtKDIwKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IHNjdXQtcmVtKDEwKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiBzY3V0LXJlbSgyNDApO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHByZWRlc2t0b3Ape1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogc2N1dC1yZW0oMjApO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiBzY3V0LXJlbSgzMCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlnZ2VyKXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IHNjdXQtcmVtKDI2KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogc2N1dC1yZW0oNDApO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogc2N1dC1yZW0oMjAwKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dG9wOiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC8vXG5cdFx0XHRcdC8vXHRCaWxkIHJlY2h0c1xuXHRcdFx0XHQvL1xuXHRcdFx0XHQmOm50aC1jaGlsZCgyKXtcblx0XHRcdFx0XHQuaW1hZ2Utd3JhcHBlcntcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTIwJTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYuaGFzY2FwdGlvbntcblx0XHRcdFx0XHRcdFx0Lmljb24taW1hZ2V7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogc2N1dC1yZW0oLSgyNDAgKyA0MCkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiBzY3V0LXJlbSgyNDAgKyA0MCk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwcmVkZXNrdG9wKXtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBzY3V0LXJlbSgtKDI0MCArIDUwKSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHNjdXQtcmVtKDI0MCArIDUwKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogc2N1dC1yZW0oLSgyMDAgKyA2MCkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiBzY3V0LXJlbSgyMDAgKyA2MCk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGZpZ2NhcHRpb257XG5cdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogc2N1dC1yZW0oMjApO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oMTApO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IHNjdXQtcmVtKDI0MCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcHJlZGVza3RvcCl7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LXJlbSgyMCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IHNjdXQtcmVtKDMwKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWdnZXIpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oMjYpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiBzY3V0LXJlbSg0MCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiBzY3V0LXJlbSgyMDApO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cbiAgICB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBXcmFwcGVyXG4gICBcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgIFx0Lm91dGVyLXdyYXBwZXJ7XG5cdCAgIFx0bWluLWhlaWdodDogMTAwJTtcbiAgICAgIFx0bWluLWhlaWdodDogMTAwdmg7XG4gICBcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIFx0XHR3aWR0aDogMTAwJTtcblx0ICAgXHQmID4gLmlubmVyLXdyYXBwZXJ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihicmlnaHRCYWNrZ3JvdW5kQ29sb3IpO1xuXHRcdFx0bWluLWhlaWdodDogMTAwdmg7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGVhc2UtaW4tb3V0O1xuXHQgICBcdH1cbiAgIFx0fVxuXG5cdC53cmFwcGVye1xuXHRcdG1hcmdpbi1sZWZ0OiBzY3V0LXJlbSgyMCk7XG5cdFx0bWFyZ2luLXJpZ2h0OiBzY3V0LXJlbSgyMCk7XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHNjdXQtcmVtKDMwKTtcblx0XHRcdG1hcmdpbi1yaWdodDogc2N1dC1yZW0oMzApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdG1hcmdpbi1sZWZ0OiBzY3V0LXJlbSg0MCk7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHNjdXQtcmVtKDQwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRtYXJnaW4tbGVmdDogc2N1dC1yZW0oNjApO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBzY3V0LXJlbSg2MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdG1hcmdpbi1sZWZ0OiBzY3V0LXJlbSgxMDApO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBzY3V0LXJlbSgxMDApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdHdpZHRoOiBzY3V0LXJlbSgxMjAwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHR3aWR0aDogc2N1dC1yZW0oMTMwMCk7XG5cdFx0fVxuXHR9XG5cblx0LmZ1bGx3aWR0aHtcblx0XHQud3JhcHBlcntcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBzY3V0LWVtKDIwKTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBzY3V0LWVtKDIwKTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHNjdXQtZW0oNjApO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHNjdXQtZW0oNjApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGh1Z2Upe1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLXdyYXBwZXJ7XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKXtcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC01MyU7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAtNTMlO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRyaWdodDogNTAlOyAgICAgICAgXG5cdFx0XHRcdFx0d2lkdGg6IDEwNiU7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC01NCU7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAtNTQlO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDglO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBnaWdhbnRpYyl7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC01NiU7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAtNTYlO1xuXHRcdFx0XHRcdHdpZHRoOiAxMTIlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LypcblxuXHQuc2VjdGlvbi1oZWFkZXIgLmlubmVyLXdyYXBwZXJ7XG5cdFx0cGFkZGluZy1sZWZ0OiBzY3V0LWVtKDIwKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzY3V0LWVtKDIwKTtcblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHNjdXQtZW0oMzApO1xuXHRcdFx0cGFkZGluZy1yaWdodDogc2N1dC1lbSgzMCk7XG5cdFx0fVxuXHR9XG5cdCovXG5cblx0LnRleHQtY29udGVudHtcblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdG1heC13aWR0aDogJHRleHRXaWR0aDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHRtYXgtd2lkdGg6ICRiaWdUZXh0V2lkdGg7XG5cdFx0fVxuXHR9XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFx0IENvbG9yYXRpb24gYW5kIElsbHVzdHJhdGlvbnNcbiAgIFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXHQvL1xuXHQvLyBQYWdlaGVhZGVyXG5cdC8vXG5cblx0LmNvbnRhaW5lci5wYWdlLWhlYWRlci5oYXNiZ2lsbHV7XG5cdFx0cG9zaXRpb246IGluaGVyaXQ7XG5cdFx0JjphZnRlcntcblx0XHRcdGhlaWdodDogNjAlO1xuXHRcdFx0bWFyZ2luLXRvcDogLTIlO1xuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHByZWRlc2t0b3Ape1xuXHRcdFx0XHRoZWlnaHQ6IDcwJTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWdnZXIpe1xuXHRcdFx0XHRoZWlnaHQ6IDgwJTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBnaWdhbnRpYyl7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYmx1ZXtcblx0XHQub3V0ZXItd3JhcHBlcntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJyaWdodGJsdWViZyk7XG5cdFx0fVxuXHRcdC5wYWdlLWhlYWRlci5oYXNiZ2lsbHV7XG5cdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOnVybCgnL2Fzc2V0cy9pbWFnZXMvYmcvZm9vdF9ibHVlLnBuZycpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOm5vbmUsdXJsKCcvYXNzZXRzL2ltYWdlcy9iZy9mb290X2JsdWUuc3ZnJyk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zaXRlLWZvb3Rlcntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJyaWdodGJsdWViZyk7XG5cdFx0fVxuXHR9XG5cblx0LnllbGxvd3tcblx0XHQub3V0ZXItd3JhcHBlcntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJyaWdodHllbGxvd2JnKTtcblx0XHR9XG5cdFx0LnBhZ2UtaGVhZGVyLmhhc2JnaWxsdXtcblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6dXJsKCcvYXNzZXRzL2ltYWdlcy9iZy9mb290X3llbGxvdy5wbmcnKTtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTpub25lLHVybCgnL2Fzc2V0cy9pbWFnZXMvYmcvZm9vdF95ZWxsb3cuc3ZnJyk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5icmVhZGNydW1ic3tcblx0XHRcdGxpe1xuXHRcdFx0XHQmLmxhc3QgYXtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih5ZWxsb3dCdXR0b25Db2xvcik7XG5cdFx0XHRcdFx0JjphY3RpdmUsXG5cdFx0XHRcdFx0Jjpmb2N1cyxcblx0XHRcdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoeWVsbG93QnV0dG9uQ29sb3JGb2N1cyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5idG57XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih5ZWxsb3dCdXR0b25Db2xvcik7XG5cdFx0XHQmOmFjdGl2ZSxcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih5ZWxsb3dCdXR0b25Db2xvckZvY3VzKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnNpdGUtZm9vdGVye1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoYnJpZ2h0eWVsbG93YmcpO1xuXHRcdFx0LmJ0bntcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoeWVsbG93QnV0dG9uQ29sb3IpO1xuXHRcdFx0XHQmOmFjdGl2ZSxcblx0XHRcdFx0Jjpmb2N1cyxcblx0XHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih5ZWxsb3dCdXR0b25Db2xvckZvY3VzKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vXG5cdC8vIElsbHUgU2V0dGluZ3Ncblx0Ly9cblxuXHQuaGFzYmdpbGx1e1xuXHRcdD4gKiB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAzO1xuXHRcdH1cblx0XHQmOmFmdGVye1xuXHRcdFx0QGluY2x1ZGUgcHNldWRvLWJsb2NrO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJTtcblx0XHRcdGhlaWdodDogMjAwJTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHotaW5kZXg6IDA7XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlnZ2VyKXtcblx0XHRcdFx0aGVpZ2h0OiAzMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmICsgLmNvbnRhaW5lcntcblx0XHRcdD4gKiB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0ei1pbmRleDogMztcblx0XHRcdH1cblx0XHRcdCYgKyAuY29udGFpbmVye1xuXHRcdFx0XHQ+ICoge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHR6LWluZGV4OiAzO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHR9XG5cblxuXHQvL1xuXHQvL1x0SWxsdSBpbiBjb250YWluZXJzXG5cdC8vXG5cblx0LmNvbnRhaW5lcntcblx0XHQmLmhhc2JnaWxsdXtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCYueWVsbG93e1xuXHRcdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6dXJsKCcvYXNzZXRzL2ltYWdlcy9iZy9mb290X3llbGxvdy5wbmcnKTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOm5vbmUsdXJsKCcvYXNzZXRzL2ltYWdlcy9iZy9mb290X3llbGxvdy5zdmcnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5ibHVle1xuXHRcdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6dXJsKCcvYXNzZXRzL2ltYWdlcy9iZy9mb290X2JsdWUucG5nJyk7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTpub25lLHVybCgnL2Fzc2V0cy9pbWFnZXMvYmcvZm9vdF9ibHVlLnN2ZycpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgXHQgQ29udGFpbmVyOiBMYXlvdXRcbiAgIFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgLmNvbnRhaW5lcntcblx0XHQudGV4dC1jb250ZW50ICsgLnRleHQtY29udGVudHtcblx0XHRcdEBpbmNsdWRlIHRleHRQYWRkaW5nKCk7XG5cdFx0fVxuXHRcdCYgKyAuY29udGFpbmVye1xuXHRcdFx0QGluY2x1ZGUgY29udGFpbmVyUGFkZGluZygpO1xuXHRcdH1cblx0XHQmICsgLmNvbnRhaW5lci5pbWFnZWR1byxcblx0XHQmICsgLmNvbnRhaW5lci56aXRhdHtcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogNnJlbTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0cGFkZGluZy10b3A6IDEwcmVtO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxNHJlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0JiArIC5jb250YWluZXIua29udGFrdHtcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtZXIpe1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogNnJlbTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogOHJlbTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMTJyZW07XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlnZ2VyKXtcblx0XHRcdFx0cGFkZGluZy10b3A6IDE4cmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuY29udGVudHtcblx0XHQuY29udGFpbmVye1xuXHRcdFx0JjpsYXN0LWNoaWxke1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogM3JlbTtcblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiA0cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwcmVkZXNrdG9wKXtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNnJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDEwcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmNvbnRhaW5lci5pbWFnZWR1byArIC5jb250YWluZXIuaW1hZ2VkdW97XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRwYWRkaW5nLXRvcDogOHJlbTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHByZWRlc2t0b3Ape1xuXHRcdFx0cGFkZGluZy10b3A6IDEwcmVtO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRwYWRkaW5nLXRvcDogMTJyZW07XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWdnZXIpe1xuXHRcdFx0cGFkZGluZy10b3A6IDE0cmVtO1xuXHRcdH1cblx0fVxuXG5cdC5jb250YWluZXIuaW1hZ2VkdW97XG5cdFx0JiArIC5jb250YWluZXJ7XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdFx0cGFkZGluZy10b3A6IDZyZW07XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxMHJlbTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWdnZXIpe1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMTRyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYgKyAuY29udGFpbmVyLmtvbnRha3R7XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcblx0XHRcdFx0cGFkZGluZy10b3A6IDZyZW07XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdFx0cGFkZGluZy10b3A6IDhyZW07XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KXtcblx0XHRcdFx0cGFkZGluZy10b3A6IDEwcmVtO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMTRyZW07XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlnZ2VyKXtcblx0XHRcdFx0cGFkZGluZy10b3A6IDE2cmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fSIsIkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vL1xuLy8vIERvIG5vdCBvdmVycmlkZSB0aGlzIHZhbHVlLCBvciB0aGluZ3Mgd2lsbCBicmVha1xuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9pc3N1ZXMvMTIyXG4vLy8gQGRlcHJlY2F0ZWQgVGhpcyBzZXR0aW5nIHdpbGwgYmUgcmVtb3ZlZCBpbiBzYXNzLW1xIHY2LjAuMFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChzdWNoIGFzIHRoZSBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aC4gRm9yIGV4YW1wbGU6IChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAkbXEtc2hvdy1icmVha3BvaW50czogKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKTtcbi8vLyAgIEBpbXBvcnQgJ3BhdGgvdG8vbXEnO1xuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGZvciBleGFtcGxlOiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBpZ25vcmUgQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSBbJG1xLWJhc2UtZm9udC1zaXplXSAtIGA8Ym9keT5gIGZvbnQgc2l6ZSAoZGVwcmVjYXRlZClcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiAoJG1xLWJhc2UtZm9udC1zaXplICE9IDE2cHgpIHtcbiAgICAgICAgQHdhcm4gXCJPdmVycmlkaW5nICRtcS1iYXNlLWZvbnQtc2l6ZSB3aWxsIGJyZWFrIHRoaW5ncywgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvaXNzdWVzLzEyMi5cIjtcbiAgICB9XG4gICAgQGlmICgkYmFzZS1mb250LXNpemUgIT0gMTZweCkge1xuICAgICAgICBAd2FybiBcIlRoZSAkYmFzZS1mb250LXNpemUgYXJndW1lbnQgd2lsbCBiZSByZW1vdmVkIGluIHNhc3MtbXEgdjYuMC4wLCBhcyBvdmVycmlkaW5nIGl0IGJyZWFrcyB0aGluZ3MsIHNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL2lzc3Vlcy8xMjIuXCI7XG4gICAgfVxuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIFtmYWxzZV0gLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgW2ZhbHNlXSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgW2ZhbHNlXSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSBbJG1xLW1lZGlhLXR5cGVdIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskbXEtYnJlYWtwb2ludHNdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50IFskbXEtc3RhdGljLWJyZWFrcG9pbnRdXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgYW5kICRtZWRpYS10eXBlICE9ICdwcmludCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXG4gICAgQGVsc2Uge1xuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIFF1aWNrIHNvcnRcbi8vL1xuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxuQGZ1bmN0aW9uIF9tcS1xdWljay1zb3J0KCRsaXN0KSB7XG4gICAgJGxlc3M6ICAoKTtcbiAgICAkZXF1YWw6ICgpO1xuICAgICRsYXJnZTogKCk7XG5cbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xuICAgICAgICAkc2VlZDogbnRoKCRsaXN0LCBjZWlsKGxlbmd0aCgkbGlzdCkgLyAyKSk7XG5cbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRlcXVhbDogYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsZXNzOiBhcHBlbmQoJGxlc3MsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEByZXR1cm4gam9pbihqb2luKF9tcS1xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX21xLXF1aWNrLXNvcnQoJGxhcmdlKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcbiAgICAkbWFwLXNvcnRlZDogKCk7XG4gICAgJG1hcC1rZXlzOiBtYXAta2V5cygkbWFwKTtcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9tcS1xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcblxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcbiAgICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcbiAgICAgICAgJGluZGV4OiBpbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcbiAgICAgICAgJG1hcC1zb3J0ZWQ6IG1hcC1tZXJnZSgkbWFwLXNvcnRlZCwgKCRrZXk6ICR2YWx1ZSkpO1xuXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXG4gICAgICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxuICAgICAgICAkbWFwLXZhbHVlczogc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyBbJG1xLXNob3ctYnJlYWtwb2ludHNdIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJG1xLWJyZWFrcG9pbnRzXSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIGJvZHk6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjhFMztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgY29sb3I6ICNDMDk4NTM7XG4gICAgICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXG4gICAgICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgJHdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3ttcS1weDJlbSgkd2lkdGgpfSlcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmIGxlbmd0aCgkbXEtc2hvdy1icmVha3BvaW50cykgPiAwIHtcbiAgICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xufVxuIiwiQG1peGluIHBzZXVkby1ibG9jaygkZGlzcGxheTogYmxvY2spIHtcblx0Y29udGVudDogJyc7XG5cdGRpc3BsYXk6ICRkaXNwbGF5O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cblxuQG1peGluIGFmdGVyLXBzZXVkbygkcG9zaXRpb246IHJlbGF0aXZlKXtcblx0cG9zaXRpb246ICRwb3NpdGlvbjtcblx0JjphZnRlcntcblx0XHRAaW5jbHVkZSBwc2V1ZG8tYmxvY2s7XG5cdH1cbn1cblxuQG1peGluIGJlZm9yZS1wc2V1ZG8oJHBvc2l0aW9uOiByZWxhdGl2ZSl7XG5cdHBvc2l0aW9uOiAkcG9zaXRpb247XG5cdCY6YmVmb3Jle1xuXHRcdEBpbmNsdWRlIHBzZXVkby1ibG9jaztcblx0fVxufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4qIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHNcbiAqICAgIGh0dHA6Ly9jbGFnbnV0LmNvbS9ibG9nLzM0OC8jYzc5MFxuICogMi4gS2VlcHMgcGFnZSBjZW50cmVkIGluIGFsbCBicm93c2VycyByZWdhcmRsZXNzIG9mIGNvbnRlbnQgaGVpZ2h0XG4gKiAzLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbVxuICogICAgd3d3LjQ1NmJlcmVhc3RyZWV0LmNvbS9hcmNoaXZlLzIwMTAxMi9jb250cm9sbGluZ190ZXh0X3NpemVfaW5fc2FmYXJpX2Zvcl9pb3Nfd2l0aG91dF9kaXNhYmxpbmdfdXNlcl96b29tL1xuICogNC4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG5cdGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiA0ICovXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cblxuXG4gKi9cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICovXG5cbmEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKlxuICogSW1wcm92ZXMgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vyc1xuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogU2V0IGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuXG4gKi9cblxucSB7XG4gICAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcblxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZXMgYm9yZGVyIHdoZW4gaW5zaWRlICdhJyBlbGVtZW50IGluIElFNi83LzgvOSwgRkYzXG4gKiAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFN1xuICogICAgY29kZS5mbGlja3IuY29tL2Jsb2cvMjAwOC8xMS8xMi9vbi11aS1xdWFsaXR5LXRoZS1saXR0bGUtdGhpbmdzLWNsaWVudC1zaWRlLWltYWdlLXJlc2l6aW5nL1xuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xufVxuXG4vKlxuICogQ29ycmVjdHMgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFOVxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0cyBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFNi83XG4gKi9cblxuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgbWFyZ2luOjA7IC8qIGN1YmVncmFmaWsgKi9cbiAgICBwYWRkaW5nOjA7IC8qIGN1YmVncmFmaWsgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gIGJvcmRlcjogMDtcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG5cbiAqIDQuIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vyc1xuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogNCAqL1xufVxuXG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG5cbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUU3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUU2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAvKiA0ICovXG59XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cblxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblxuLyoqXG5cbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxsc1xuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVsZW1lbnRzIGN1YmVncmFmaWtcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmE6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG5cbmRpdiwgcCB7XG4gICAgcGFkZGluZzowO1xuICAgIG1hcmdpbjowO1xufVxuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxudGgsIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246bGVmdDtcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gICAgLyogUmVtb3ZlZCBiZWNhdXNlIG9mIHZpc2liaWxpdHljaGFuZ2UtYWRkaXRpb24gdG8gZmFuY3ktZm9ybXMgcGx1Z2luLlxuICAgICAqIDIwMTUvMDEvMjIgLSBGbG9yaWFuIE3DpGRlclxuICAgICAqIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsqL1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaHRtbCB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBTYWZhcmkgMy4wIC0gNS4wLCBDaHJvbWUgMSAtIDksIEFuZHJvaWQgMi4xIC0gMy54ICovXG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBGaXJlZm94IDEgLSAyOCAqL1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDUuMSssIENocm9tZSAxMCssIEZpcmVmb3ggMjkrLCBPcGVyYSA3KywgSUUgOCssIEFuZHJvaWQgNC4wKywgaU9TIGFueSAqL1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5sYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDEwICAqL1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogSUUgMTErICovXG59XG4iLCJodG1se1xuICAgIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKG9uKTtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cdCRmb250LXN0YWNrLWRlZmF1bHQ6IEhlbHZldGljYSwnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLHNhbnMtc2VyaWY7XG5cdCRmb250LXN0YWNrLXdlYmZvbnQtajogamFmLWJlcm5pbmEtc2Fucy1uYXJyb3csICRmb250LXN0YWNrLWRlZmF1bHQ7XG5cdCRmb250LXN0YWNrLXdlYmZvbnQtbTogbXlyaWFkLXBybywgJGZvbnQtc3RhY2stZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmYXVsdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblx0Ym9keXtcblx0XHRjb2xvcjogY29sb3IoZGVmYXVsdFRleHQpO1xuXHRcdGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1kZWZhdWx0O1xuXHRcdGZvbnQtc2l6ZTogc2N1dC1lbSgxNik7XG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogc2N1dC1lbSgtLjE1KTtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdHdvcmQtc3BhY2luZzogc2N1dC1lbSguNik7XG5cdFx0QGluY2x1ZGUgYnJlYWthbGwoKTtcblx0fVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBUaXRsZXNcbiAgIFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXHRoMSxcblx0LmgxLFxuXHQucXVvdGUgLnRleHR7XG5cdFx0Zm9udC1zaXplOiBzY3V0LWVtKDMwKTtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdG1hcmdpbjogMDtcblx0XHR3b3JkLXNwYWNpbmc6IHNjdXQtZW0oLTEpO1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDM2KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDQwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRmb250LXNpemU6IHNjdXQtZW0oNTApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRmb250LXNpemU6IHNjdXQtZW0oNjApO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IHNjdXQtZW0oLS4zNSk7XG5cdFx0XHR3b3JkLXNwYWNpbmc6IHNjdXQtZW0oLS40NSk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKXtcblx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSg3MCk7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogc2N1dC1lbSgtLjM1KTtcblx0XHRcdHdvcmQtc3BhY2luZzogc2N1dC1lbSgtLjQ1KTtcblx0XHR9XG5cdH1cblxuICAgXHRoMixcblx0Lmgye1xuXHRcdGZvbnQtc2l6ZTogc2N1dC1lbSgyNik7XG5cdFx0d29yZC1zcGFjaW5nOiBzY3V0LWVtKC0uOCk7XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSl7XG5cdFx0XHRmb250LXNpemU6IHNjdXQtZW0oMzApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRmb250LXNpemU6IHNjdXQtZW0oMzQpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KXtcblx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSg0Mik7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSg0Nik7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogc2N1dC1lbSgtLjI1KTtcblx0XHRcdHdvcmQtc3BhY2luZzogc2N1dC1lbSgtLjQwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGh1Z2Upe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDUwKTtcblx0XHR9XG5cdH1cblx0XG5cblx0aDMsXG5cdC5oM3tcblx0XHRmb250LXNpemU6IHNjdXQtZW0oMjIpO1xuXHRcdHdvcmQtc3BhY2luZzogc2N1dC1lbSgtLjgpO1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDI2KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDMwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRmb250LXNpemU6IHNjdXQtZW0oMzYpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRmb250LXNpemU6IHNjdXQtZW0oNDApO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IHNjdXQtZW0oLS4yNSk7XG5cdFx0XHR3b3JkLXNwYWNpbmc6IHNjdXQtZW0oLS40MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKXtcblx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSg0NCk7XG5cdFx0fVxuXHR9XG5cblx0aDQsXG5cdC5oNHtcblx0XHRmb250LXNpemU6IHNjdXQtZW0oMjApO1xuXHRcdHdvcmQtc3BhY2luZzogc2N1dC1lbSgtLjUpO1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDI0KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDI2KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRmb250LXNpemU6IHNjdXQtZW0oMzIpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRmb250LXNpemU6IHNjdXQtZW0oMzYpO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IHNjdXQtZW0oLS4yNSk7XG5cdFx0XHR3b3JkLXNwYWNpbmc6IHNjdXQtZW0oLS40MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKXtcblx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSg0MCk7XG5cdFx0fVxuXHR9XG5cblx0aDUsXG5cdC5oNXtcblx0XHRmb250LXNpemU6IHNjdXQtZW0oMTgpO1xuXHRcdHdvcmQtc3BhY2luZzogc2N1dC1lbSgtLjMpO1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDIyKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDI0KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRmb250LXNpemU6IHNjdXQtZW0oMjgpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRmb250LXNpemU6IHNjdXQtZW0oMzIpO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IHNjdXQtZW0oLS4yKTtcblx0XHRcdHdvcmQtc3BhY2luZzogc2N1dC1lbSgtLjMpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG5cdFx0XHRmb250LXNpemU6IHNjdXQtZW0oMzYpO1xuXHRcdH1cblx0fVxuXG5cdGg2LFxuXHQuaDZ7XG5cdFx0Zm9udC1zaXplOiBzY3V0LWVtKDE2KTtcblx0XHR3b3JkLXNwYWNpbmc6IHNjdXQtZW0oLS4zKTtcblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKXtcblx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSgxOCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSgyMCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDIyKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDI0KTtcblx0XHRcdGxldHRlci1zcGFjaW5nOiBzY3V0LWVtKC0uMik7XG5cdFx0XHR3b3JkLXNwYWNpbmc6IHNjdXQtZW0oLS4zKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGh1Z2Upe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDI4KTtcblx0XHR9XG5cdH1cblxuXHRoMixcblx0LmgyLFxuXHRoMyxcblx0LmgzLFxuXHRoNCxcblx0Lmg0LFxuXHRoNSxcblx0Lmg1e1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdH1cblxuXHRoNixcblx0Lmg2e1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG1lcil7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdH1cblx0fVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgXHQgU2VtaWJvbGQgIFxuICAgXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cdGgxLFxuXHQuaDEsXG5cdGgyLFxuXHQuaDIsXG5cdGgzLFxuXHQuaDMsXG5cdGg0LFxuXHQuaDQsXG5cdGg1LFxuXHQuaDUsXG5cdGg2LFxuXHQuaDYsXG5cdC5uYXYtaXRlbSxcblx0LnNlY3Rpb24tdGl0bGUsXG5cdC5idG4sXG5cdC5jb250YWN0LWxpc3QgZGR7XG5cdCAgIFx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWRlZmF1bHQ7XG5cdCAgIFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0ICBcdGxldHRlci1zcGFjaW5nOiBzY3V0LWVtKC0uMTUpO1xuXHRcdG1hcmdpbjogMDtcblx0ICAgXHR3b3JkLXNwYWNpbmc6IHNjdXQtZW0oLjYpO1xuICBcdH1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBTZW1pYm9sZCBMYXVmdGV4dFxuICAgXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXHRiLFxuXHRzdHJvbmd7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWRlZmF1bHQ7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogc2N1dC1lbSgtLjYpO1xuXHRcdHdvcmQtc3BhY2luZzogc2N1dC1lbSguODUpO1xuXHR9XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhcmFncmFwaHMsIExpc3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cdHAubGVhZHtcblx0XHRmb250LXNpemU6IHNjdXQtZW0oMjApO1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSgyMik7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDI0KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDI2KTtcblx0XHR9XG5cdH1cblxuXHRwLFxuXHRkbCxcblx0dWx7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHRwLFxuXHRkbCxcblx0dWwsXG5cdC5icmVhZGNydW1icy10aXRsZXtcblx0XHRmb250LXNpemU6IHNjdXQtZW0oMTYpO1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSgxOCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDIwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDIyKTtcblx0XHR9XG5cdH1cblxuXHQjY29udGVudHtcblx0XHQqICsgcCxcblx0XHQqICsgdWwsXG5cdFx0KiArIGRsLFxuXHRcdCogKyBoMixcblx0XHQqICsgaDMsXG5cdFx0KiArIGg0LFxuXHRcdCogKyBoNSxcblx0XHQqICsgaDZ7XG5cdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1lbSgxNCk7XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LWVtKDE2KTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1lbSgxOCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LWVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuaDIgKyAqLFxuICAgICAgICBoMiArICp7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0UGFkZGluZztcbiAgICAgICAgfVxuICAgICAgICAuaDMgKyAqLFxuXHRcdGgzICsgKntcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDE4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1lbSgyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1lbSgyMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtZW0oMjQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtZW0oMjYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5oNCArICosXG5cdFx0aDQgKyAqe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtZW0oMTQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDE4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1lbSgyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogYmlnZ2VyKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1lbSgyMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmg1ICsgKixcblx0XHRoNSArICp7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1lbSgxMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtZW0oMTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtZW0oMTQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBiaWdnZXIpe1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDE4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaDYgKyAqLFxuXHRcdGg2ICsgKntcblx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LWVtKDYpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtZW0oMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDEyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBiaWdnZXIpe1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDE0KTtcbiAgICAgICAgICAgIH1cblx0XHR9XG5cblx0XHQqICtcdC5ub3BhZGRpbmd7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cblx0XHQqICtcdC5zbWFsbHBhZGRpbmd7XG5cdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1lbSg3KTtcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdFx0cGFkZGluZy10b3A6IHNjdXQtZW0oOCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KXtcblx0XHRcdFx0cGFkZGluZy10b3A6IHNjdXQtZW0oOSk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LWVtKDEwKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR1bHtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0fVxuXG5cblx0XHR1bC5iaWd7XG5cdFx0XHRsaXtcblx0XHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDE4KTtcblx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogc2N1dC1yZW0oMTIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBRdWlya3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblx0Lm5ldy1saW5le1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0cC5zbWFsbHtcblx0XHRmb250LXNpemU6IDgwJTtcblx0fVxuXG4iLCJAbWl4aW4gYnJlYWthbGwoKSB7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0aHlwaGVuczogYXV0bztcblx0aHlwaGVuYXRlLWxpbWl0LWNoYXJzOiA2IDMgNDtcbn1cblxuQG1peGluIHVuYnJlYWthbGwoKXtcblx0d29yZC13cmFwOiBub3JtYWw7XG5cdG92ZXJmbG93LXdyYXA6IG5vcm1hbDtcblx0aHlwaGVuczogbm9uZTtcbn1cblxuQG1peGluIGJyZWFrYWxsLWJydXRlZm9yY2UoKSB7XG5cdC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIC8vIE5vbiBzdGFuZGFyZCBmb3Igd2Via2l0XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuQG1peGluIHVuYnJlYWthbGwtYnJ1dGVmb3JjZSgpIHtcblx0LW1zLXdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgLy8gTm9uIHN0YW5kYXJkIGZvciB3ZWJraXRcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblx0YXtcblx0XHRjb2xvcjogY29sb3IoZGVmYXVsdFRleHQpO1xuXHR9XG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFx0IFdlYmZvbnRzXG4gICBcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBMYXVmc2NocmlmdCAoTXlyaWFkIFJlZ3VsYXIpXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblx0Lm5vLWpzLFxuXHQud2ZfbXtcblx0XHRib2R5e1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXdlYmZvbnQtbTtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwO1xuXHRcdFx0d29yZC1zcGFjaW5nOiAwO1xuXHRcdH1cblx0fVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICBMYXVmc2NocmlmdCBCb2xkIChNeXJpYWQgU2VtaWJvbGQpXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblx0Lm5vLWpzLFxuXHQud2ZfbWJ7XG5cdFx0Yixcblx0XHRzdHJvbmd7XG5cdFx0XHRmb250LWZhbWlseTogJGZvbnQtc3RhY2std2ViZm9udC1tO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDA7XG5cdFx0XHR3b3JkLXNwYWNpbmc6IDA7XG5cdFx0fVxuXHR9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBJdGFsaWMgKG5vdCBpbiB1c2UgYXQgdGhlIG1vbWVudClcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblx0LypcbiAgIFx0Lm5vLWpzLFxuICAgXHQud2ZfbGlnaHQtaXRhbGlje1xuICAgXHRcdGVte1xuICAgXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXdlYmZvbnQ7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMDtcblx0XHRcdHdvcmQtc3BhY2luZzogMDtcbiAgIFx0XHR9XG4gICBcdH1cblx0Ki9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFx0IEJvbGQgKClcbiAgIFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXHQubm8tanMsXG5cdC53Zl9ib2xke1xuXHRcdC53ZWJzaXRlLXRpdGxlLFxuXHRcdGgxLFxuXHRcdC5oMSxcblx0XHRoMixcblx0XHQuaDIsXG5cdFx0aDMsXG5cdFx0LmgzLFxuXHRcdGg0LFxuXHRcdC5oNCxcblx0XHRoNSxcblx0XHQuaDUsXG5cdFx0aDYsXG5cdFx0Lmg2LFxuXHRcdC5icmVhZGNydW1icyxcblx0XHQuYnRuLFxuXHRcdC5zZWN0aW9uLXRpdGxlLFxuXHRcdC5saW5rLFxuXHRcdC5idXR0b24sXG5cdFx0Lm5hdi1pdGVtLFxuXHRcdC5xdW90ZSAudGV4dCxcblx0XHQuY29udGFjdC1saXN0IGRke1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXdlYmZvbnQtajtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwO1xuXHRcdFx0d29yZC1zcGFjaW5nOiAwO1xuXHRcdH1cblx0fVxuIiwiLnNtb290aC1zY3JvbGx7XG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4uaGlkZS12aXN1YWxseXtcblx0QGluY2x1ZGUgdmlzdWFsbHloaWRkZW4oKTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBHcmlkIEZ1bGwgKEZsb2F0KVxuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAucm93LmZ1bGx7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0kaXRlbVBhZGRpbmcqMjtcbiAgICAgICAgLmNvbC0xLFxuICAgICAgICAuY29sLTIsXG4gICAgICAgIC5jb2wtMyxcbiAgICAgICAgLmNvbC00LFxuICAgICAgICAuY29sLTUsXG4gICAgICAgIC5jb2wtNixcbiAgICAgICAgLmNvbC03LFxuICAgICAgICAuY29sLTgsXG4gICAgICAgIC5jb2wtOSxcbiAgICAgICAgLmNvbC0xMCxcbiAgICAgICAgLmNvbC0xMXtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkaXRlbVBhZGRpbmcqMjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy9cbiAgICAgICAgLy8gIGNvbHVtbnMgc3RhcnRpbmcgZnJvbSBwYWxtZXJcbiAgICAgICAgLy9cbiAgICAgICAgJi5wbG1ye1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG1lcil7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRpdGVtUGFkZGluZ1NtYWxsKjI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0gJGl0ZW1QYWRkaW5nU21hbGw7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtICRpdGVtUGFkZGluZ1NtYWxsO1xuICAgICAgICAgICAgICAgICYgPiAuY29sLTEsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtMixcbiAgICAgICAgICAgICAgICAmID4gLmNvbC0zLFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTQsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtNSxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC02LFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTcsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtOCxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC05LFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTEwLFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTExLFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTEye1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRpdGVtUGFkZGluZ1NtYWxsKjI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGl0ZW1QYWRkaW5nU21hbGw7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpdGVtUGFkZGluZ1NtYWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmID4gLmNvbC0xe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOC4zMzMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAuY29sLTJ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAuY29sLTN7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAuY29sLTR7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmID4gLmNvbC01e1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDEuNjY3JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtNntcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtN3tcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU4LjMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAuY29sLTh7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2Ni42NjclO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmID4gLmNvbC05e1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmID4gLmNvbC0xMHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgzLjMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAuY29sLTExe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTEuNjY3JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtMTJ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcblxuICAgICAgICAvL1xuICAgICAgICAvLyAgY29sdW1ucyBzdGFydGluZyBmcm9tIHRhYmxldFxuICAgICAgICAvL1xuICAgICAgICAmLnRibHR7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGl0ZW1QYWRkaW5nU21hbGwqMjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSAkaXRlbVBhZGRpbmdTbWFsbDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0gJGl0ZW1QYWRkaW5nU21hbGw7XG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtMSxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC0yLFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTMsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtNCxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC01LFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTYsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtNyxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC04LFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTksXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtMTAsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtMTEsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtMTJ7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGl0ZW1QYWRkaW5nU21hbGwqMjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaXRlbVBhZGRpbmdTbWFsbDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGl0ZW1QYWRkaW5nU21hbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAuY29sLTF7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtMntcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtM3tcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtNHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAuY29sLTV7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MS42NjclO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmID4gLmNvbC02e1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmID4gLmNvbC03e1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTguMzMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtOHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY2LjY2NyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAuY29sLTl7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAuY29sLTEwe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogODMuMzMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtMTF7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MS42NjclO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmID4gLmNvbC0xMntcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5iaWdnYXBze1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRpdGVtUGFkZGluZ1NtYWxsKjQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0gJGl0ZW1QYWRkaW5nU21hbGwqMjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0gJGl0ZW1QYWRkaW5nU21hbGwqMjtcbiAgICAgICAgICAgICAgICAmID4gLmNvbC0xLFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTIsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtMyxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC00LFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTUsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtNixcbiAgICAgICAgICAgICAgICAmID4gLmNvbC03LFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTgsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtOSxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC0xMCxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC0xMSxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC0xMntcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRpdGVtUGFkZGluZ1NtYWxsKjQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGl0ZW1QYWRkaW5nU21hbGwqMjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGl0ZW1QYWRkaW5nU21hbGwqMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRpdGVtUGFkZGluZyo0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtICRpdGVtUGFkZGluZyoyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSAkaXRlbVBhZGRpbmcqMjtcbiAgICAgICAgICAgICAgICAmID4gLmNvbC0xLFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTIsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtMyxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC00LFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTUsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtNixcbiAgICAgICAgICAgICAgICAmID4gLmNvbC03LFxuICAgICAgICAgICAgICAgICYgPiAuY29sLTgsXG4gICAgICAgICAgICAgICAgJiA+IC5jb2wtOSxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC0xMCxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC0xMSxcbiAgICAgICAgICAgICAgICAmID4gLmNvbC0xMntcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRpdGVtUGFkZGluZyo0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpdGVtUGFkZGluZyoyO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaXRlbVBhZGRpbmcqMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvL1xuICAgICAgICAvLyBmaWZ0eSB1bnRpbCBkZXNrdG9wXG4gICAgICAgIC8vXG4gICAgICAgICYuZmlmdHl7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gZmlmdHkgZnJvbSBwYWxtZXIgdW50aWwgZGVza3RvcFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICYucGxtcntcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kaXRlbVBhZGRpbmdTbWFsbCoyO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSAkaXRlbVBhZGRpbmdTbWFsbDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtICRpdGVtUGFkZGluZ1NtYWxsO1xuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC0xLFxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC0yLFxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC0zLFxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC00LFxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC01LFxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC02LFxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC03LFxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC04LFxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC05LFxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC0xMCxcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtMTEsXG4gICAgICAgICAgICAgICAgICAgICYgPiAuY29sLTEye1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGl0ZW1QYWRkaW5nU21hbGwqMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGl0ZW1QYWRkaW5nU21hbGw7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaXRlbVBhZGRpbmdTbWFsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG4gICAgICAgICAgICAgICAgICAgICYgPiAuY29sLTF7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOC4zMzMzMyU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtMntcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtM3tcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtNHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgPiAuY29sLTV7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDEuNjY3JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC02e1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC03e1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU4LjMzMyU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtOHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2Ni42NjclO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgPiAuY29sLTl7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgPiAuY29sLTEwe1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgzLjMzMyU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtMTF7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTEuNjY3JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC0xMntcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vICBmaWZ0eSBmcm9tIGJpZ3RhYmxldCB1bnRpbCBkZXNrdG9wXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgJi5iZ3RibHR7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGl0ZW1QYWRkaW5nU21hbGwqMjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0gJGl0ZW1QYWRkaW5nU21hbGw7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSAkaXRlbVBhZGRpbmdTbWFsbDtcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtMSxcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtMixcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtMyxcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtNCxcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtNSxcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtNixcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtNyxcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtOCxcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtOSxcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtMTAsXG4gICAgICAgICAgICAgICAgICAgICYgPiAuY29sLTExLFxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC0xMntcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRpdGVtUGFkZGluZ1NtYWxsKjI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpdGVtUGFkZGluZ1NtYWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGl0ZW1QYWRkaW5nU21hbGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgPiAuY29sLTF7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOC4zMzMzMyU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtMntcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtM3tcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtNHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgPiAuY29sLTV7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDEuNjY3JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC02e1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC03e1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU4LjMzMyU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtOHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2Ni42NjclO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgPiAuY29sLTl7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgPiAuY29sLTEwe1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgzLjMzMyU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiA+IC5jb2wtMTF7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTEuNjY3JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmID4gLmNvbC0xMntcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kaXRlbVBhZGRpbmcqMjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtICRpdGVtUGFkZGluZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSAkaXRlbVBhZGRpbmc7XG4gICAgICAgICAgICAmID4gLmNvbC0xLFxuICAgICAgICAgICAgJiA+IC5jb2wtMixcbiAgICAgICAgICAgICYgPiAuY29sLTMsXG4gICAgICAgICAgICAmID4gLmNvbC00LFxuICAgICAgICAgICAgJiA+IC5jb2wtNSxcbiAgICAgICAgICAgICYgPiAuY29sLTYsXG4gICAgICAgICAgICAmID4gLmNvbC03LFxuICAgICAgICAgICAgJiA+IC5jb2wtOCxcbiAgICAgICAgICAgICYgPiAuY29sLTksXG4gICAgICAgICAgICAmID4gLmNvbC0xMCxcbiAgICAgICAgICAgICYgPiAuY29sLTExLFxuICAgICAgICAgICAgJiA+IC5jb2wtMTJ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRpdGVtUGFkZGluZyoyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGl0ZW1QYWRkaW5nO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpdGVtUGFkZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnRleHR7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgJiA+IC5jb2wtMSxcbiAgICAgICAgICAgICYgPiAuY29sLTIsXG4gICAgICAgICAgICAmID4gLmNvbC0zLFxuICAgICAgICAgICAgJiA+IC5jb2wtNCxcbiAgICAgICAgICAgICYgPiAuY29sLTUsXG4gICAgICAgICAgICAmID4gLmNvbC02LFxuICAgICAgICAgICAgJiA+IC5jb2wtNyxcbiAgICAgICAgICAgICYgPiAuY29sLTgsXG4gICAgICAgICAgICAmID4gLmNvbC05LFxuICAgICAgICAgICAgJiA+IC5jb2wtMTAsXG4gICAgICAgICAgICAmID4gLmNvbC0xMSxcbiAgICAgICAgICAgICYgPiAuY29sLTEye1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiA+IC5jb2wtMSArICosXG4gICAgICAgICAgICAmID4gLmNvbC0yICsgKixcbiAgICAgICAgICAgICYgPiAuY29sLTMgKyAqLFxuICAgICAgICAgICAgJiA+IC5jb2wtNCArICosXG4gICAgICAgICAgICAmID4gLmNvbC01ICsgKixcbiAgICAgICAgICAgICYgPiAuY29sLTYgKyAqLFxuICAgICAgICAgICAgJiA+IC5jb2wtNyArICosXG4gICAgICAgICAgICAmID4gLmNvbC04ICsgKixcbiAgICAgICAgICAgICYgPiAuY29sLTkgKyAqLFxuICAgICAgICAgICAgJiA+IC5jb2wtMTAgKyAqLFxuICAgICAgICAgICAgJiA+IC5jb2wtMTEgKyAqe1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KXtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtcmVtKDUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICogKyAucm93LmZ1bGx7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkaXRlbVBhZGRpbmcqMlxuICAgIH0iLCJAbWl4aW4gY2xlYXJmaXgoKXtcblx0JjphZnRlcixcblx0JjpiZWZvcmV7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblx0JjphZnRlcntcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXHQqem9vbTogMTtcbn1cblxuQG1peGluIHVuY2xlYXJmaXgoKXtcblx0JjphZnRlcixcblx0JjpiZWZvcmV7XG5cdFx0Y29udGVudDogbm9uZTtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdH1cblx0JjphZnRlcntcblx0XHRjbGVhcjogbm9uZTtcblx0fVxuXHQqem9vbTogbm9ybWFsO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBHcmlkIEZ1bGwgKEZsZXgpXG4gICBcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblx0QHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XG5cdFx0LnJvdy5mdWxse1xuXHRcdFx0Ly9cblx0XHRcdC8vICBjb2x1bW5zIHN0YXJ0aW5nIGZyb20gcGFsbWVyXG5cdFx0XHQvL1xuXHRcdFx0Ji5wbG1ye1xuXHRcdFx0XHQmLnJldmVyc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtZXIpe1xuXHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcblx0XHRcdFx0XHRAaW5jbHVkZSB1bmNsZWFyZml4O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0XHRcdFx0XHQmID4gLmNvbC0xLFxuXHRcdFx0XHRcdCYgPiAuY29sLTIsXG5cdFx0XHRcdFx0JiA+IC5jb2wtMyxcblx0XHRcdFx0XHQmID4gLmNvbC00LFxuXHRcdFx0XHRcdCYgPiAuY29sLTUsXG5cdFx0XHRcdFx0JiA+IC5jb2wtNixcblx0XHRcdFx0XHQmID4gLmNvbC03LFxuXHRcdFx0XHRcdCYgPiAuY29sLTgsXG5cdFx0XHRcdFx0JiA+IC5jb2wtOSxcblx0XHRcdFx0XHQmID4gLmNvbC0xMCxcblx0XHRcdFx0XHQmID4gLmNvbC0xMSxcblx0XHRcdFx0XHQmID4gLmNvbC0xMntcblx0XHRcdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmID4gLmNvbC0xe1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIDguMzMzMzMlO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA4LjMzMzMzJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JiA+IC5jb2wtMntcblx0XHRcdFx0XHRcdGZsZXg6IDAgMCAxNi42NjY2NyU7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDE2LjY2NjY3JTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JiA+IC5jb2wtM3tcblx0XHRcdFx0XHRcdGZsZXg6IDAgMCAyNSU7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDI1JTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JiA+IC5jb2wtNHtcblx0XHRcdFx0XHRcdGZsZXg6IDAgMCAzMy4zMzMlO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAzMy4zMzMlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmID4gLmNvbC01e1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIDQxLjY2NyU7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDQxLjY2NyU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYgPiAuY29sLTZ7XG5cdFx0XHRcdFx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYgPiAuY29sLTd7XG5cdFx0XHRcdFx0XHRmbGV4OiAwIDAgNTguMzMzJTtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogNTguMzMzJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JiA+IC5jb2wtOHtcblx0XHRcdFx0XHRcdGZsZXg6IDAgMCA2Ni42NjclO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA2Ni42NjclO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmID4gLmNvbC05e1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIDc1JTtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogNzUlO1xuXHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JiA+IC5jb2wtMTB7XG5cdFx0XHRcdFx0XHRmbGV4OiAwIDAgODMuMzMzJTtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogODMuMzMzJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JiA+IC5jb2wtMTF7XG5cdFx0XHRcdFx0XHRmbGV4OiAwIDAgOTEuNjY2NjclO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA5MS42NjY2NyU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYgPiAuY29sLTEye1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFxuXHRcdFx0Ly9cblx0XHRcdC8vICBjb2x1bW5zIHN0YXJ0aW5nIGZyb20gdGFibGV0XG5cdFx0XHQvL1xuXHRcdFx0Ji50Ymx0e1xuXHRcdFx0XHQmLnJldmVyc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRcdFx0XHRAaW5jbHVkZSB1bmNsZWFyZml4O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0XHRcdFx0XHQmID4gLmNvbC0xLFxuXHRcdFx0XHRcdCYgPiAuY29sLTIsXG5cdFx0XHRcdFx0JiA+IC5jb2wtMyxcblx0XHRcdFx0XHQmID4gLmNvbC00LFxuXHRcdFx0XHRcdCYgPiAuY29sLTUsXG5cdFx0XHRcdFx0JiA+IC5jb2wtNixcblx0XHRcdFx0XHQmID4gLmNvbC03LFxuXHRcdFx0XHRcdCYgPiAuY29sLTgsXG5cdFx0XHRcdFx0JiA+IC5jb2wtOSxcblx0XHRcdFx0XHQmID4gLmNvbC0xMCxcblx0XHRcdFx0XHQmID4gLmNvbC0xMSxcblx0XHRcdFx0XHQmID4gLmNvbC0xMntcblx0XHRcdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmID4gLmNvbC0xe1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIDguMzMzMzMlO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA4LjMzMzMzJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JiA+IC5jb2wtMntcblx0XHRcdFx0XHRcdGZsZXg6IDAgMCAxNi42NjY2NyU7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDE2LjY2NjY3JTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JiA+IC5jb2wtM3tcblx0XHRcdFx0XHRcdGZsZXg6IDAgMCAyNSU7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDI1JTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JiA+IC5jb2wtNHtcblx0XHRcdFx0XHRcdGZsZXg6IDAgMCAzMy4zMzMlO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAzMy4zMzMlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmID4gLmNvbC01e1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIDQxLjY2NyU7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDQxLjY2NyU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYgPiAuY29sLTZ7XG5cdFx0XHRcdFx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYgPiAuY29sLTd7XG5cdFx0XHRcdFx0XHRmbGV4OiAwIDAgNTguMzMzJTtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogNTguMzMzJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JiA+IC5jb2wtOHtcblx0XHRcdFx0XHRcdGZsZXg6IDAgMCA2Ni42NjclO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA2Ni42NjclO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmID4gLmNvbC05e1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIDc1JTtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogNzUlO1xuXHRcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmID4gLmNvbC0xMHtcblx0XHRcdFx0XHRcdGZsZXg6IDAgMCA4My4zMzMlO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA4My4zMzMlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmID4gLmNvbC0xMXtcblx0XHRcdFx0XHRcdGZsZXg6IDAgMCA5MS42NjY2NyU7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDkxLjY2NjY3JTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JiA+IC5jb2wtMTJ7XG5cdFx0XHRcdFx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Ly9cblx0XHRcdC8vIGZpZnR5IGZyb20gcGFsbWVyIHVudGlsIGJpZ3RhYmxldFxuXHRcdFx0Ly9cblx0XHRcdCYuZmlmdHl7XG5cdFx0XHRcdCYucmV2ZXJzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG1lcil7XG5cdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC8vXG5cdFx0XHRcdC8vIGZpZnR5IGZyb20gcGFsbWVyIHVudGlsIGRlc2t0b3Bcblx0XHRcdFx0Ly9cblx0XHRcdFx0Ji5wbG1ye1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtZXIpe1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgdW5jbGVhcmZpeDtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXHRcdFx0XHRcdFx0JiA+IC5jb2wtMSxcblx0XHRcdFx0XHRcdCYgPiAuY29sLTIsXG5cdFx0XHRcdFx0XHQmID4gLmNvbC0zLFxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtNCxcblx0XHRcdFx0XHRcdCYgPiAuY29sLTUsXG5cdFx0XHRcdFx0XHQmID4gLmNvbC02LFxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtNyxcblx0XHRcdFx0XHRcdCYgPiAuY29sLTgsXG5cdFx0XHRcdFx0XHQmID4gLmNvbC05LFxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtMTAsXG5cdFx0XHRcdFx0XHQmID4gLmNvbC0xMSxcblx0XHRcdFx0XHRcdCYgPiAuY29sLTEye1xuXHRcdFx0XHRcdFx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdFx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0XHRcdFx0JiA+IC5jb2wtMXtcblx0XHRcdFx0XHRcdFx0ZmxleDogMCAwIDguMzMzMzMlO1xuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDguMzMzMzMlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtMntcblx0XHRcdFx0XHRcdFx0ZmxleDogMCAwIDE2LjY2NjY3JTtcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAxNi42NjY2NyU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmID4gLmNvbC0ze1xuXHRcdFx0XHRcdFx0XHRmbGV4OiAwIDAgMjUlO1xuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDI1JTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYgPiAuY29sLTR7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCAzMy4zMzMlO1xuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDMzLjMzMyU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmID4gLmNvbC01e1xuXHRcdFx0XHRcdFx0XHRmbGV4OiAwIDAgNDEuNjY3JTtcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA0MS42NjclO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtNntcblx0XHRcdFx0XHRcdFx0ZmxleDogMCAwIDUwJTtcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmID4gLmNvbC03e1xuXHRcdFx0XHRcdFx0XHRmbGV4OiAwIDAgNTguMzMzJTtcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA1OC4zMzMlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtOHtcblx0XHRcdFx0XHRcdFx0ZmxleDogMCAwIDY2LjY2NyU7XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogNjYuNjY3JTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYgPiAuY29sLTl7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCA3NSU7XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogNzUlO1xuXHRcdFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtMTB7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCA4My4zMzMlO1xuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDgzLjMzMyU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmID4gLmNvbC0xMXtcblx0XHRcdFx0XHRcdFx0ZmxleDogMCAwIDkxLjY2NjY3JTtcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA5MS42NjY2NyU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmID4gLmNvbC0xMntcblx0XHRcdFx0XHRcdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly9cblx0XHRcdFx0Ly8gIGZpZnR5IGZyb20gYmlndGFibGV0IHVudGlsIGRlc2t0b3Bcblx0XHRcdFx0Ly9cblx0XHRcdFx0Ji5iZ3RibHR7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSB1bmNsZWFyZml4O1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdFx0XHRcdFx0XHQmID4gLmNvbC0xLFxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtMixcblx0XHRcdFx0XHRcdCYgPiAuY29sLTMsXG5cdFx0XHRcdFx0XHQmID4gLmNvbC00LFxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtNSxcblx0XHRcdFx0XHRcdCYgPiAuY29sLTYsXG5cdFx0XHRcdFx0XHQmID4gLmNvbC03LFxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtOCxcblx0XHRcdFx0XHRcdCYgPiAuY29sLTksXG5cdFx0XHRcdFx0XHQmID4gLmNvbC0xMCxcblx0XHRcdFx0XHRcdCYgPiAuY29sLTExLFxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtMTJ7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0XHRcdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYgPiAuY29sLTF7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCA4LjMzMzMzJTtcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA4LjMzMzMzJTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYgPiAuY29sLTJ7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCAxNi42NjY2NyU7XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogMTYuNjY2NjclO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtM3tcblx0XHRcdFx0XHRcdFx0ZmxleDogMCAwIDI1JTtcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAyNSU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmID4gLmNvbC00e1xuXHRcdFx0XHRcdFx0XHRmbGV4OiAwIDAgMzMuMzMzJTtcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAzMy4zMzMlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtNXtcblx0XHRcdFx0XHRcdFx0ZmxleDogMCAwIDQxLjY2NyU7XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogNDEuNjY3JTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYgPiAuY29sLTZ7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtN3tcblx0XHRcdFx0XHRcdFx0ZmxleDogMCAwIDU4LjMzMyU7XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogNTguMzMzJTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYgPiAuY29sLTh7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCA2Ni42NjclO1xuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDY2LjY2NyU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmID4gLmNvbC05e1xuXHRcdFx0XHRcdFx0XHRmbGV4OiAwIDAgNzUlO1xuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDc1JTtcblx0XHRcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYgPiAuY29sLTEwe1xuXHRcdFx0XHRcdFx0XHRmbGV4OiAwIDAgODMuMzMzJTtcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA4My4zMzMlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtMTF7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCA5MS42NjY2NyU7XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogOTEuNjY2NjclO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JiA+IC5jb2wtMTJ7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCIsIi53ZWJzaXRlLWhlYWRlcntcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxMDtcblx0LndyYXBwZXJ7XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXgoKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogc2N1dC1lbSgyMCk7XG5cdFx0cGFkZGluZy10b3A6IHNjdXQtZW0oMjApO1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpe1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHNjdXQtZW0oMzApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogdHdlZW4pe1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHNjdXQtZW0oMzApO1xuXHRcdFx0cGFkZGluZy10b3A6IHNjdXQtZW0oNDApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcblx0XHRcdHBhZGRpbmctYm90dG9tOiBzY3V0LWVtKDQwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogc2N1dC1lbSg1MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwcmVkZXNrdG9wKXtcblx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LWVtKDUwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHNjdXQtZW0oNjApO1xuXHRcdFx0cGFkZGluZy10b3A6IHNjdXQtZW0oNzApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogc2N1dC1lbSgxMDApO1xuXHRcdFx0cGFkZGluZy10b3A6IHNjdXQtZW0oODApO1xuXHRcdH1cblx0fVxufVxuXG4ud2Vic2l0ZS10aXRsZXtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdCYuaGFzbG9nb3tcblx0XHQudGV4dHtcblx0XHRcdEBpbmNsdWRlIHZpc3VhbGx5aGlkZGVuO1xuXHRcdH1cblx0XHR3aWR0aDogc2N1dC1yZW0oMTAwKTtcblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogbWluaSl7XG5cdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oNik7XG5cdFx0XHR3aWR0aDogc2N1dC1yZW0oMTQwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSl7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdHdpZHRoOiBzY3V0LXJlbSgxODApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRtYXgtd2lkdGg6IHNjdXQtcmVtKDI0MCk7XG5cdFx0XHR3aWR0aDogMzUlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcblx0XHRcdG1heC13aWR0aDogc2N1dC1yZW0oMjYwKTtcblx0XHRcdHdpZHRoOiA0MCU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdG1heC13aWR0aDogc2N1dC1yZW0oMjAwKTtcblx0XHRcdHdpZHRoOiAyMCU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKXtcblx0XHRcdG1heC13aWR0aDogc2N1dC1yZW0oMjgwKTtcblx0XHRcdHdpZHRoOiAyNCU7XG5cdFx0fVxuXHR9XHRcbn1cbiIsIi5zaXRlLWZvb3RlcntcblxuICAgIC5mb290ZXItbG9nb3tcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtaW5pKXtcblx0XHRcdHdpZHRoOiBzY3V0LXJlbSgxNDApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKXtcblx0XHRcdHdpZHRoOiBzY3V0LXJlbSgxODApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRtYXgtd2lkdGg6IHNjdXQtcmVtKDI0MCk7XG5cdFx0XHR3aWR0aDogMzUlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcblx0XHRcdG1heC13aWR0aDogc2N1dC1yZW0oMjYwKTtcblx0XHRcdHdpZHRoOiA0MCU7XG5cdFx0fVxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNjdXQtcmVtKDIwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGh1Z2Upe1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc2N1dC1yZW0oNDApO1xuXHRcdFx0bWF4LXdpZHRoOiBzY3V0LXJlbSgzNDApO1xuXHRcdFx0d2lkdGg6IDMwJTtcblx0XHR9XG4gICAgICAgIC5sb2dvLWltYWdle1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNjdXQtcmVtKC0yJSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNjdXQtcmVtKC00JSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmb290ZXJQYWRkaW5nKCk7XG5cbiAgICAucm93LmZ1bGwgKyAucm93LmZ1bGx7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtZXIpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtcmVtKDYwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1yZW0oODApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWx7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICAgIHAsXG4gICAgdWx7XG4gICAgICAgIGZvbnQtc2l6ZTogc2N1dC1lbSgxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSgxNCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDE2KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDE4KTtcblx0XHR9XG4gICAgfVxuXG4gICAgdWx7XG4gICAgICAgIGxpICsgbGl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1lbSgxMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtZW0oOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1lbSg2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg0ICsgKixcbiAgICBoNSArICp7XG4gICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LXJlbSgxMCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDEyKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDIwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1lbSgzMCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1lbSg0MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRyICsgKiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LXJlbSgxNCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDE2KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG57XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzY3V0LWVtKDEpO1xuICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1lbSgzKTtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG4gICAgICAgICAgICBmb250LXNpemU6IHNjdXQtZW0oMTQpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSgxNCk7XG5cdFx0fVxuICAgIH1cblxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZhdWx0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHQuanVtcHRvY29udGVudHtcblx0XHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbigpO1xuXHR9XG5cdC5uYXZpLW9wZW5lcntcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBjb2xvcihkZWZhdWx0VGV4dCkgMCUsIGNvbG9yKGRlZmF1bHRUZXh0KSAxMDAlKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDAlIDEwMCU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiBzY3V0LXJlbSg0MCk7XG5cdFx0bWFyZ2luLWxlZnQ6IHNjdXQtcmVtKC04KTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIC4ycyBlYXNlLWluLW91dDtcblx0XHR3aWR0aDogc2N1dC1yZW0oNDApO1xuXHRcdHdpbGwtY2hhbmdlOiBhdXRvO1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtaW5pKXtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcHJlZGVza3RvcCl7XG5cdFx0XHRtYXJnaW4tdG9wOiBzY3V0LXJlbSgxNik7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKXtcblx0XHRcdGhlaWdodDogc2N1dC1yZW0oNDIpO1xuXHRcdFx0d2lkdGg6IHNjdXQtcmVtKDQyKTtcblx0XHR9XG5cdFx0JjphZnRlcixcblx0XHQmOmJlZm9yZXtcblx0XHRcdEBpbmNsdWRlIHBzZXVkby1ibG9jaygpO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGh1Z2Upe1xuXHRcdFx0XHR3aWR0aDogMjJweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0JjphZnRlcntcblx0XHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDJweCBjb2xvcihkYXJrQm9yZGVyQ29sb3IpO1xuXHRcdFx0Ym9yZGVyLXRvcDogc29saWQgMnB4IGNvbG9yKGRhcmtCb3JkZXJDb2xvcik7XG5cdFx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjNzIGVhc2UtaW4tb3V0LCBoZWlnaHQgLjJzIGVhc2UtaW4tb3V0O1xuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGh1Z2Upe1xuXHRcdFx0XHRoZWlnaHQ6IDE0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6YmVmb3Jle1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoZGFya0JhY2tncm91bmRDb2xvcik7XG5cdFx0XHRoZWlnaHQ6IDJweDtcblx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0O1xuXHRcdH1cblx0XHQudGV4dC13cmFwcGVye1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRAaW5jbHVkZSBwc2V1ZG8tYmxvY2soKTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXItdG9wOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdHJpZ2h0OiAwJTtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zMDAlLCAtNTAlKTtcblx0XHRcdFx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCAuMXM7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6Zm9jdXMsXG5cdFx0Jjpob3Zlcntcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJyaWdodEJhY2tncm91bmRDb2xvcik7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC02MCUsIC01MCUpO1xuXHRcdFx0fVxuXHRcdFx0LnRleHQtd3JhcHBlcntcblx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6IGNvbG9yKGJyaWdodEJhY2tncm91bmRDb2xvcik7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIC01MCUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lm5hdi1pdGVte1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0fVxuXHQubGFuZy1tZW51LFxuXHQubmF2LW1lbnUsXG5cdC5zdWItbWVudXtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHR9XG5cblx0LnNpdGUtbmF2e1xuXHRcdC5tZW51LXRpdGxle1xuXHRcdFx0QGluY2x1ZGUgdmlzdWFsbHloaWRkZW4oKTtcblx0XHR9XG5cdFx0Lm5hdi1tZW51e1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENsb3NlZCBPZmYgQ2FudmFzIE5hdmlnYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblx0I29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCl7XG5cdFx0Lmp1bXB0b2NvbnRlbnQ6Zm9jdXN7XG5cdFx0XHRAaW5jbHVkZSB2aXN1YWxseXVuaGlkZGVuKCk7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRmb250LXNpemU6IHNjdXQtcmVtKDE2KTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1yZW0oMjApO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMS40ZW07XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogc2N1dC1yZW0oMTgpO1xuXHRcdFx0fVxuXHRcdFx0JjphZnRlcixcblx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRAaW5jbHVkZSBwc2V1ZG8tYmxvY2s7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0ICBcdFx0Ym9yZGVyLXJpZ2h0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlci10b3A6IDZweCBzb2xpZCBjb2xvcihkYXJrQmFja2dyb3VuZENvbG9yKTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAycHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDFweDtcblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0XHRcdGJvcmRlci1sZWZ0LXdpZHRoOiA0cHg7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiA0cHg7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogN3B4O1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoZGFya0JhY2tncm91bmRDb2xvcik7XG5cdFx0XHRcdGhlaWdodDogMTRweDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDdweDtcblx0XHRcdFx0d2lkdGg6IDJweDtcblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0XHRcdGhlaWdodDogMTdweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnRleHR7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIGNvbG9yKGRlZmF1bHRUZXh0KSAwJSwgY29sb3IoZGVmYXVsdFRleHQpIDEwMCUpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJSA3JTtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IHNjdXQtcmVtKDQpO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgLjJzO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQubGFuZy1uYXZ7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQud2Vic2l0ZS1uYXZpe1xuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHByZWRlc2t0b3Ape1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogNSU7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiBzY3V0LXJlbSgyMCk7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHNjdXQtcmVtKDQwKTtcblx0XHRcdFx0cGFkZGluZy10b3A6IHNjdXQtcmVtKDI2KTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMCU7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlnZ2VyKXtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxNSU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5tZW51LW9wZW5lZHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdC5zaXRlLW5hdntcblx0XHRcdEBpbmNsdWRlIHZpc3VhbGx5aGlkZGVuKCk7XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcHJlZGVza3RvcCl7XG5cdFx0XHRcdEBpbmNsdWRlIHZpc3VhbGx5dW5oaWRkZW4oKTtcblx0XHRcdH1cblx0XHRcdC5uYXYtbWVudXtcblx0XHRcdFx0Zm9udC1zaXplOiBzY3V0LXJlbSgxNik7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiBzY3V0LXJlbSgxOCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5uYXYtaXRlbXtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdH1cblx0XHRcdC5uYXYtaXRlbSArIC5uYXYtaXRlbXtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiBzY3V0LXJlbSgyMCk7XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHNjdXQtcmVtKDMwKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiBzY3V0LXJlbSg0MCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5uYXYtbGlua3tcblx0XHRcdFx0cGFkZGluZzogc2N1dC1yZW0oMTApIHNjdXQtcmVtKDEyKSBzY3V0LXJlbSg0KTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHQudGV4dHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBjb2xvcihkZWZhdWx0VGV4dCkgMCUsIGNvbG9yKGRlZmF1bHRUZXh0KSAxMDAlKTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDgwJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMCUgNyU7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IHNjdXQtcmVtKDQpO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAuMnM7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5uYXYtaXRlbS5hY3RpdmUgLm5hdi1saW5rLFxuXHRcdFx0Lm5hdi1saW5rOmFjdGl2ZSxcblx0XHRcdC5uYXYtbGluazpmb2N1cyxcblx0XHRcdC5uYXYtbGluazpob3Zlcntcblx0XHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdFx0LnRleHR7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDclO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5zdWItbWVudXtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lm5hdmktY2xvc2Vye1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0fVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT3BlbmVkIE9mZiBDYW52YXMgTmF2aWdhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXHQjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldHtcblx0XHQuaW5uZXItd3JhcHBlcntcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgMCk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7XG5cdFx0fVxuXHRcdC53ZWJzaXRlLWhlYWRlcntcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLDAsMCk7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdC53cmFwcGVye1xuXHRcdFx0XHQvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lmp1bXB0b2NvbnRlbnR7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0fVxuXHQgICAubmF2aS1jbG9zZXJ7XG5cdCAgIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihkYXJrQmFja2dyb3VuZENvbG9yKTtcblx0ICAgXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHQgICBcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHQgICBcdFx0aGVpZ2h0OiBzY3V0LXJlbSg0MCk7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgIFx0XHR3aWR0aDogc2N1dC1yZW0oNDApO1xuXHRcdFx0ei1pbmRleDogNDtcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0bWFyZ2luLXRvcDogc2N1dC1yZW0oMTQpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGh1Z2Upe1xuXHRcdFx0XHRoZWlnaHQ6IHNjdXQtcmVtKDQyKTtcblx0XHRcdFx0d2lkdGg6IHNjdXQtcmVtKDQyKTtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXIsXG5cdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0QGluY2x1ZGUgcHNldWRvLWJsb2NrKCk7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdHdpZHRoOiAyMnB4O1xuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG5cdFx0XHRcdFx0d2lkdGg6IDI0cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJyaWdodEJhY2tncm91bmRDb2xvcik7XG5cdFx0XHRcdGhlaWdodDogMnB4O1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcblx0XHRcdH1cblx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihicmlnaHRCYWNrZ3JvdW5kQ29sb3IpO1xuXHRcdFx0XHRoZWlnaHQ6IDJweDtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcblx0XHRcdH1cblx0XHRcdC50ZXh0LXdyYXBwZXJ7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0QGluY2x1ZGUgcHNldWRvLWJsb2NrKCk7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdGJvcmRlci10b3A6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRsZWZ0OiAwJTtcblx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzMDAlLCAtNTAlKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjJzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0IC4xcztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Jjpmb2N1cyxcblx0XHRcdCY6aG92ZXJ7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdCY6YWZ0ZXIsXG5cdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC00MCUsIC01MCUpIHJvdGF0ZSgwKTtcblx0XHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LnRleHQtd3JhcHBlcntcblx0XHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0ICBcdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiBjb2xvcihicmlnaHRCYWNrZ3JvdW5kQ29sb3IpO1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgLTUwJSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdCAgIFx0fVxuXHRcdC5uYXZpLW9wZW5lcntcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdC53ZWJzaXRlLW5hdml7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cGFkZGluZy10b3A6IHNjdXQtcmVtKDQwKTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHQubWVudS1jbG9zZWR7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQud2Vic2l0ZS1uYXZpe1xuXHRcdFx0LnNpdGUtbmF2e1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAzcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQubGFuZy1uYXYgKyAuc2l0ZS1uYXZ7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAzcmVtO1xuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDRyZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA2cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblxuXHRcdFx0Lm5hdi1tZW51e1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHNjdXQtcmVtKDIwKTtcblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogc2N1dC1yZW0oMzApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0Lm5hdi1pdGVte1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5uYXYtbWVudSA+IC5uYXYtaXRlbSArIC5uYXYtaXRlbXtcblx0XHRcdFx0cGFkZGluZy10b3A6IDFyZW07XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAycmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAzcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5uYXYtaXRlbSAubmF2LWxpbmt7XG5cdFx0XHRcdGNvbG9yOiBjb2xvcihkYXJrQmFja2dyb3VuZENvbG9yKTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGZvbnQtc2l6ZTogc2N1dC1yZW0oMjApO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdC5uYXYtbWVudSA+IC5uYXYtaXRlbSA+IC5uYXYtbGlua3tcblx0XHRcdFx0Zm9udC1zaXplOiBzY3V0LXJlbSgzMCk7XG5cdFx0XHRcdFxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KXtcblx0XHRcdFx0XHRmb250LXNpemU6IHNjdXQtcmVtKDQwKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiBzY3V0LXJlbSg0NCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiBzY3V0LXJlbSg1MCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm1lbnUtb3BlbmVke1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oMjApO1xuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKXtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oMzApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oNDApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtZXIpe1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LXJlbSg2MCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IHNjdXQtcmVtKDEwMCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IHNjdXQtcmVtKDE0MCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Lypcblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBzY3V0LXJlbSgzMCk7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBzY3V0LXJlbSgzMCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGh1Z2Upe1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdFx0XHR3aWR0aDogc2N1dC1yZW0oMTIwMCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHRcdFx0d2lkdGg6IHNjdXQtcmVtKDEzMDApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCovXG5cdFx0XHR9XG5cblx0XHRcdC5uYXYtbWVudSA+IC5uYXYtaXRlbXtcblx0XHRcdFx0Ji5hY3RpdmUgPiAubmF2LWxpbmt7XG5cdFx0XHRcdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihicmlnaHRCYWNrZ3JvdW5kQ29sb3IpO1xuXHRcdFx0XHRcdGNvbG9yOiBjb2xvcihkZWZhdWx0VGV4dCk7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0JiA+IC5uYXYtbGlua3tcblx0XHRcdFx0XHQmOmFjdGl2ZSxcblx0XHRcdFx0XHQmOmZvY3VzLFxuXHRcdFx0XHRcdCY6aG92ZXJ7XG5cdFx0XHRcdFx0XHQvL2JhY2tncm91bmQtY29sb3I6IGNvbG9yKGJyaWdodEJhY2tncm91bmRDb2xvcik7XG5cdFx0XHRcdFx0XHRjb2xvcjogY29sb3IoZGVmYXVsdFRleHQpO1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQucm93LnRleHR7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAkaXRlbVBhZGRpbmcqMjtcblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAyLjJyZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGh1Z2Upe1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAyLjZyZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0JiA+IC5jb2wtMSxcblx0XHRcdFx0JiA+IC5jb2wtMixcblx0XHRcdFx0JiA+IC5jb2wtMyxcblx0XHRcdFx0JiA+IC5jb2wtNCxcblx0XHRcdFx0JiA+IC5jb2wtNSxcblx0XHRcdFx0JiA+IC5jb2wtNixcblx0XHRcdFx0JiA+IC5jb2wtNyxcblx0XHRcdFx0JiA+IC5jb2wtOCxcblx0XHRcdFx0JiA+IC5jb2wtOSxcblx0XHRcdFx0JiA+IC5jb2wtMTAsXG5cdFx0XHRcdCYgPiAuY29sLTExLFxuXHRcdFx0XHQmID4gLmNvbC0xMntcblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxke1xuXHRcdFx0XHRcdFx0LnN1Yi1tZW51e1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KXtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHNjdXQtcmVtKDMwKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBzY3V0LXJlbSg0MCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnN1Yi1tZW51e1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCYgPiAuY29sLTEgKyAqLFxuXHRcdFx0XHQmID4gLmNvbC0yICsgKixcblx0XHRcdFx0JiA+IC5jb2wtMyArICosXG5cdFx0XHRcdCYgPiAuY29sLTQgKyAqLFxuXHRcdFx0XHQmID4gLmNvbC01ICsgKixcblx0XHRcdFx0JiA+IC5jb2wtNiArICosXG5cdFx0XHRcdCYgPiAuY29sLTcgKyAqLFxuXHRcdFx0XHQmID4gLmNvbC04ICsgKixcblx0XHRcdFx0JiA+IC5jb2wtOSArICosXG5cdFx0XHRcdCYgPiAuY29sLTEwICsgKixcblx0XHRcdFx0JiA+IC5jb2wtMTEgKyAqe1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAuNnJlbTtcblx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cdFxuXHRcdFx0fVxuXHRcdFx0LnN1Yi1tZW51e1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogJGl0ZW1QYWRkaW5nKjI7XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMi4ycmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKXtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMi42cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5uYXYtaXRlbSArIC5uYXYtaXRlbXtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogLjZyZW07XG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDFyZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwcmVkZXNrdG9wKXtcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAxLjRyZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAxLjZyZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKXtcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAycmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQubmF2LWl0ZW17XG5cdFx0XHRcdFx0Ji5hY3RpdmUgPiAubmF2LWxpbmt7XG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Lm5hdi1saW5re1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiBzY3V0LXJlbSgyMik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogc2N1dC1yZW0oMjQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHNjdXQtcmVtKDI2KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JjphY3RpdmUsXG5cdFx0XHRcdFx0Jjpmb2N1cyxcblx0XHRcdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG4gICB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFnZS1IZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblx0LnBhZ2UtaGVhZGVye1xuXHRcdC5icmVhZGNydW1icy53cmFwcGVyICsgLndyYXBwZXJ7XG5cdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oMjApO1xuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LXJlbSgyNCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LXJlbSgyNik7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LXJlbSgzMCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlnZ2VyKXtcblx0XHRcdFx0cGFkZGluZy10b3A6IHNjdXQtcmVtKDM0KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnBhZ2UtdGl0bGV7XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdHdpZHRoOiAgOTAlO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG5cdFx0XHRcdHdpZHRoOiAgODAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCNjb250ZW50e1xuXHRcdC5wYWdlLXRpdGxlICsgKiB7XG5cdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oMTQpO1xuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogc2N1dC1yZW0oMjIpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LXJlbSgyNyk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiBzY3V0LXJlbSgzMyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IiwiLmJyZWFkY3J1bWJze1xuICAgIGZvbnQtc2l6ZTogc2N1dC1lbSgxMik7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG4gICAgICAgIGZvbnQtc2l6ZTogc2N1dC1lbSgxMSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcbiAgICAgICAgZm9udC1zaXplOiBzY3V0LWVtKDEyKTtcbiAgICB9XG4gICAgdWx7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gICAgbGl7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpe1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICYubGFzdCBhe1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZGFya0J1dHRvbkNvbG9yKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNjdXQtZW0oNCk7XG4gICAgICAgICAgICBwYWRkaW5nOiBzY3V0LWVtKDIpIHNjdXQtZW0oOCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZGFya0J1dHRvbkNvbG9yRm9jdXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KC5sYXN0KXtcbiAgICAgICAgICAgIC50ZXh0e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5aGlkZGVuKCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseXVuaGlkZGVuKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSl7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG8tYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnLi4uJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgIC50ZXh0e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxjb2xvcihkYXJrQmFja2dyb3VuZENvbG9yKSAwJSxjb2xvcihkYXJrQmFja2dyb3VuZENvbG9yKSAxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA5MCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCA4JTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC4xMmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1lbSgyKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIC4xNXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAudGV4dHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDglO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCl7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZWNvbXBsZXRlbHk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB1bmhpZGVjb21wbGV0ZWx5KGlubGluZS1ibG9jayk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGxpICsgbGl7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpe1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzY3V0LXJlbSgyNCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKXtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG8tYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc2N1dC1yZW0oMykgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHNjdXQtcmVtKDUpIHNvbGlkIGNvbG9yKGRhcmtCb3JkZXJDb2xvcik7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogc2N1dC1yZW0oMykgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc2N1dC1yZW0oOSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2N1dC1yZW0oNyk7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNjdXQtcmVtKDgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNjdXQtcmVtKDgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzY3V0LXJlbSg3KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzY3V0LXJlbSgxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLmJyZWFkY3J1bWJzLXRpdGxle1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiBzY3V0LXJlbSgyMCk7XG59XG5cbiIsIlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgU3RhbmRhcmQgaW1nIC8gbWVkaWEgZGVjbGFyYXRpb25cbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgZmlndXJle1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGZpZ2NhcHRpb257XG4gICAgICAgIGNvbG9yOiBjb2xvcihtZXRhVGV4dENvbG9yKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtcmVtKDEwKTtcbiAgICAgICAgcHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc2N1dC1lbSgxMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBzY3V0LWVtKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2N1dC1lbSgxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBzY3V0LWVtKDE4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZ3tcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cblxuICAgIC5qcyAuaGFzLXN2Z3tcbiAgICAgICAgLmljb24taW1hZ2V7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN2Z3tcbiAgICAgICAgICAgIC5zdmd7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5qcy5zdmdhc2ltZyAuaGFzLXN2ZyAuaWNvbi1pbWFnZSxcbiAgICAuanMubm8tc3ZnYXNpbWcgLmhhcy1zdmcgLmljb24tc3Zne1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uby1qcyAuaGFzLXN2ZyAuaWNvbi1zdmcsXG4gICAgLm5vLWpzIC5oYXMtc3ZnIC5pY29uLXN2ZyAuc3ZnLFxuICAgIC5uby1qcyAuaGFzLXN2ZyAuaWNvbi1pbWFnZSAuanNpbWFnZSxcbiAgICAubm8tanMgLmpzaW1hZ2UubGF6eWxvYWR7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmpze1xuICAgICAgICAuaW1hZ2Utd3JhcHBlciAuaWNvbi1zdmcgLnN2ZyxcbiAgICAgICAgLmpzaW1hZ2V7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmpze1xuICAgICAgICAuaW1hZ2Utd3JhcHBlciAuaWNvbi1zdmcgLnN2ZyxcbiAgICAgICAgLmljb24taW1hZ2UgLmpzaW1hZ2V7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmpzLm5vLWlubGluZXN2ZyAuaW1nLWljb24gLmljb24tZmFsbGJhY2ssXG4gICAgLmpzIC5qc2ltYWdle1xuICAgICAgICAmLmxhenlsb2FkLFxuICAgICAgICAmLmxvYWRpbmcsXG4gICAgICAgICYubGF6eWxvYWRpbmd7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmpzIC5pbWFnZS13cmFwcGVyIC5pY29uLXN2ZyAuc3ZnLmxvYWRlZCxcbiAgICAuanMgLmltYWdlLXdyYXBwZXIgLmljb24tc3ZnIC5zdmcubGF6eWxvYWRlZCxcbiAgICAuanMgLmpzaW1hZ2UubG9hZGVkLFxuICAgIC5qcyAuanNpbWFnZS5sYXp5bG9hZGVkLFxuICAgIC5qcy5uby1pbmxpbmVzdmcgLmltZy1pY29uIC5pY29uLWZhbGxiYWNre1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmpzIC5pY29uLWltYWdlIC5qc2ltYWdlLmxhenlsb2FkZWQsXG4gICAgLmpzIC5pY29uLXN2ZyAuc3ZnLmxhenlsb2FkZWR7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLmNzc3RyYW5zaXRpb25zLmpzIC5pY29uLXN2ZyAuc3ZnLFxuICAgIC5jc3N0cmFuc2l0aW9ucy5qcyAuanNpbWFnZSxcbiAgICAuY3NzdHJhbnNpdGlvbnMuanMuc3ZnYXNpbWcgLmluZm9ncmFmaWsgLnN2Z2ltYWdlLFxuICAgIC5jc3N0cmFuc2l0aW9ucy5qcy5uby1pbmxpbmVzdmcgLmljb24tZmFsbGJhY2t7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgIC5uby1jc3N0cmFuc2l0aW9uc3tcbiAgICAgICAgJi5sYXp5bG9hZCxcbiAgICAgICAgJi5sb2FkaW5nLFxuICAgICAgICAmLmxhenlsb2FkaW5ne1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBTaXRlIEhlYWRlciBMb2dvXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAuanN7XG4gICAgICAgIC5oYXNzdmdsb2dve1xuICAgICAgICAgICAgLmltZy1sb2dve1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ub3N2Z2xvZ28uaGFzbG9nb3tcbiAgICAgICAgICAgIC5zdmctbG9nb3tcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5qcy5uby1zdmdhc2ltZ3tcbiAgICAgICAgLmhhc3N2Z2xvZ297XG4gICAgICAgICAgICAuc3ZnLWxvZ297XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW1nLWxvZ297XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uby1qc3tcbiAgICAgICAgLmhhc3N2Z2xvZ28sXG4gICAgICAgIC5oYXNsb2dve1xuICAgICAgICAgICAgLnN2Zy1sb2dvLFxuICAgICAgICAgICAgLmltZy1sb2dve1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5vanNpbWFnZXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5oYXNzbWFsbGxvZ297XG4gICAgICAgICAgICAubm9qc2ltYWdle1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnNtYWxsbG9nb3tcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0iLCIua29udGFrdHtcbiAgICAudGV4dC1jb250ZW50e1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4JTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtZXIpe1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjIlO1xuICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcHJlZGVza3RvcCl7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNiU7XG4gICAgICAgICAgICB3aWR0aDogODMlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwJTtcbiAgICAgICAgICAgIHdpZHRoOiA4MiU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMCU7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbWFnZS13cmFwcGVye1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpe1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE0JTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMCU7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNyU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTAlO1xuICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgfVxuICAgICAgICAmICsgLnRleHQtY29udGVudHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LXJlbSgyMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1yZW0oMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG1lcil7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtcmVtKDI2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LXJlbSgzNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtcmVtKDQ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1yZW0oNTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbkBzdXBwb3J0cyAoZGlzcGxheTogZmxleCkge1xuICAgIC5rb250YWt0e1xuICAgICAgICAucm93LnJldmVyc2V7XG4gICAgICAgICAgICAudGV4dC1jb250ZW50e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtZXIpe1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcHJlZGVza3RvcCl7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW1hZ2Utd3JhcHBlcntcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0wJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTglO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIucXVvdGV7XG4gICAgQGluY2x1ZGUgYnJlYWthbGw7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ueml0YXR7XG4gICAgcGFkZGluZy1ib3R0b206IHNjdXQtcmVtKDIwKTtcbiAgICAud3JhcHBlcntcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIHNjdXQtcmVtKDEpIGNvbG9yKG1ldGFCb3JkZXJDb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIHppdGF0UGFkZGluZygpO1xuICAgIH1cbiAgICAuaW5uZXItd3JhcHBlcntcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBzY3V0LXJlbSgyMCk7XG4gICAgICAgIG1heC13aWR0aDogJHRleHRXaWR0aDtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNjdXQtcmVtKDQwKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogc2N1dC1yZW0oNjQwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRiaWdUZXh0V2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBlcnNvbntcbiAgICAgICAgY29sb3I6IGNvbG9yKG1ldGFUZXh0Q29sb3IpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBmb250LXNpemU6IHNjdXQtZW0oMTIpO1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG4gICAgICAgICAgICBmb250LXNpemU6IHNjdXQtZW0oMTQpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuICAgICAgICAgICAgZm9udC1zaXplOiBzY3V0LWVtKDE2KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgICBmb250LXNpemU6IHNjdXQtZW0oMTgpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBcdCBMaW5rIGNvbG9ycyBhbmQgc3R5bGVzXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXHRhW2hyZWZePVwidGVsOlwiXSB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFx0IFRpdGxlc1xuICAgXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cdGgxLFxuXHQuaDEsXG5cdGgyLFxuXHQuaDIsXG5cdGgyLFxuXHQuaDMsXG5cdGg0LFxuXHQuaDQsXG5cdGg1LFxuXHQuaDUsXG5cdGg2XG5cdC5oNntcblx0XHRhe1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblx0fVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBcdCBCdXR0b25zIGFuZCBsaW5rcyB3aXRoIGljb25zXG4gICBcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblx0LmNvbnRlbnR7XG5cdFx0XG5cdFx0cCxcblx0XHR1bHtcblx0XHRcdCYuc21hbGwtYnRue1xuXHRcdFx0XHRmb250LXNpemU6IHNjdXQtZW0oMTIpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiBzY3V0LWVtKDE0KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KXtcblx0XHRcdFx0XHRmb250LXNpemU6IHNjdXQtZW0oMTYpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0XHRmb250LXNpemU6IHNjdXQtZW0oMTgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5idG57XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IHNjdXQtZW0oMSk7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IHNjdXQtZW0oMyk7XG5cdFx0XHRcdFx0Lypcblx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KXtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSgxNCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogc2N1dC1lbSgxNCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCovXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmJ0bntcblx0XHRcdCYuYmFja3tcblx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiBzY3V0LWVtKDQpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiBzY3V0LWVtKDYpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogc2N1dC1lbSg0KTtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogc2N1dC1lbSgxMSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5pbnRlcm57XG5cdFx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiBzY3V0LWVtKDQpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IHNjdXQtZW0oNik7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wLXdpZHRoOiBzY3V0LWVtKDQpO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IHNjdXQtZW0oMTEpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYub25wYWdlLnVwe1xuXHRcdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogc2N1dC1lbSg2KTtcblx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0LXdpZHRoOiBzY3V0LWVtKDQpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiBzY3V0LWVtKDQpO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IHNjdXQtcmVtKDEwKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLm9ucGFnZS5kb3due1xuXHRcdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IHNjdXQtZW0oNCk7XG5cdFx0XHRcdFx0XHRib3JkZXItcmlnaHQtd2lkdGg6IHNjdXQtZW0oNCk7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wLXdpZHRoOiBzY3V0LWVtKDYpO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IHNjdXQtZW0oMTApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYnRue1xuXHRcdCYuYmFja3tcblx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1lbSgxMCk7XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1lbSgxMSk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1lbSgxMCk7XG5cdFx0XHR9XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogc2N1dC1lbSgzKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IHNjdXQtZW0oNSkgc29saWQgY29sb3IoZGFya0JvcmRlckNvbG9yKTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBzY3V0LWVtKDMpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc2N1dC1lbSg4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzY3V0LWVtKDIpO1xuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogc2N1dC1lbSg0KTtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQtd2lkdGg6IHNjdXQtZW0oNik7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogc2N1dC1lbSg0KTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiBzY3V0LWVtKDIpO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogc2N1dC1lbSgxMCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5vbnBhZ2UsXG5cdFx0Ji5pbnRlcm57XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiBzY3V0LWVtKDEwKTtcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogc2N1dC1lbSgxMSk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHNjdXQtZW0oMTApO1xuXHRcdFx0fVxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0JjphZnRlcntcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5pbnRlcm57XG5cdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiBzY3V0LWVtKDMpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBzY3V0LWVtKDUpIHNvbGlkIGNvbG9yKGRhcmtCb3JkZXJDb2xvcik7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogc2N1dC1lbSgzKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc2N1dC1lbSg4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzY3V0LWVtKDIpO1xuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogc2N1dC1lbSg0KTtcblx0XHRcdFx0XHRib3JkZXItbGVmdC13aWR0aDogc2N1dC1lbSg2KTtcblx0XHRcdFx0XHRib3JkZXItdG9wLXdpZHRoOiBzY3V0LWVtKDQpO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHNjdXQtZW0oMik7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IHNjdXQtZW0oMTApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYub25wYWdlLnVwe1xuXHRcdFx0JjphZnRlcntcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogc2N1dC1lbSg1KSBzb2xpZCBjb2xvcihkYXJrQm9yZGVyQ29sb3IpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBzY3V0LWVtKDMpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogc2N1dC1lbSgzKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzY3V0LWVtKDMpO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogc2N1dC1lbSg4KTtcblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IHNjdXQtZW0oNik7XG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IHNjdXQtZW0oNCk7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiBzY3V0LWVtKDQpO1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBzY3V0LWVtKDcpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYub25wYWdlLmRvd257XG5cdFx0XHQmOmFmdGVye1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBzY3V0LWVtKDMpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogc2N1dC1lbSgzKSBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0Ym9yZGVyLXRvcDogc2N1dC1lbSg1KSBzb2xpZCBjb2xvcihkYXJrQm9yZGVyQ29sb3IpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNjdXQtZW0oMik7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBzY3V0LWVtKDgpO1xuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IHNjdXQtZW0oNCk7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiBzY3V0LWVtKDQpO1xuXHRcdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IHNjdXQtZW0oNik7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IHNjdXQtZW0oNyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYnRue1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGRhcmtCdXR0b25Db2xvcik7XG5cdFx0Ym9yZGVyLXJhZGl1czogc2N1dC1lbSg0KTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRtYXJnaW4tdG9wOiBzY3V0LWVtKDIpO1xuXHRcdHBhZGRpbmc6IHNjdXQtZW0oNCkgc2N1dC1lbSg4KSBzY3V0LWVtKDIpO1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1x0XHRcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0bWFyZ2luLXRvcDogc2N1dC1lbSg0KTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHNjdXQtZW0oMTEpO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBzY3V0LWVtKDExKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRtYXJnaW4tdG9wOiBzY3V0LWVtKDYpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogc2N1dC1lbSgxMik7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHNjdXQtZW0oMTIpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiBzY3V0LWVtKDEwKTtcblx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1lbSgxMCk7XG5cdFx0fVxuXHRcdCY6YWN0aXZlLFxuXHRcdCY6Zm9jdXMsXG5cdFx0Jjpob3Zlcntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGRhcmtCdXR0b25Db2xvckZvY3VzKTtcblx0XHR9XG5cdH1cblxuXHQuaWNvbntcblx0XHQmLnVwe1xuXHRcdFx0Ji5idHR7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLmJ0dHtcblx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogc2N1dC1lbSg1KSBzb2xpZCBjb2xvcihkYXJrQm9yZGVyQ29sb3IpO1xuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiBzY3V0LWVtKDMpIHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogc2N1dC1lbSgzKSBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiBzY3V0LWVtKDMpO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogc2N1dC1lbSg4KTtcblx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiBzY3V0LWVtKDYpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IHNjdXQtZW0oNCk7XG5cdFx0XHRcdFx0XHRib3JkZXItcmlnaHQtd2lkdGg6IHNjdXQtZW0oNCk7XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHNjdXQtZW0oNyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblxuXG5cdC5saW5rLnRvcHtcblx0XHRwYWRkaW5nLWxlZnQ6IC44ZW07XG5cdFx0JjphZnRlcntcblx0XHRcdGJvcmRlci1ib3R0b206IDZweCBzb2xpZCBjb2xvcihicmlnaHRCYWNrZ3JvdW5kQ29sb3IpO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1yaWdodDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDJweDtcblx0XHRcdG1hcmdpbi10b3A6IDFweDtcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogN3B4O1xuXHRcdFx0XHRib3JkZXItbGVmdC13aWR0aDogNHB4O1xuXHRcdFx0XHRib3JkZXItcmlnaHQtd2lkdGg6IDRweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0JjpiZWZvcmV7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihicmlnaHRCYWNrZ3JvdW5kQ29sb3IpO1xuXHRcdFx0aGVpZ2h0OiAxNHB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDRweDtcblx0XHRcdG1hcmdpbi10b3A6IDdweDtcblx0XHRcdHdpZHRoOiAycHg7XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdGhlaWdodDogMTdweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuIiwidWx7XG5cdCYubGlzdHtcblx0XHRsaXtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHNjdXQtcmVtKDEpO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHNjdXQtcmVtKDEwKTtcblx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1yZW0oNik7XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBzY3V0LXJlbSgyMCk7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogc2N1dC1yZW0oMTApO1xuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdEBpbmNsdWRlIHBzZXVkby1ibG9jaztcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoZGFya0JhY2tncm91bmRDb2xvcik7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0aGVpZ2h0OiA0cHg7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBzY3V0LXJlbSgtICg4KSk7XG5cdFx0XHRcdG1hcmdpbi10b3A6IC43cmVtO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdHdpZHRoOiA0cHg7XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdFx0XHRoZWlnaHQ6IDZweDtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogc2N1dC1yZW0oLSAoMTAgKyAyKSk7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLjdyZW07XG5cdFx0XHRcdFx0d2lkdGg6IDZweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAuOHJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLjlyZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGdpZ2FudGljKXtcblx0XHRcdFx0XHRoZWlnaHQ6IDhweDtcblx0XHRcdFx0XHR3aWR0aDogOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLmRvd25sb2Fke1xuXHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxpICsgbGl7XG5cdFx0XHRtYXJnaW4tdG9wOiBzY3V0LXJlbSg1KTtcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0XHRtYXJnaW4tdG9wOiBzY3V0LXJlbSgxMCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHNjdXQtcmVtKDE0KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ji5zbWFsbC1idG57XG5cdFx0bGkgKyBsaXtcblx0XHRcdG1hcmdpbi10b3A6IHNjdXQtcmVtKDMpO1xuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHNjdXQtcmVtKDQpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0XHRtYXJnaW4tdG9wOiBzY3V0LXJlbSg2KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ji5tZW51LWxpc3R7XG5cdFx0bGl7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogc2N1dC1lbSg4KTtcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiBzY3V0LWVtKDgpO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzY3V0LWVtKDEwKTtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogc2N1dC1lbSgxMCk7XG4gICAgICAgICAgICB9XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHNjdXQtZW0oMTYpO1xuICAgICAgICAgICAgfVxuXHRcdH1cblx0XHRsaSArIGxpe1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0fSAgICAgICAgICAgIFxuXHR9XG59XG5cbmRse1xuXHRkdCxcblx0ZGR7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblx0ZHR7XG5cdFx0Ly9kaXNwbGF5OiBpbmxpbmU7XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR3aWR0aDogNDAlO1xuXHRcdH1cblx0fVxuXHRkZHtcblx0XHQvL2Rpc3BsYXk6IGlubGluZTtcblx0XHQmOmFmdGVye1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmctYm90dG9tOiBzY3V0LXJlbSgxMCk7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDQwJTtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblx0fVxufSIsIi50ZWFzZXItd3JhcHBlcntcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgIHdpZHRoOiAgOTAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogYmlnZ2VyKXtcbiAgICAgICAgd2lkdGg6ICA4MCU7XG4gICAgfVxufVxuXG4qICsgLnRlYXNlci13cmFwcGVyLnJvdy5mdWxse1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lclBhZGRpbmcoKTtcbn1cblxuLnRlYXNlcntcbiAgICBib3JkZXItcmFkaXVzOiBzY3V0LXJlbSg2KTtcbiAgICBwYWRkaW5nOiBzY3V0LXJlbSgyMCkgc2N1dC1yZW0oMjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKXtcbiAgICAgICAgcGFkZGluZzogc2N1dC1yZW0oMjApIHNjdXQtcmVtKDMwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHR3ZWVuKXtcbiAgICAgICAgcGFkZGluZzogc2N1dC1yZW0oMjApIHNjdXQtcmVtKDQwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuICAgICAgICBwYWRkaW5nOiBzY3V0LXJlbSgzMCkgc2N1dC1yZW0oNDApO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiBzY3V0LXJlbSgzMCkgc2N1dC1yZW0oMjApICBzY3V0LXJlbSgyMCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuICAgICAgICBwYWRkaW5nOiBzY3V0LXJlbSg1MCkgc2N1dC1yZW0oNDApIHNjdXQtcmVtKDQwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHByZWRlc2t0b3Ape1xuICAgICAgICBwYWRkaW5nOiBzY3V0LXJlbSg1MCkgc2N1dC1yZW0oNTApIHNjdXQtcmVtKDQwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuICAgICAgICBwYWRkaW5nOiBzY3V0LXJlbSg2MCkgc2N1dC1yZW0oNDApIHNjdXQtcmVtKDQwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcil7XG4gICAgICAgIHBhZGRpbmc6IHNjdXQtcmVtKDcwKSBzY3V0LXJlbSg0NSkgc2N1dC1yZW0oNDUpO1xuICAgIH1cbiAgICBwe1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2N1dC1yZW0oMjApO1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKXtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzY3V0LXJlbSg0MCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2N1dC1yZW0oNjApO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKXtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzY3V0LXJlbSg4MCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRlYXNlci1idXR0b257XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogc2N1dC1yZW0oNDApO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1yZW0oMTUpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHNjdXQtcmVtKDE3KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHdpZHRoOiBzY3V0LXJlbSg0MCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcbiAgICAgICAgICAgIGhlaWdodDogc2N1dC1yZW0oNDQpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtcmVtKDE2KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc2N1dC1yZW0oMTkpO1xuICAgICAgICAgICAgd2lkdGg6IHNjdXQtcmVtKDQ0KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcbiAgICAgICAgICAgIGhlaWdodDogc2N1dC1yZW0oNTApO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtcmVtKDE5KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc2N1dC1yZW0oMjIpO1xuICAgICAgICAgICAgd2lkdGg6IHNjdXQtcmVtKDUwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG4gICAgICAgICAgICBoZWlnaHQ6IHNjdXQtcmVtKDYwKTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LXJlbSgyMik7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNjdXQtcmVtKDI2KTtcbiAgICAgICAgICAgIHdpZHRoOiBzY3V0LXJlbSg2MCk7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNjdXQtcmVtKDUpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IHNjdXQtcmVtKDcpO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogc2N1dC1yZW0oNSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzY3V0LXJlbSgyKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogc2N1dC1yZW0oNik7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IHNjdXQtcmVtKDgpO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IHNjdXQtcmVtKDYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogc2N1dC1yZW0oNyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IHNjdXQtcmVtKDkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IHNjdXQtcmVtKDcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2Upe1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHNjdXQtcmVtKDkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiBzY3V0LXJlbSgxMSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogc2N1dC1yZW0oOSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc2N1dC1yZW0oMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG8tYmxvY2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibHVle1xuICAgIC50ZWFzZXJ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJyaWdodGJsdWViZyk7XG4gICAgICAgIC50ZWFzZXItYnV0dG9ue1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZGFya0J1dHRvbkNvbG9yKTtcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZGFya0J1dHRvbkNvbG9yRm9jdXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogY29sb3IoZGFya0JvcmRlckNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnllbGxvd3tcbiAgICAudGVhc2Vye1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihicmlnaHR5ZWxsb3diZyk7XG4gICAgICAgIC50ZWFzZXItYnV0dG9ue1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoeWVsbG93QnV0dG9uQ29sb3IpO1xuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih5ZWxsb3dCdXR0b25Db2xvckZvY3VzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGNvbG9yKGRhcmtCb3JkZXJDb2xvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XG4gICAgLnRlYXNlcnsgICBcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG1lcil7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgICAudGVhc2VyLWJ1dHRvbntcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtZXIpe1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59Il19 */
