/*!
 * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
 *
 * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
 */

.datepicker {
  padding: 4px;
  border-radius: 4px;
  direction: ltr;
}
.datepicker-inline {
  width: 220px;
}
.datepicker-rtl {
  direction: rtl;
}
.datepicker-rtl.dropdown-menu {
  left: auto;
}
.datepicker-rtl table tr td span {
  float: right;
}
.datepicker-dropdown {
  top: 0;
  left: 0;
}
.datepicker-dropdown:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #999;
  border-top: 0;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
}
.datepicker-dropdown:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  border-top: 0;
  position: absolute;
}
.datepicker-dropdown.datepicker-orient-left:before {
  left: 6px;
}
.datepicker-dropdown.datepicker-orient-left:after {
  left: 7px;
}
.datepicker-dropdown.datepicker-orient-right:before {
  right: 6px;
}
.datepicker-dropdown.datepicker-orient-right:after {
  right: 7px;
}
.datepicker-dropdown.datepicker-orient-bottom:before {
  top: -7px;
}
.datepicker-dropdown.datepicker-orient-bottom:after {
  top: -6px;
}
.datepicker-dropdown.datepicker-orient-top:before {
  bottom: -7px;
  border-bottom: 0;
  border-top: 7px solid #999;
}
.datepicker-dropdown.datepicker-orient-top:after {
  bottom: -6px;
  border-bottom: 0;
  border-top: 6px solid #fff;
}
.datepicker table {
  margin: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.datepicker td,
.datepicker th {
  text-align: center;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
  background-color: transparent;
}
.datepicker table tr td.day:hover,
.datepicker table tr td.day.focused {
  background: #eee;
  cursor: pointer;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
  color: #999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
  background: none;
  color: #999;
  cursor: default;
}
.datepicker table tr td.highlighted {
  background: #d9edf7;
  border-radius: 0;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
  background-color: #fde19a;
  background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
  border-color: #fdf59a #fdf59a #fbed50;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #000;
}
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled] {
  background-color: #fdf59a;
}
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active {
  background-color: #fbf069 \9;
}
.datepicker table tr td.today:hover:hover {
  color: #000;
}
.datepicker table tr td.today.active:hover {
  color: #fff;
}
.datepicker table tr td.range,
.datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover {
  background: #eee;
  border-radius: 0;
}
.datepicker table tr td.range.today,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover {
  background-color: #f3d17a;
  background-image: linear-gradient(to bottom, #f3c17a, #f3e97a);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
  border-color: #f3e97a #f3e97a #edde34;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  border-radius: 0;
}
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today[disabled],
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today.disabled:hover[disabled] {
  background-color: #f3e97a;
}
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active {
  background-color: #efe24b \9;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
  background-color: #9e9e9e;
  background-image: linear-gradient(to bottom, #b3b3b3, #808080);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
  border-color: #808080 #808080 #595959;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected[disabled],
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected.disabled:hover[disabled] {
  background-color: #808080;
}
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active {
  background-color: #666666 \9;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
  background-color: #006dcc;
  background-image: linear-gradient(to bottom, #08c, #0044cc);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
  border-color: #0044cc #0044cc #002a80;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled] {
  background-color: #0044cc;
}
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
  background-color: #003399 \9;
}
.datepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  border-radius: 4px;
}
.datepicker table tr td span:hover,
.datepicker table tr td span.focused {
  background: #eee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
  background: none;
  color: #999;
  cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
  background-color: #006dcc;
  background-image: linear-gradient(to bottom, #08c, #0044cc);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
  border-color: #0044cc #0044cc #002a80;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled] {
  background-color: #0044cc;
}
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
  background-color: #003399 \9;
}
.datepicker table tr td span.old,
.datepicker table tr td span.new {
  color: #999;
}
.datepicker .datepicker-switch {
  width: 145px;
}
.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next,
.datepicker tfoot tr th {
  cursor: pointer;
}
.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover,
.datepicker tfoot tr th:hover {
  background: #eee;
}
.datepicker .prev.disabled,
.datepicker .next.disabled {
  visibility: hidden;
}
.datepicker .cw {
  font-size: 10px;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle;
}
.input-append.date .add-on,
.input-prepend.date .add-on {
  cursor: pointer;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
  margin-top: 3px;
}
.input-daterange input {
  text-align: center;
}
.input-daterange input:first-child {
  border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
  border-radius: 0 3px 3px 0;
}
.input-daterange .add-on {
  display: inline-block;
  width: auto;
  min-width: 16px;
  height: 20px;
  padding: 4px 5px;
  font-weight: normal;
  line-height: 20px;
  text-align: center;
  text-shadow: 0 1px 0 #fff;
  vertical-align: middle;
  background-color: #eee;
  border: 1px solid #ccc;
  margin-left: -5px;
  margin-right: -5px;
}
.datepicker.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  float: left;
  display: none;
  min-width: 160px;
  list-style: none;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  *border-right-width: 2px;
  *border-bottom-width: 2px;
  color: #333333;
  font-size: 13px;
  line-height: 20px;
}
.datepicker.dropdown-menu th,
.datepicker.datepicker-inline th,
.datepicker.dropdown-menu td,
.datepicker.datepicker-inline td {
  padding: 4px 5px;
}
/*# sourceMappingURL=bootstrap-datepicker.standalone.css.map */
/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/*
 * The MIT License
 * Copyright (c) 2012 Matias Meno <m@tias.me>
 */
@keyframes passing-through {
  0% {
    opacity: 0;
    transform: translateY(40px); }
  30%, 70% {
    opacity: 1;
    transform: translateY(0px); }
  100% {
    opacity: 0;
    transform: translateY(-40px); } }
@keyframes slide-in {
  0% {
    opacity: 0;
    transform: translateY(40px); }
  30% {
    opacity: 1;
    transform: translateY(0px); } }
@keyframes pulse {
  0% {
    transform: scale(1); }
  10% {
    transform: scale(1.1); }
  20% {
    transform: scale(1); } }
.dropzone, .dropzone * {
  box-sizing: border-box; }

.dropzone {
  min-height: 150px;
  border: 2px solid rgba(0, 0, 0, 0.3);
  background: white;
  padding: 20px 20px; }
  .dropzone.dz-clickable {
    cursor: pointer; }
    .dropzone.dz-clickable * {
      cursor: default; }
    .dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
      cursor: pointer; }
  .dropzone.dz-started .dz-message {
    display: none; }
  .dropzone.dz-drag-hover {
    border-style: solid; }
    .dropzone.dz-drag-hover .dz-message {
      opacity: 0.5; }
  .dropzone .dz-message {
    text-align: center;
    margin: 2em 0; }
  .dropzone .dz-preview {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin: 16px;
    min-height: 100px; }
    .dropzone .dz-preview:hover {
      z-index: 1000; }
      .dropzone .dz-preview:hover .dz-details {
        opacity: 1; }
    .dropzone .dz-preview.dz-file-preview .dz-image {
      border-radius: 20px;
      background: #999;
      background: linear-gradient(to bottom, #eee, #ddd); }
    .dropzone .dz-preview.dz-file-preview .dz-details {
      opacity: 1; }
    .dropzone .dz-preview.dz-image-preview {
      background: white; }
      .dropzone .dz-preview.dz-image-preview .dz-details {
        transition: opacity 0.2s linear; }
    .dropzone .dz-preview .dz-remove {
      font-size: 14px;
      text-align: center;
      display: block;
      cursor: pointer;
      border: none; }
      .dropzone .dz-preview .dz-remove:hover {
        text-decoration: underline; }
    .dropzone .dz-preview:hover .dz-details {
      opacity: 1; }
    .dropzone .dz-preview .dz-details {
      z-index: 20;
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      font-size: 13px;
      min-width: 100%;
      max-width: 100%;
      padding: 2em 1em;
      text-align: center;
      color: rgba(0, 0, 0, 0.9);
      line-height: 150%; }
      .dropzone .dz-preview .dz-details .dz-size {
        margin-bottom: 1em;
        font-size: 16px; }
      .dropzone .dz-preview .dz-details .dz-filename {
        white-space: nowrap; }
        .dropzone .dz-preview .dz-details .dz-filename:hover span {
          border: 1px solid rgba(200, 200, 200, 0.8);
          background-color: rgba(255, 255, 255, 0.8); }
        .dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
          overflow: hidden;
          text-overflow: ellipsis; }
          .dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
            border: 1px solid transparent; }
      .dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
        background-color: rgba(255, 255, 255, 0.4);
        padding: 0 0.4em;
        border-radius: 3px; }
    .dropzone .dz-preview:hover .dz-image img {
      transform: scale(1.05, 1.05);
      filter: blur(8px); }
    .dropzone .dz-preview .dz-image {
      border-radius: 20px;
      overflow: hidden;
      width: 120px;
      height: 120px;
      position: relative;
      display: block;
      z-index: 10; }
      .dropzone .dz-preview .dz-image img {
        display: block; }
    .dropzone .dz-preview.dz-success .dz-success-mark {
      animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); }
    .dropzone .dz-preview.dz-error .dz-error-mark {
      opacity: 1;
      animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); }
    .dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
      pointer-events: none;
      opacity: 0;
      z-index: 500;
      position: absolute;
      display: block;
      top: 50%;
      left: 50%;
      margin-left: -27px;
      margin-top: -27px; }
      .dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
        display: block;
        width: 54px;
        height: 54px; }
    .dropzone .dz-preview.dz-processing .dz-progress {
      opacity: 1;
      transition: all 0.2s linear; }
    .dropzone .dz-preview.dz-complete .dz-progress {
      opacity: 0;
      transition: opacity 0.4s ease-in; }
    .dropzone .dz-preview:not(.dz-processing) .dz-progress {
      animation: pulse 6s ease infinite; }
    .dropzone .dz-preview .dz-progress {
      opacity: 1;
      z-index: 1000;
      pointer-events: none;
      position: absolute;
      height: 16px;
      left: 50%;
      top: 50%;
      margin-top: -8px;
      width: 80px;
      margin-left: -40px;
      background: rgba(255, 255, 255, 0.9);
      -webkit-transform: scale(1);
      border-radius: 8px;
      overflow: hidden; }
      .dropzone .dz-preview .dz-progress .dz-upload {
        background: #333;
        background: linear-gradient(to bottom, #666, #444);
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 0;
        transition: width 300ms ease-in-out; }
    .dropzone .dz-preview.dz-error .dz-error-message {
      display: block; }
    .dropzone .dz-preview.dz-error:hover .dz-error-message {
      opacity: 1;
      pointer-events: auto; }
    .dropzone .dz-preview .dz-error-message {
      pointer-events: none;
      z-index: 1000;
      position: absolute;
      display: block;
      display: none;
      opacity: 0;
      transition: opacity 0.3s ease;
      border-radius: 8px;
      font-size: 13px;
      top: 130px;
      left: -10px;
      width: 140px;
      background: #be2626;
      background: linear-gradient(to bottom, #be2626, #a92222);
      padding: 0.5em 1.2em;
      color: white; }
      .dropzone .dz-preview .dz-error-message:after {
        content: '';
        position: absolute;
        top: -6px;
        left: 64px;
        width: 0;
        height: 0;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-bottom: 6px solid #be2626; }
.vue-dropzone{border:2px solid #e5e5e5;font-family:Arial,sans-serif;letter-spacing:.2px;color:#777;transition:.2s linear}.vue-dropzone:hover{background-color:#f6f6f6}.vue-dropzone>i{color:#ccc}.vue-dropzone>.dz-preview .dz-image{border-radius:0;width:100%;height:100%}.vue-dropzone>.dz-preview .dz-image img:not([src]){width:200px;height:200px}.vue-dropzone>.dz-preview .dz-image:hover img{transform:none;-webkit-filter:none}.vue-dropzone>.dz-preview .dz-details{bottom:0;top:0;color:#fff;background-color:rgba(33,150,243,.8);transition:opacity .2s linear;text-align:left}.vue-dropzone>.dz-preview .dz-details .dz-filename{overflow:hidden}.vue-dropzone>.dz-preview .dz-details .dz-filename span,.vue-dropzone>.dz-preview .dz-details .dz-size span{background-color:transparent}.vue-dropzone>.dz-preview .dz-details .dz-filename:not(:hover) span{border:none}.vue-dropzone>.dz-preview .dz-details .dz-filename:hover span{background-color:transparent;border:none}.vue-dropzone>.dz-preview .dz-progress .dz-upload{background:#ccc}.vue-dropzone>.dz-preview .dz-remove{position:absolute;z-index:30;color:#fff;margin-left:15px;padding:10px;top:inherit;bottom:15px;border:2px #fff solid;text-decoration:none;text-transform:uppercase;font-size:.8rem;font-weight:800;letter-spacing:1.1px;opacity:0}.vue-dropzone>.dz-preview:hover .dz-remove{opacity:1}.vue-dropzone>.dz-preview .dz-error-mark,.vue-dropzone>.dz-preview .dz-success-mark{margin-left:auto;margin-top:auto;width:100%;top:35%;left:0}.vue-dropzone>.dz-preview .dz-error-mark svg,.vue-dropzone>.dz-preview .dz-success-mark svg{margin-left:auto;margin-right:auto}.vue-dropzone>.dz-preview .dz-error-message{margin-left:auto;margin-right:auto;left:0;width:100%;text-align:center}.vue-dropzone>.dz-preview .dz-error-message:after{display:none}
/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\globals\globals.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which hides an element in DOM.
 */

.ck-hidden {
	/* Override selector specificity. Otherwise, all elements with some display
	style defined will override this one, which is not a desired result. */
	display: none !important;
}

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-reset,
.ck.ck-reset_all,
.ck.ck-reset_all * {
	box-sizing: border-box;
	width: auto;
	height: auto;
	position: static;
}

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-z-default: 1;
	--ck-z-modal: calc( var(--ck-z-default) + 999 );
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\globals\globals.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-base-foreground: 								hsl(0, 0%, 98%);
	--ck-color-base-background: 								hsl(0, 0%, 100%);
	--ck-color-base-border: 									hsl(0, 0%, 77%);
	--ck-color-base-action: 									hsl(104, 44%, 48%);
	--ck-color-base-focus: 										hsl(209, 92%, 70%);
	--ck-color-base-text: 										hsl(0, 0%, 20%);
	--ck-color-base-active: 									hsl(208, 88%, 52%);
	--ck-color-base-active-focus:								hsl(208, 88%, 47%);
	--ck-color-base-error:										hsl(15, 100%, 43%);

	/* -- Generic colors ------------------------------------------------------------------------ */

	--ck-color-focus-border: 									hsl(208, 90%, 62%);
	--ck-color-focus-shadow:									hsla(209, 90%, 72%,.5);
	--ck-color-focus-disabled-shadow:							hsla(209, 90%, 72%,.3);
	--ck-color-focus-error-shadow:								hsla(9,100%,56%,.3);
	--ck-color-text: 											var(--ck-color-base-text);
	--ck-color-shadow-drop: 									hsla(0, 0%, 0%, 0.15);
	--ck-color-shadow-drop-active:								hsla(0, 0%, 0%, 0.2);
	--ck-color-shadow-inner: 									hsla(0, 0%, 0%, 0.1);

	/* -- Buttons ------------------------------------------------------------------------------- */

	--ck-color-button-default-background: 						transparent;
	--ck-color-button-default-hover-background: 				hsl(0, 0%, 90%);
	--ck-color-button-default-active-background: 				hsl(0, 0%, 85%);
	--ck-color-button-default-active-shadow: 					hsl(0, 0%, 75%);
	--ck-color-button-default-disabled-background: 				transparent;

	--ck-color-button-on-background: 							hsl(0, 0%, 87%);
	--ck-color-button-on-hover-background: 						hsl(0, 0%, 77%);
	--ck-color-button-on-active-background: 					hsl(0, 0%, 73%);
	--ck-color-button-on-active-shadow: 						hsl(0, 0%, 63%);
	--ck-color-button-on-disabled-background: 					hsl(0, 0%, 87%);

	--ck-color-button-action-background: 						var(--ck-color-base-action);
	--ck-color-button-action-hover-background: 					hsl(104, 44%, 43%);
	--ck-color-button-action-active-background: 				hsl(104, 44%, 41%);
	--ck-color-button-action-active-shadow: 					hsl(104, 44%, 36%);
	--ck-color-button-action-disabled-background: 				hsl(104, 44%, 58%);
	--ck-color-button-action-text: 								var(--ck-color-base-background);

	--ck-color-button-save: 									hsl(120, 100%, 27%);
	--ck-color-button-cancel: 									hsl(15, 100%, 43%);

	--ck-color-switch-button-off-background:					hsl(0, 0%, 69%);
	--ck-color-switch-button-off-hover-background:				hsl(0, 0%, 64%);
	--ck-color-switch-button-on-background:						var(--ck-color-button-action-background);
	--ck-color-switch-button-on-hover-background:				hsl(104, 44%, 43%);
	--ck-color-switch-button-inner-background:					var(--ck-color-base-background);
	--ck-color-switch-button-inner-shadow:						hsla(0, 0%, 0%, 0.1);

	/* -- Dropdown ------------------------------------------------------------------------------ */

	--ck-color-dropdown-panel-background: 						var(--ck-color-base-background);
	--ck-color-dropdown-panel-border: 							var(--ck-color-base-border);

	/* -- Input --------------------------------------------------------------------------------- */

	--ck-color-input-background: 								var(--ck-color-base-background);
	--ck-color-input-border: 									hsl(0, 0%, 78%);
	--ck-color-input-error-border:								var(--ck-color-base-error);
	--ck-color-input-text: 										var(--ck-color-base-text);
	--ck-color-input-disabled-background: 						hsl(0, 0%, 95%);
	--ck-color-input-disabled-border: 							hsl(0, 0%, 78%);
	--ck-color-input-disabled-text: 							hsl(0, 0%, 36%);

	/* -- List ---------------------------------------------------------------------------------- */

	--ck-color-list-background: 								var(--ck-color-base-background);
	--ck-color-list-button-hover-background: 					var(--ck-color-button-default-hover-background);
	--ck-color-list-button-on-background: 						var(--ck-color-base-active);
	--ck-color-list-button-on-background-focus: 				var(--ck-color-base-active-focus);
	--ck-color-list-button-on-text:								var(--ck-color-base-background);

	/* -- Panel --------------------------------------------------------------------------------- */

	--ck-color-panel-background: 								var(--ck-color-base-background);
	--ck-color-panel-border: 									var(--ck-color-base-border);

	/* -- Toolbar ------------------------------------------------------------------------------- */

	--ck-color-toolbar-background: 								var(--ck-color-base-foreground);
	--ck-color-toolbar-border: 									var(--ck-color-base-border);

	/* -- Tooltip ------------------------------------------------------------------------------- */

	--ck-color-tooltip-background: 								var(--ck-color-base-text);
	--ck-color-tooltip-text: 									var(--ck-color-base-background);

	/* -- Engine -------------------------------------------------------------------------------- */

	--ck-color-engine-placeholder-text: 						hsl(0, 0%, 44%);

	/* -- Upload -------------------------------------------------------------------------------- */

	--ck-color-upload-bar-background:		 					hsl(209, 92%, 70%);

	/* -- Link -------------------------------------------------------------------------------- */

	--ck-color-link-default:									hsl(240, 100%, 47%);
	--ck-color-link-selected-background: 						hsla(201, 100%, 56%, 0.1);
}

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	/**
	 * An opacity value of disabled UI item.
	 */
	--ck-disabled-opacity: .5;
}

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	/**
	 * The geometry of the of focused element's outer shadow.
	 */
	--ck-focus-outer-shadow-geometry: 0 0 0 3px;

	/**
	 * A visual style of focused element's outer shadow.
	 */
	--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-shadow);

	/**
	 * A visual style of focused element's outer shadow (when disabled).
	 */
	--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);

	/**
	 * A visual style of focused element's outer shadow (when has errors).
	 */
	--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);

	/**
	 * A visual style of focused element's border or outline.
	 */
	--ck-focus-ring: 1px solid var(--ck-color-focus-border);
}

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-font-size-base: 13px;
	--ck-line-height-base: 1.84615;
	--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;

	--ck-font-size-tiny: 0.7em;
	--ck-font-size-small: 0.75em;
	--ck-font-size-normal: 1em;
	--ck-font-size-big: 1.4em;
	--ck-font-size-large: 1.8em;
}

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	/* This is super-important. This is **manually** adjusted so a button without an icon
	is never smaller than a button with icon, additionally making sure that text-less buttons
	are perfect squares. The value is also shared by other components which should stay "in-line"
	with buttons. */
	--ck-ui-component-min-height: 2.3em;
}

/**
 * Resets an element, ignoring its children.
 */

.ck.ck-reset,
.ck.ck-reset_all,
.ck.ck-reset_all * {
	/* Do not include inheritable rules here. */
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-decoration: none;
	vertical-align: middle;
	transition: none;

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */
	word-wrap: break-word;
}

/**
 * Resets an element AND its children.
 */

.ck.ck-reset_all,
.ck.ck-reset_all * {
	/* These are rule inherited by all children elements. */
	border-collapse: collapse;
	font: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);
	color: var(--ck-color-text);
	text-align: left;
	white-space: nowrap;
	cursor: auto;
	float: none;
}

.ck.ck-reset_all .ck-rtl * {
		text-align: right;
	}

.ck.ck-reset_all iframe {
		/* For IE */
		vertical-align: inherit;
	}

.ck.ck-reset_all textarea {
		white-space: pre-wrap;
	}

.ck.ck-reset_all textarea,
	.ck.ck-reset_all input[type="text"],
	.ck.ck-reset_all input[type="password"] {
		cursor: text;
	}

.ck.ck-reset_all textarea[disabled],
	.ck.ck-reset_all input[type="text"][disabled],
	.ck.ck-reset_all input[type="password"][disabled] {
		cursor: default;
	}

.ck.ck-reset_all fieldset {
		padding: 10px;
		border: 2px groove hsl(255, 7%, 88%);
	}

.ck.ck-reset_all button::-moz-focus-inner {
		/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */
		padding: 0;
		border: 0
	}

/**
 * Default UI rules for RTL languages.
 */

.ck[dir="rtl"],
.ck[dir="rtl"] .ck {
	text-align: right;
}

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Default border-radius value.
 */

:root{
	--ck-border-radius: 2px;
}

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	/**
	 * A visual style of element's inner shadow (i.e. input).
	 */
	--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;

	/**
	 * A visual style of element's drop shadow (i.e. panel).
	 */
	--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);

	/**
	 * A visual style of element's active shadow (i.e. comment or suggestion).
	 */
	--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);
}

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-spacing-unit: 						0.6em;
	--ck-spacing-large: 					calc(var(--ck-spacing-unit) * 1.5);
	--ck-spacing-standard: 					var(--ck-spacing-unit);
	--ck-spacing-medium: 					calc(var(--ck-spacing-unit) * 0.8);
	--ck-spacing-small: 					calc(var(--ck-spacing-unit) * 0.5);
	--ck-spacing-tiny: 						calc(var(--ck-spacing-unit) * 0.3);
	--ck-spacing-extra-tiny: 				calc(var(--ck-spacing-unit) * 0.16);
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\icon\icon.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-icon {
	vertical-align: middle;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\icon\icon.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));
}

.ck.ck-icon {
	width: var(--ck-icon-size);
	height: var(--ck-icon-size);

	/* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */
	font-size: .8333350694em;

	color: inherit;

	/* Inherit cursor style (#5). */
	cursor: inherit;

	/* This will prevent blurry icons on Firefox. See #340. */
	will-change: transform
}

.ck.ck-icon * {
		/* Inherit cursor style (#5). */
		cursor: inherit;

		/* Allows dynamic coloring of the icons. */
		color: inherit
	}

.ck.ck-icon *:not([fill]) {
				/* Needed by FF. */
				fill: currentColor;
		}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-widget\theme\widget.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-resizer: var(--ck-color-focus-border);
	--ck-resizer-size: 10px;
	--ck-resizer-border-width: 1px;
	--ck-resizer-border-radius: 2px;

	/* Set resizer with 50% offset. */
	--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);

	--ck-resizer-tooltip-offset: 10px;
	--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);
	--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);
}

.ck .ck-widget_with-resizer {
	/* Make the widget wrapper a relative positioning container for the drag handle. */
	position: relative;
}

.ck .ck-widget__resizer {
	display: none;
	position: absolute;

	/* The wrapper itself should not interfere with pointer device, only the handles. */
	pointer-events: none;

	left: 0;
	top: 0;

	outline: 1px solid var(--ck-color-resizer);
}

.ck-focused .ck-widget_with-resizer.ck-widget_selected > .ck-widget__resizer {
		display: block;
	}

.ck .ck-widget__resizer__handle {
	position: absolute;

	/* Resizers are the only UI elements that should interfere with pointer device. */
	pointer-events: all;

	width: var(--ck-resizer-size);
	height: var(--ck-resizer-size);
	background: var(--ck-color-focus-border);
	border: var(--ck-resizer-border-width) solid #fff;
	border-radius: var(--ck-resizer-border-radius)
}

.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left {
		top: var( --ck-resizer-offset );
		left: var( --ck-resizer-offset );
		cursor: nwse-resize;
	}

.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right {
		top: var( --ck-resizer-offset );
		right: var( --ck-resizer-offset );
		cursor: nesw-resize;
	}

.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right {
		bottom: var( --ck-resizer-offset );
		right: var( --ck-resizer-offset );
		cursor: nwse-resize;
	}

.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left {
		bottom: var( --ck-resizer-offset );
		left: var( --ck-resizer-offset );
		cursor: nesw-resize;
	}

.ck .ck-widget.ck-widget_with-selection-handler {
	/* Make the widget wrapper a relative positioning container for the drag handler. */
	position: relative

	/* Show the selection handler on mouse hover over the widget. */
}

.ck .ck-widget.ck-widget_with-selection-handler:hover .ck-widget__selection-handler {
			visibility: visible;
		}

.ck .ck-widget.ck-widget_with-selection-handler .ck-widget__selection-handler {
		position: absolute
	}

.ck .ck-widget.ck-widget_with-selection-handler .ck-widget__selection-handler .ck-icon {
			/* Make sure the icon in not a subject to font-size/line-height to avoid
			unnecessary spacing around it. */
			display: block;
		}

.ck .ck-widget.ck-widget_with-selection-handler {

	/* Show the selection handler when the widget is selected. */
}

.ck .ck-widget.ck-widget_with-selection-handler.ck-widget_selected .ck-widget__selection-handler {
		visibility: visible;
	}

.ck .ck-size-view {
	background: var(--ck-color-resizer-tooltip-background);
	color: var(--ck-color-resizer-tooltip-text);
	border: 1px solid var(--ck-color-resizer-tooltip-text);
	border-radius: var(--ck-resizer-border-radius);
	font-size: var(--ck-font-size-tiny);
	display: block;
	padding: var(--ck-spacing-small)
}

.ck .ck-size-view.ck-orientation-top-left,
	.ck .ck-size-view.ck-orientation-top-right,
	.ck .ck-size-view.ck-orientation-bottom-right,
	.ck .ck-size-view.ck-orientation-bottom-left {
		position: absolute;
	}

.ck .ck-size-view.ck-orientation-top-left {
		top: var( --ck-resizer-tooltip-offset );
		left: var( --ck-resizer-tooltip-offset );
	}

.ck .ck-size-view.ck-orientation-top-right {
		top: var( --ck-resizer-tooltip-offset );
		right: var( --ck-resizer-tooltip-offset );
	}

.ck .ck-size-view.ck-orientation-bottom-right {
		bottom: var( --ck-resizer-tooltip-offset );
		right: var( --ck-resizer-tooltip-offset );
	}

.ck .ck-size-view.ck-orientation-bottom-left {
		bottom: var( --ck-resizer-tooltip-offset );
		left: var( --ck-resizer-tooltip-offset );
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-widget\widget.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

:root {
	--ck-widget-outline-thickness: 3px;
	--ck-widget-handler-icon-size: 16px;
	--ck-widget-handler-animation-duration: 200ms;
	--ck-widget-handler-animation-curve: ease;

	--ck-color-widget-blurred-border: hsl(0, 0%, 87%);
	--ck-color-widget-hover-border: hsl(43, 100%, 62%);
	--ck-color-widget-editable-focus-background: var(--ck-color-base-background);
	--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);
}

.ck .ck-widget {
	outline-width: var(--ck-widget-outline-thickness);
	outline-style: solid;
	outline-color: transparent;
	transition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)
}

.ck .ck-widget.ck-widget_selected,
	.ck .ck-widget.ck-widget_selected:hover {
		outline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);
	}

.ck .ck-widget:hover {
		outline-color: var(--ck-color-widget-hover-border);
	}

.ck .ck-editor__nested-editable {
	border: 1px solid transparent

	/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.
	These styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */
}

.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,
	.ck .ck-editor__nested-editable:focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-inner-shadow), 0 0;

		background-color: var(--ck-color-widget-editable-focus-background);
	}

.ck-editor__editable > .ck-widget.ck-widget_with-selection-handler:first-child,
.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handler:first-child {
	/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.
	In fact, anything with overflow: hidden.
	https://github.com/ckeditor/ckeditor5-block-quote/issues/28
	https://github.com/ckeditor/ckeditor5-widget/issues/44
	https://github.com/ckeditor/ckeditor5-widget/issues/66 */
	margin-top: calc(1em + var(--ck-widget-handler-icon-size));
}

.ck .ck-widget.ck-widget_with-selection-handler .ck-widget__selection-handler {
		padding: 4px;
		box-sizing: border-box;

		/* Background and opacity will be animated as the handler shows up or the widget gets selected. */
		background-color: transparent;
		opacity: 0;

		/* Transition:
		   * background-color for the .ck-widget_selected state change,
		   * visibility for hiding the handler,
		   * opacity for the proper look of the icon when the handler disappears. */
		transition:
			background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),
			visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),
			opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);

		/* Make only top corners round. */
		border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;

		/* Place the drag handler outside the widget wrapper. */
		transform: translateY(-100%);
		left: calc(0px - var(--ck-widget-outline-thickness))

		/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */
	}

.ck .ck-widget.ck-widget_with-selection-handler .ck-widget__selection-handler:hover .ck-icon .ck-icon__selected-indicator {
			opacity: 1;
		}

.ck .ck-widget.ck-widget_with-selection-handler .ck-widget__selection-handler .ck-icon {
			/* Make sure the dimensions of the icon are independent of the fon-size of the content. */
			width: var(--ck-widget-handler-icon-size);
			height: var(--ck-widget-handler-icon-size);
			color: var(--ck-color-widget-drag-handler-icon-color)

			/* The "selected" part of the icon is invisible by default */
		}

.ck .ck-widget.ck-widget_with-selection-handler .ck-widget__selection-handler .ck-icon .ck-icon__selected-indicator {
				opacity: 0;

				/* Note: The animation is longer on purpose. Simply feels better. */
				transition: opacity 300ms var(--ck-widget-handler-animation-curve);
			}

.ck .ck-widget.ck-widget_with-selection-handler {

	/* Show the selection handler when the widget is selected. */
}

.ck .ck-widget.ck-widget_with-selection-handler.ck-widget_selected .ck-widget__selection-handler, .ck .ck-widget.ck-widget_with-selection-handler.ck-widget_selected:hover .ck-widget__selection-handler {
			opacity: 1;
			background-color: var(--ck-color-focus-border)

			/* When the widget is selected, notify the user using the proper look of the icon. */
		}

.ck .ck-widget.ck-widget_with-selection-handler.ck-widget_selected .ck-widget__selection-handler .ck-icon .ck-icon__selected-indicator, .ck .ck-widget.ck-widget_with-selection-handler.ck-widget_selected:hover .ck-widget__selection-handler .ck-icon .ck-icon__selected-indicator {
				opacity: 1;
			}

.ck .ck-widget.ck-widget_with-selection-handler {

	/* Show the selection handler on mouse hover over the widget. */
}

.ck .ck-widget.ck-widget_with-selection-handler:hover .ck-widget__selection-handler {
		opacity: 1;
		background-color: var(--ck-color-widget-hover-border);
	}

/* In a RTL environment, align the selection handler to the right side of the widget */

.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handler .ck-widget__selection-handler {
	left: auto;
	right: calc(0px - var(--ck-widget-outline-thickness));
}

/* Style the widget when it's selected but the editable it belongs to lost focus. */

.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,
	.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover {
		outline-color: var(--ck-color-widget-blurred-border)
	}

.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected .ck-widget__selection-handler,
		.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected .ck-widget__selection-handler:hover,
		.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover .ck-widget__selection-handler,
		.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover .ck-widget__selection-handler:hover {
			background: var(--ck-color-widget-blurred-border);
		}

.ck-editor__editable.ck-read-only .ck-widget {
	/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.
	See: https://github.com/ckeditor/ckeditor5/issues/1261 */
	--ck-widget-outline-thickness: 0;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\tooltip\tooltip.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-tooltip,
.ck.ck-tooltip .ck-tooltip__text::after {
	position: absolute;

	/* Without this, hovering the tooltip could keep it visible. */
	pointer-events: none;

	/* This is to get rid of flickering when transitioning opacity in Chrome.
	It's weird but it works. */
	-webkit-backface-visibility: hidden;
}

.ck-tooltip {
	/* Tooltip is hidden by default. */
	visibility: hidden;
	opacity: 0;
	display: none;
	z-index: var(--ck-z-modal)
}

.ck-tooltip .ck-tooltip__text {
		display: inline-block
	}

.ck-tooltip .ck-tooltip__text::after {
			content: "";
			width: 0;
			height: 0;
		}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\tooltip\tooltip.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

:root {
	--ck-tooltip-arrow-size: 5px;
}

.ck.ck-tooltip {
	left: 50%;

	/*
	 * Prevent blurry tooltips in LoDPI environments.
	 * See https://github.com/ckeditor/ckeditor5/issues/1802.
	 */
	top: 0

	/**
	 * A class once applied displays the tooltip south of the element.
	 *
	 *       [element]
	 *           ^
	 *     +-----------+
	 *     |  Tooltip  |
	 *     +-----------+
	 */
}

.ck.ck-tooltip.ck-tooltip_s {
		bottom: calc(-1 * var(--ck-tooltip-arrow-size));
		transform: translateY( 100% )
	}

.ck.ck-tooltip.ck-tooltip_s .ck-tooltip__text::after {
			top: calc(-1 * var(--ck-tooltip-arrow-size));
			transform: translateX( -50% );
			border-color: transparent transparent var(--ck-color-tooltip-background) transparent;
			border-width: 0 var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size);
		}

.ck.ck-tooltip {

	/**
	 * A class once applied displays the tooltip north of the element.
	 *
	 *     +-----------+
	 *     |  Tooltip  |
	 *     +-----------+
	 *           V
	 *       [element]
	 */
}

.ck.ck-tooltip.ck-tooltip_n {
		top: calc(-1 * var(--ck-tooltip-arrow-size));
		transform: translateY( -100% )
	}

.ck.ck-tooltip.ck-tooltip_n .ck-tooltip__text::after {
			bottom: calc(-1 * var(--ck-tooltip-arrow-size));
			transform: translateX( -50% );
			border-color: var(--ck-color-tooltip-background) transparent transparent transparent;
			border-width: var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) 0 var(--ck-tooltip-arrow-size);
		}

.ck.ck-tooltip .ck-tooltip__text {
		border-radius: 0
	}

.ck-rounded-corners .ck.ck-tooltip .ck-tooltip__text, .ck.ck-tooltip .ck-tooltip__text.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
	}

.ck.ck-tooltip .ck-tooltip__text {

		font-size: .9em;
		line-height: 1.5;
		color: var(--ck-color-tooltip-text);
		padding: var(--ck-spacing-small) var(--ck-spacing-medium);
		background: var(--ck-color-tooltip-background);
		position: relative;
		left: -50%
	}

.ck.ck-tooltip .ck-tooltip__text::after {
			border-style: solid;
			left: 50%;
		}

.ck.ck-tooltip,
.ck.ck-tooltip .ck-tooltip__text::after {
	/* For the transition to work, the tooltip must be controlled
	using visibility+opacity. A delay prevents a "tooltip avalanche"
	i.e. when scanning the toolbar with mouse cursor. */
	transition: opacity .2s ease-in-out .2s;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\button\button.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Makes element unselectable.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

.ck.ck-button,
a.ck.ck-button {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none
}

.ck.ck-button .ck-tooltip, a.ck.ck-button .ck-tooltip {
		display: block

		/*
		 * Don't display tooltips in devices which don't support :hover.
		 * In fact, it's all about iOS, which forces user to click UI elements twice to execute
		 * the primary action, when tooltips are enabled.
		 *
		 * Q: OK, but why not the following query?
		 *
		 *   @media (hover) {
		 *       display: block;
		 *   }
		 *
		 * A: Because FF does not support it and it would completely disable tooltips
		 * in that browser.
		 *
		 * More in https://github.com/ckeditor/ckeditor5/issues/920.
		 */
	}

@media (hover:none) {

.ck.ck-button .ck-tooltip, a.ck.ck-button .ck-tooltip {
			display: none
	}
		}

.ck.ck-button,
a.ck.ck-button {

	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: left
}

.ck.ck-button.ck-button_with-text .ck-button__label, a.ck.ck-button.ck-button_with-text .ck-button__label {
			display: inline-block;
		}

.ck.ck-button,
a.ck.ck-button {

	/* Center the icon horizontally in a button without text. */
}

.ck.ck-button:not(.ck-button_with-text),  a.ck.ck-button:not(.ck-button_with-text)  {
		justify-content: center;
	}

.ck.ck-button:hover .ck-tooltip, a.ck.ck-button:hover .ck-tooltip {
		visibility: visible;
		opacity: 1;
	}

.ck.ck-button,
a.ck.ck-button {

	/* Get rid of the native focus outline around the tooltip when focused (but not :hover). */
}

.ck.ck-button:focus:not(:hover) .ck-tooltip, a.ck.ck-button:focus:not(:hover) .ck-tooltip {
		display: none;
	}

.ck.ck-button .ck-button__label, a.ck.ck-button .ck-button__label {
		display: none;
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\button\button.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements a button of given background color.
 *
 * @param {String} $background - Background color of the button.
 * @param {String} $border - Border color of the button.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-button,
a.ck.ck-button {
	background: var(--ck-color-button-default-background)
}

.ck.ck-button:not(.ck-disabled):hover, a.ck.ck-button:not(.ck-disabled):hover {
			background: var(--ck-color-button-default-hover-background);
		}

.ck.ck-button:not(.ck-disabled):active, a.ck.ck-button:not(.ck-disabled):active {
			background: var(--ck-color-button-default-active-background);
			box-shadow: inset 0 2px 2px var(--ck-color-button-default-active-shadow);
		}

.ck.ck-button,
a.ck.ck-button {
	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
}

.ck.ck-button.ck-disabled, a.ck.ck-button.ck-disabled {
		background: var(--ck-color-button-default-disabled-background);
	}

.ck.ck-button,
a.ck.ck-button {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-button,
.ck.ck-button.ck-rounded-corners,
.ck-rounded-corners a.ck.ck-button,
a.ck.ck-button.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-button,
a.ck.ck-button {

	white-space: nowrap;
	cursor: default;
	vertical-align: middle;
	padding: var(--ck-spacing-tiny);
	text-align: center;

	/* A very important piece of styling. Go to variable declaration to learn more. */
	min-width: var(--ck-ui-component-min-height);
	min-height: var(--ck-ui-component-min-height);

	/* Normalize the height of the line. Removing this will break consistent height
	among text and text-less buttons (with icons). */
	line-height: 1;

	/* Enable font size inheritance, which allows fluid UI scaling. */
	font-size: inherit;

	/* Avoid flickering when the foucs border shows up. */
	border: 1px solid transparent;

	/* Apply some smooth transition to the box-shadow. */
	transition: box-shadow 200ms ease-in-out;

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */
	-webkit-appearance: none
}

.ck.ck-button:active,
	.ck.ck-button:focus,
	a.ck.ck-button:active,
	a.ck.ck-button:focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-focus-outer-shadow), 0 0;

		/* Disable border part of the focus ring for the buttons. It is too much. */
		border-color: transparent;
	}

.ck.ck-button,
a.ck.ck-button {

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */
}

.ck.ck-button.ck-disabled:active,
		.ck.ck-button.ck-disabled:focus,
		a.ck.ck-button.ck-disabled:active,
		a.ck.ck-button.ck-disabled:focus {
			/* The disabled button should have a slightly less visible shadow when focused. */
			box-shadow: var(--ck-focus-disabled-outer-shadow), 0 0;
		}

.ck.ck-button.ck-disabled .ck-button__icon, a.ck.ck-button.ck-disabled .ck-button__icon {
			opacity: var(--ck-disabled-opacity);
		}

.ck.ck-button.ck-disabled, a.ck.ck-button.ck-disabled {

		/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
	}

.ck.ck-button.ck-disabled .ck-button__label, a.ck.ck-button.ck-disabled .ck-button__label {
			opacity: var(--ck-disabled-opacity);
		}

.ck.ck-button.ck-button_with-text, a.ck.ck-button.ck-button_with-text {
		padding: var(--ck-spacing-tiny) var(--ck-spacing-standard)
	}

[dir="ltr"] .ck.ck-button.ck-button_with-text .ck-button__icon, [dir="ltr"] a.ck.ck-button.ck-button_with-text .ck-button__icon {
				margin-left: calc(-1 * var(--ck-spacing-small));
				margin-right: var(--ck-spacing-small)
		}

[dir="rtl"] .ck.ck-button.ck-button_with-text .ck-button__icon, [dir="rtl"] a.ck.ck-button.ck-button_with-text .ck-button__icon {
				margin-right: calc(-1 * var(--ck-spacing-small));
				margin-left: var(--ck-spacing-small)
		}

.ck.ck-button,
a.ck.ck-button {

	/* A style of the button which is currently on, e.g. its feature is active. */
}

.ck.ck-button.ck-on, a.ck.ck-button.ck-on {
		background: var(--ck-color-button-on-background);
	}

.ck.ck-button.ck-on:not(.ck-disabled):hover, a.ck.ck-button.ck-on:not(.ck-disabled):hover {
			background: var(--ck-color-button-on-hover-background);
		}

.ck.ck-button.ck-on:not(.ck-disabled):active, a.ck.ck-button.ck-on:not(.ck-disabled):active {
			background: var(--ck-color-button-on-active-background);
			box-shadow: inset 0 2px 2px var(--ck-color-button-on-active-shadow);
		}

.ck.ck-button.ck-on, a.ck.ck-button.ck-on {
		/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
	}

.ck.ck-button.ck-on.ck-disabled, a.ck.ck-button.ck-on.ck-disabled {
		background: var(--ck-color-button-on-disabled-background);
	}

.ck.ck-button.ck-button-save, a.ck.ck-button.ck-button-save {
		color: var(--ck-color-button-save);
	}

.ck.ck-button.ck-button-cancel, a.ck.ck-button.ck-button-cancel {
		color: var(--ck-color-button-cancel);
	}

.ck.ck-button,
a.ck.ck-button {

	/* Allow icon coloring using the text "color" property. */
}

.ck.ck-button .ck-button__icon use,
		.ck.ck-button .ck-button__icon use *,
		a.ck.ck-button .ck-button__icon use,
		a.ck.ck-button .ck-button__icon use * {
			color: inherit;
		}

.ck.ck-button .ck-button__label, a.ck.ck-button .ck-button__label {
		/* Enable font size inheritance, which allows fluid UI scaling. */
		font-size: inherit;
		font-weight: inherit;
		color: inherit;
		cursor: inherit;

		/* Must be consistent with .ck-icon's vertical align. Otherwise, buttons with and
		without labels (but with icons) have different sizes in Chrome */
		vertical-align: middle
	}

[dir="ltr"] .ck.ck-button .ck-button__label, [dir="ltr"] a.ck.ck-button .ck-button__label {
			text-align: left
	}

[dir="rtl"] .ck.ck-button .ck-button__label, [dir="rtl"] a.ck.ck-button .ck-button__label {
			text-align: right
	}

/* A style of the button which handles the primary action. */

.ck.ck-button-action,
a.ck.ck-button-action {
	background: var(--ck-color-button-action-background);
}

.ck.ck-button-action:not(.ck-disabled):hover, a.ck.ck-button-action:not(.ck-disabled):hover {
			background: var(--ck-color-button-action-hover-background);
		}

.ck.ck-button-action:not(.ck-disabled):active, a.ck.ck-button-action:not(.ck-disabled):active {
			background: var(--ck-color-button-action-active-background);
			box-shadow: inset 0 2px 2px var(--ck-color-button-action-active-shadow);
		}

.ck.ck-button-action,
a.ck.ck-button-action {
	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
}

.ck.ck-button-action.ck-disabled, a.ck.ck-button-action.ck-disabled {
		background: var(--ck-color-button-action-disabled-background);
	}

.ck.ck-button-action,
a.ck.ck-button-action {

	color: var(--ck-color-button-action-text);
}

.ck.ck-button-bold,
a.ck.ck-button-bold {
	font-weight: bold;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\dropdown\dropdown.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

.ck.ck-dropdown {
	display: inline-block;
	position: relative
}

.ck.ck-dropdown .ck-dropdown__arrow {
		pointer-events: none;
		z-index: var(--ck-z-default);
	}

.ck.ck-dropdown {

	/* Dropdown button should span horizontally, e.g. in vertical toolbars */
}

.ck.ck-dropdown .ck-button.ck-dropdown__button {
		width: 100%

		/* Disable main button's tooltip when the dropdown is open. Otherwise the panel may
		partially cover the tooltip */
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on .ck-tooltip {
		display: none;
	}

.ck.ck-dropdown .ck-dropdown__panel {
		/* This is to get rid of flickering when the tooltip is shown under the panel,
		which looks like the panel moves vertically a pixel down and up. */
		-webkit-backface-visibility: hidden;

		display: none;
		z-index: var(--ck-z-modal);

		position: absolute
	}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible {
			display: inline-block;

			/* This will prevent blurry icons in dropdown on Firefox. See #340. */
			will-change: transform;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw {
			bottom: 100%;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw {
			transform: translate3d( 0, 100%, 0 );
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se {
			left: 0px;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw {
			right: 0px;
		}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\dropdown\dropdown.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));
}

.ck.ck-dropdown {
	/* Enable font size inheritance, which allows fluid UI scaling. */
	font-size: inherit
}

.ck.ck-dropdown .ck-dropdown__arrow {
		width: var(--ck-dropdown-arrow-size);
	}

[dir="ltr"] .ck.ck-dropdown .ck-dropdown__arrow {
			right: var(--ck-spacing-standard);

			/* A space to accommodate the triangle. */
			margin-left: var(--ck-spacing-small);
		}

[dir="rtl"] .ck.ck-dropdown .ck-dropdown__arrow {
			left: var(--ck-spacing-standard);

			/* A space to accommodate the triangle. */
			margin-right: var(--ck-spacing-small);
		}

.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow {
		opacity: var(--ck-disabled-opacity);
	}

[dir="ltr"] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text) {
				/* Make sure dropdowns with just an icon have the right inner spacing */
				padding-left: var(--ck-spacing-small);
			}

[dir="rtl"] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text) {
				/* Make sure dropdowns with just an icon have the right inner spacing */
				padding-right: var(--ck-spacing-small);
			}

.ck.ck-dropdown .ck-button.ck-dropdown__button {

		/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label {
			opacity: var(--ck-disabled-opacity);
		}

.ck.ck-dropdown .ck-button.ck-dropdown__button {

		/* https://github.com/ckeditor/ckeditor5/issues/816 */
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on {
			border-bottom-left-radius: 0;
			border-bottom-right-radius: 0;
		}

.ck.ck-dropdown .ck-button.ck-dropdown__button {

		/* #23 */
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label {
			width: 7em;
			overflow: hidden;
			text-overflow: ellipsis;
		}

.ck.ck-dropdown__panel {
	border-radius: 0;
}

.ck-rounded-corners .ck.ck-dropdown__panel, .ck.ck-dropdown__panel.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
}

.ck.ck-dropdown__panel {
	box-shadow: var(--ck-drop-shadow), 0 0;

	/* Disabled radius of top-left border to be consistent with .dropdown__button
	https://github.com/ckeditor/ckeditor5/issues/816 */
	border-radius: 0;
}

.ck-rounded-corners .ck.ck-dropdown__panel, .ck.ck-dropdown__panel.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
		border-top-left-radius: 0;
}

.ck.ck-dropdown__panel {

	background: var(--ck-color-dropdown-panel-background);
	border: 1px solid var(--ck-color-dropdown-panel-border);
	bottom: 0;

	/* Make sure the panel is at least as wide as the drop-down's button. */
	min-width: 100%;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\toolbar\toolbar.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Makes element unselectable.
 */

.ck.ck-toolbar {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;

	display: flex;
	flex-flow: row wrap;
	align-items: center
}

.ck.ck-toolbar.ck-toolbar_vertical {
		flex-direction: column;
	}

.ck.ck-toolbar.ck-toolbar_floating {
		flex-wrap: nowrap;
	}

.ck.ck-toolbar__separator {
	display: inline-block;
}

.ck.ck-toolbar__newline {
	display: block;
	width: 100%;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\toolbar\toolbar.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-toolbar {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-toolbar, .ck.ck-toolbar.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-toolbar {

	background: var(--ck-color-toolbar-background);
	padding: 0 var(--ck-spacing-small);
	border: 1px solid var(--ck-color-toolbar-border)
}

.ck.ck-toolbar > * {
		/* Make sure items wrapped to the next line have v-spacing */
		margin-top: var(--ck-spacing-small);
		margin-bottom: var(--ck-spacing-small);
	}

.ck.ck-toolbar > * {
		/* (#11) Separate toolbar items. */
		margin-right: var(--ck-spacing-small);
	}

[dir="rtl"] .ck.ck-toolbar > * {
			/* (#11) Separate toolbar items. */
			margin-left: var(--ck-spacing-small);
			margin-right: 0;
		}

.ck.ck-toolbar.ck-toolbar_vertical {
		/* Items in a vertical toolbar span the entire width. */
		padding: 0

		/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */
	}

.ck.ck-toolbar.ck-toolbar_vertical > .ck {
			/* Items in a vertical toolbar should span the horizontal space. */
			width: 100%;

			/* Items in a vertical toolbar should have no margin. */
			margin: 0;

			/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */
			border-radius: 0;

			/* Items in a vertical toolbar span the entire width so any border is pointless. */
			border: 0;
		}

[dir="ltr"] .ck.ck-toolbar > *:last-child {
			margin-right: 0;
		}

[dir="rtl"] .ck.ck-toolbar > *:last-child {
			margin-left: 0;
		}

.ck-toolbar-container .ck.ck-toolbar {
		border: 0
}

.ck.ck-toolbar__separator {
	align-self: stretch;
	width: 1px;
	margin-top: 0;
	margin-bottom: 0;
	background: var(--ck-color-toolbar-border);
}

.ck.ck-toolbar__newline {
	margin: 0;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\list\list.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Makes element unselectable.
 */

.ck.ck-list {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;

	display: flex;
	flex-direction: column
}

.ck.ck-list .ck-list__item,
	.ck.ck-list .ck-list__separator {
		display: block;
	}

.ck.ck-list {

	/* Make sure that whatever child of the list item gets focus, it remains on the
	top. Thanks to that, styles like box-shadow, outline, etc. are not masked by
	adjacent list items. */
}

.ck.ck-list .ck-list__item > *:focus {
		position: relative;
		z-index: var(--ck-z-default);
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\list\list.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

.ck.ck-list {
	border-radius: 0;
}

.ck-rounded-corners .ck.ck-list, .ck.ck-list.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
}

.ck.ck-list {

	list-style-type: none;
	background: var(--ck-color-list-background);
}

.ck.ck-list__item {
	cursor: default;
	min-width: 12em
}

.ck.ck-list__item .ck-button {
		min-height: unset;
		width: 100%;
		text-align: left;
		border-radius: 0;
		border: 0;

		/* List items should have the same height. Use absolute units to make sure it is so
		   because e.g. different heading styles may have different height
		   https://github.com/ckeditor/ckeditor5-heading/issues/63 */
		padding:
			calc(.2*var(--ck-line-height-base)*var(--ck-font-size-base))
			calc(.4*var(--ck-line-height-base)*var(--ck-font-size-base))
	}

.ck.ck-list__item .ck-button .ck-button__label {
			/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */
			line-height: calc(1.2*var(--ck-line-height-base)*var(--ck-font-size-base));
		}

.ck.ck-list__item .ck-button:active {
			box-shadow: none;
		}

.ck.ck-list__item .ck-button.ck-on {
			background: var(--ck-color-list-button-on-background);
			color: var(--ck-color-list-button-on-text)
		}

.ck.ck-list__item .ck-button.ck-on:hover:not(ck-disabled) {
				background: var(--ck-color-list-button-on-background-focus);
			}

.ck.ck-list__item .ck-button.ck-on:active {
				box-shadow: none;
			}

.ck.ck-list__item .ck-button:hover:not(.ck-disabled) {
			background: var(--ck-color-list-button-hover-background);
		}

.ck.ck-list__item {

	/* It's unnecessary to change the background/text of a switch toggle; it has different ways
	of conveying its state (like the switcher) */
}

.ck.ck-list__item .ck-switchbutton.ck-on {
			background: var(--ck-color-list-background);
			color: inherit
		}

.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(ck-disabled) {
				background: var(--ck-color-list-button-hover-background);
				color: inherit;
			}

.ck.ck-list__separator {
	height: 1px;
	width: 100%;
	background: var(--ck-color-base-border);
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\button\switchbutton.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-button.ck-switchbutton .ck-button__toggle {
		display: block
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner {
			display: block;
		}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\button\switchbutton.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature
of the component, floating–point numbers have been used which, for the default font size
(see: --ck-font-size-base), will generate simple integers. */

:root {
	/* 34px at 13px font-size */
	--ck-switch-button-toggle-width: 2.6153846154em;
	/* 14px at 13px font-size */
	--ck-switch-button-toggle-inner-size: 1.0769230769em;
	--ck-switch-button-toggle-spacing: 1px;
	--ck-switch-button-translation: 1.3846153847em;
}

[dir="ltr"] .ck.ck-button.ck-switchbutton .ck-button__label {
			/* Separate the label from the switch */
			margin-right: calc(2*var(--ck-spacing-large))
	}

[dir="rtl"] .ck.ck-button.ck-switchbutton .ck-button__label {
			/* Separate the label from the switch */
			margin-left: calc(2*var(--ck-spacing-large))
	}

.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle {
		opacity: var(--ck-disabled-opacity);
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle {
		border-radius: 0
	}

.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle, .ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
	}

[dir="ltr"] .ck.ck-button.ck-switchbutton .ck-button__toggle {
			/* Make sure the toggle is always to the right as far as possible. */
			margin-left: auto
	}

[dir="rtl"] .ck.ck-button.ck-switchbutton .ck-button__toggle {
			/* Make sure the toggle is always to the left as far as possible. */
			margin-right: auto
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle {

		/* Gently animate the background color of the toggle switch */
		transition: background 400ms ease;

		width: var(--ck-switch-button-toggle-width);
		background: var(--ck-color-switch-button-off-background)
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle:hover {
			background: var(--ck-color-switch-button-off-hover-background)
		}

.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner {
				box-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);
			}

.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner {
			border-radius: 0;
		}

.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner, .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-radius: calc(.5*var(--ck-border-radius));
		}

.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner {

			/* Leave some tiny bit of space around the inner part of the switch */
			margin: var(--ck-switch-button-toggle-spacing);
			width: var(--ck-switch-button-toggle-inner-size);
			height: var(--ck-switch-button-toggle-inner-size);
			background: var(--ck-color-switch-button-inner-background);

			/* Gently animate the inner part of the toggle switch */
			transition: all 300ms ease;
		}

.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle {
		background: var(--ck-color-switch-button-on-background)
	}

.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover {
			background: var(--ck-color-switch-button-on-hover-background);
		}

.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner {
			/*
			 * Move the toggle switch to the right. It will be animated.
			 *
			 * Edge is not supporting calc() in the transitions and animations, we need to hardcode this value (see ckeditor5-ui#433).
			 * It boils down to:
			 *
			 * 	calc(
			 * 		var(--ck-switch-button-toggle-width) -
			 * 		var(--ck-switch-button-toggle-inner-size) -
			 * 		2*var(--ck-switch-button-toggle-spacing) )
			 * 	)
			 */
		}

[dir="ltr"] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner {
				transform: translateX( var( --ck-switch-button-translation ) )
		}

[dir="rtl"] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner {
				transform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) )
		}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\dropdown\toolbardropdown.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-toolbar-dropdown .ck-toolbar {
		flex-wrap: nowrap;
	}

.ck.ck-toolbar-dropdown .ck-dropdown__panel .ck-button:focus {
			z-index: calc(var(--ck-z-default) + 1);
		}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\dropdown\toolbardropdown.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-toolbar-dropdown .ck-toolbar {
	border: 0;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\dropdown\listdropdown.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\dropdown\listdropdown.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

.ck.ck-dropdown .ck-dropdown__panel .ck-list {
	/* Disabled radius of top-left border to be consistent with .dropdown__button
	https://github.com/ckeditor/ckeditor5/issues/816 */
	border-radius: 0
}

.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list, .ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
		border-top-left-radius: 0
}

.ck.ck-dropdown .ck-dropdown__panel .ck-list {

	/* Make sure the button belonging to the first/last child of the list goes well with the
	border radius of the entire panel. */
}

.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button {
			border-radius: 0
		}

.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button, .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-top-left-radius: 0;
				border-bottom-left-radius: 0;
				border-bottom-right-radius: 0
		}

.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button {
			border-radius: 0
		}

.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button, .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-top-left-radius: 0;
				border-top-right-radius: 0
		}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-engine\theme\placeholder.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* See ckeditor/ckeditor5#936. */

.ck.ck-placeholder::before, .ck .ck-placeholder::before {
		content: attr(data-placeholder);

		/* See ckeditor/ckeditor5#469. */
		pointer-events: none;
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-engine\placeholder.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* See ckeditor/ckeditor5#936. */

.ck.ck-placeholder::before, .ck .ck-placeholder::before {
		cursor: text;
		color: var(--ck-color-engine-placeholder-text);
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\editorui\editorui.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\editorui\editorui.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements a button of given background color.
 *
 * @param {String} $background - Background color of the button.
 * @param {String} $border - Border color of the button.
 */

.ck.ck-editor__editable:not(.ck-editor__nested-editable) {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable), .ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-inner-shadow), 0 0;
	}

.ck.ck-editor__editable_inline {
	overflow: auto;
	padding: 0 var(--ck-spacing-standard);
	border: 1px solid transparent
}

.ck.ck-editor__editable_inline[dir="ltr"] {
		text-align: left;
	}

.ck.ck-editor__editable_inline[dir="rtl"] {
		text-align: right;
	}

.ck.ck-editor__editable_inline {

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */
}

.ck.ck-editor__editable_inline > *:first-child {
		margin-top: var(--ck-spacing-large);
	}

.ck.ck-editor__editable_inline {

	/* https://github.com/ckeditor/ckeditor5/issues/847 */
}

.ck.ck-editor__editable_inline > *:last-child {
		margin-bottom: var(--ck-spacing-large);
	}

/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */

.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"]::after {
		border-bottom-color: var(--ck-color-base-foreground);
	}

.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"]::after {
		border-top-color: var(--ck-color-base-foreground);
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\label\label.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-label {
	display: block;
}

.ck.ck-voice-label {
	display: none;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\label\label.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-label {
	font-weight: bold;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\panel\stickypanel.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-sticky-panel .ck-sticky-panel__content_sticky {
		z-index: var(--ck-z-modal); /* #315 */
		position: fixed;
		top: 0;
	}

.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit {
		top: auto;
		position: absolute;
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\panel\stickypanel.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

.ck.ck-sticky-panel .ck-sticky-panel__content_sticky {
		box-shadow: var(--ck-drop-shadow), 0 0;

		border-width: 0 1px 1px;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-editor-classic\theme\classiceditor.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-editor {
	/* All the elements within `.ck-editor` are positioned relatively to it.
	 If any element needs to be positioned with respect to the <body>, etc.,
	 it must land outside of the `.ck-editor` in DOM. */
	position: relative
}

.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar {
		/* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */
		z-index: var(--ck-z-modal);
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-editor-classic\classiceditor.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

.ck.ck-editor__top .ck-sticky-panel .ck-toolbar {
			border-radius: 0;
		}

.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar, .ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-bottom-left-radius: 0;
				border-bottom-right-radius: 0;
		}

.ck.ck-editor__top .ck-sticky-panel .ck-toolbar {

			border-bottom-width: 0;
		}

.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar {
			border-bottom-width: 1px;

			border-radius: 0
		}

.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar, .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-radius: 0
		}

/* Note: Use ck-editor__main to make sure these styles don't apply to other editor types */

.ck.ck-editor__main > .ck-editor__editable {
	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */
	background: var(--ck-color-base-background);

	border-radius: 0
}

.ck-rounded-corners .ck.ck-editor__main > .ck-editor__editable, .ck.ck-editor__main > .ck-editor__editable.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
		border-top-left-radius: 0;
		border-top-right-radius: 0
}

.ck.ck-editor__main > .ck-editor__editable:not(.ck-focused) {
		border-color: var(--ck-color-base-border);
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-heading\theme\heading.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-heading_heading1 {
	font-size: 20px;
}

.ck.ck-heading_heading2 {
	font-size: 17px;
}

.ck.ck-heading_heading3 {
	font-size: 14px;
}

.ck[class*="ck-heading_heading"] {
	font-weight: bold;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-heading\heading.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* Resize dropdown's button label. */

.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label {
		width: 8em;
	}

.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item {
		min-width: 18em;
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-link\theme\link.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-link\link.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* Class added to span element surrounding currently selected link. */

.ck .ck-link_selected {
	background: var(--ck-color-link-selected-background);
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\panel\balloonpanel.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	/* Make sure the balloon arrow does not float over its children. */
	--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);
}

.ck.ck-balloon-panel {
	display: none;
	position: absolute;

	z-index: var(--ck-z-modal)
}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before,
		.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after {
			content: "";
			position: absolute;
		}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before {
			z-index: var(--ck-balloon-panel-arrow-z-index);
		}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after {
			z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);
		}

.ck.ck-balloon-panel[class*="arrow_n"]::before {
			z-index: var(--ck-balloon-panel-arrow-z-index);
		}

.ck.ck-balloon-panel[class*="arrow_n"]::after {
			z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::before {
			z-index: var(--ck-balloon-panel-arrow-z-index);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::after {
			z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);
		}

.ck.ck-balloon-panel.ck-balloon-panel_visible {
		display: block;
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\panel\balloonpanel.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

:root {
	--ck-balloon-arrow-offset: 2px;
	--ck-balloon-arrow-height: 10px;
	--ck-balloon-arrow-half-width: 8px;
}

.ck.ck-balloon-panel {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-balloon-panel, .ck.ck-balloon-panel.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-balloon-panel {
	box-shadow: var(--ck-drop-shadow), 0 0;

	min-height: 15px;

	background: var(--ck-color-panel-background);
	border: 1px solid var(--ck-color-panel-border)
}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before,
		.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after {
			width: 0;
			height: 0;
			border-style: solid;
		}

.ck.ck-balloon-panel[class*="arrow_n"]::before,
		.ck.ck-balloon-panel[class*="arrow_n"]::after {
			border-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);
		}

.ck.ck-balloon-panel[class*="arrow_n"]::before {
			border-color: transparent transparent var(--ck-color-panel-border) transparent;
		}

.ck.ck-balloon-panel[class*="arrow_n"]::after {
			border-color: transparent transparent var(--ck-color-panel-background) transparent;
			margin-top: var(--ck-balloon-arrow-offset);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::before,
		.ck.ck-balloon-panel[class*="arrow_s"]::after {
			border-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::before {
			border-color: var(--ck-color-panel-border) transparent  transparent;
		}

.ck.ck-balloon-panel[class*="arrow_s"]::after {
			border-color: var(--ck-color-panel-background) transparent transparent transparent;
			margin-bottom: var(--ck-balloon-arrow-offset);
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_n::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_n::after {
			left: 50%;
			margin-left: calc(-1 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw::after {
			left: calc(2 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne::after {
			right: calc(2 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_s::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_s::after {
			left: 50%;
			margin-left: calc(-1 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw::after {
			left: calc(2 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_se::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_se::after {
			right: calc(2 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\panel\balloonrotator.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-balloon-rotator__navigation {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Buttons inside a toolbar should be centered when rotator bar is wider.
 * See: https://github.com/ckeditor/ckeditor5-ui/issues/495
 */

.ck .ck-balloon-rotator__content .ck-toolbar {
	justify-content: center;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\panel\balloonrotator.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-balloon-rotator__navigation {
	background: var(--ck-color-toolbar-background);
	border-bottom: 1px solid var(--ck-color-toolbar-border);
	padding: 0 var(--ck-spacing-small)

	/* Let's keep similar appearance to `ck-toolbar`. */
}

.ck .ck-balloon-rotator__navigation > * {
		margin-right: var(--ck-spacing-small);
		margin-top: var(--ck-spacing-small);
		margin-bottom: var(--ck-spacing-small);
	}

.ck .ck-balloon-rotator__navigation {

	/* Gives counter more breath than buttons. */
}

.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter {
		margin-right: var(--ck-spacing-standard);

		/* We need to use smaller margin because of previous button's right margin. */
		margin-left: var(--ck-spacing-small);
	}

.ck .ck-balloon-rotator__content {

	/* Disable default annotation shadow inside rotator with fake panels. */
}

.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper {
		box-shadow: none;
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\panel\fakepanel.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-fake-panel {
	position: absolute;

	/* Fake panels should be placed under main balloon content. */
	z-index: calc(var(--ck-z-modal) - 1);
}

.ck .ck-fake-panel div {
	position: absolute;
}

.ck .ck-fake-panel div:nth-child( 1 ) {
	z-index: 2;
}

.ck .ck-fake-panel div:nth-child( 2 ) {
	z-index: 1;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\panel\fakepanel.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

:root {
	--ck-balloon-fake-panel-offset-horizontal: 6px;
	--ck-balloon-fake-panel-offset-vertical: 6px;
}

/* Let's use `.ck-balloon-panel` appearance. See: balloonpanel.css. */

.ck .ck-fake-panel div {
	box-shadow: var(--ck-drop-shadow), 0 0;

	min-height: 15px;

	background: var(--ck-color-panel-background);
	border: 1px solid var(--ck-color-panel-border);
	border-radius: var(--ck-border-radius);

	width: 100%;
	height: 100%;
}

.ck .ck-fake-panel div:nth-child( 1 ) {
	margin-left: var(--ck-balloon-fake-panel-offset-horizontal);
	margin-top: var(--ck-balloon-fake-panel-offset-vertical);
}

.ck .ck-fake-panel div:nth-child( 2 ) {
	margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);
	margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);
}

.ck .ck-fake-panel div:nth-child( 3 ) {
	margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);
	margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);
}

/* If balloon is positioned above element, we need to move fake panel to the top. */

.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,
.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,
.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {
	--ck-balloon-fake-panel-offset-vertical: -6px;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\labeledinput\labeledinput.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\labeledinput\labeledinput.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-labeled-input .ck-labeled-input__status {
	font-size: var(--ck-font-size-small);
	margin-top: var(--ck-spacing-small);

	/* Let the info wrap to the next line to avoid stretching the layout horizontally.
	The status could be very long. */
	white-space: normal;
}

.ck.ck-labeled-input .ck-labeled-input__status_error {
	color: var(--ck-color-base-error);
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\inputtext\inputtext.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\inputtext\inputtext.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

:root {
	--ck-input-text-width: 18em;
}

.ck.ck-input-text {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-input-text, .ck.ck-input-text.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-input-text {
	box-shadow: var(--ck-inner-shadow), 0 0;

	background: var(--ck-color-input-background);
	border: 1px solid var(--ck-color-input-border);
	padding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);
	min-width: var(--ck-input-text-width);

	/* This is important to stay of the same height as surrounding buttons */
	min-height: var(--ck-ui-component-min-height);

	/* Apply some smooth transition to the box-shadow and border. */
	transition-property: box-shadow, border;
	transition: .2s ease-in-out
}

.ck.ck-input-text:focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-focus-outer-shadow), var(--ck-inner-shadow);
	}

.ck.ck-input-text[readonly] {
		border: 1px solid var(--ck-color-input-disabled-border);
		background: var(--ck-color-input-disabled-background);
		color: var(--ck-color-input-disabled-text)
	}

.ck.ck-input-text[readonly]:focus {
			/* The read-only input should have a slightly less visible shadow when focused. */
			box-shadow: var(--ck-focus-disabled-outer-shadow), var(--ck-inner-shadow);
		}

.ck.ck-input-text.ck-error {
		border-color: var(--ck-color-input-error-border);
		animation: ck-text-input-shake .3s ease both
	}

.ck.ck-input-text.ck-error:focus {
			box-shadow: var(--ck-focus-error-outer-shadow), var(--ck-inner-shadow);
		}

@keyframes ck-text-input-shake {
	20% {
		transform: translateX(-2px);
	}

	40% {
		transform: translateX(2px);
	}

	60% {
		transform: translateX(-1px);
	}

	80% {
		transform: translateX(1px);
	}
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-link\theme\linkform.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-link-form {
	display: flex
}

.ck.ck-link-form .ck-label {
		display: none;
	}

@media screen and (max-width: 600px) {

.ck.ck-link-form {
		flex-wrap: wrap
}

		.ck.ck-link-form .ck-labeled-input {
			flex-basis: 100%;
		}

		.ck.ck-link-form .ck-button {
			flex-basis: 50%;
		}
	}

/*
 * Style link form differently when manual decorators are available.
 * See: https://github.com/ckeditor/ckeditor5-link/issues/186.
 */

.ck.ck-link-form_layout-vertical {
	display: block;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-link\linkform.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-link-form {
	padding: var(--ck-spacing-standard)
}

.ck.ck-link-form:focus {
		/* https://github.com/ckeditor/ckeditor5-link/issues/90 */
		outline: none;
	}

[dir="ltr"] .ck.ck-link-form > :not(:first-child) {
			margin-left: var(--ck-spacing-standard);
		}

[dir="rtl"] .ck.ck-link-form > :not(:last-child) {
			margin-left: var(--ck-spacing-standard);
		}

@media screen and (max-width: 600px) {

.ck.ck-link-form {
		padding: 0;
		width: calc(.8 * var(--ck-input-text-width))
}

		.ck.ck-link-form .ck-labeled-input {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0
		}

			.ck.ck-link-form .ck-labeled-input .ck-input-text {
				min-width: 0;
				width: 100%;
			}

		.ck.ck-link-form .ck-button {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-standard);

			border-radius: 0;
			border: 0;
			border-top: 1px solid var(--ck-color-base-border)
		}

		[dir="ltr"] .ck.ck-link-form .ck-button {
				margin-left: 0
		}

				[dir="ltr"] .ck.ck-link-form .ck-button:first-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}

		[dir="rtl"] .ck.ck-link-form .ck-button {
				margin-left: 0
		}

				[dir="rtl"] .ck.ck-link-form .ck-button:last-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}
	}

/*
 * Style link form differently when manual decorators are available.
 * See: https://github.com/ckeditor/ckeditor5-link/issues/186.
 */

.ck.ck-link-form_layout-vertical {
	padding: 0;
	min-width: var(--ck-input-text-width)
}

.ck.ck-link-form_layout-vertical .ck-labeled-input {
		margin: var(--ck-spacing-standard) var(--ck-spacing-standard) var(--ck-spacing-small)
	}

.ck.ck-link-form_layout-vertical .ck-labeled-input .ck-input-text {
			min-width: 0;
			width: 100%;
		}

.ck.ck-link-form_layout-vertical .ck-button {
		padding: var(--ck-spacing-standard);
		margin: 0;
		border-radius: 0;
		border: 0;
		border-top: 1px solid var(--ck-color-base-border);
		width: 50%
	}

[dir="ltr"] .ck.ck-link-form_layout-vertical .ck-button {
			margin-left: 0
	}

[dir="ltr"] .ck.ck-link-form_layout-vertical .ck-button:first-of-type {
				border-right: 1px solid var(--ck-color-base-border);
			}

[dir="rtl"] .ck.ck-link-form_layout-vertical .ck-button {
			margin-left: 0
	}

[dir="rtl"] .ck.ck-link-form_layout-vertical .ck-button:last-of-type {
				border-right: 1px solid var(--ck-color-base-border);
			}

.ck.ck-link-form_layout-vertical {

	/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */
}

.ck.ck-link-form_layout-vertical .ck.ck-list {
		margin-left: 0
	}

.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton {
			border: 0;
			width: 100%
		}

.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover {
				background: none;
			}


/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-link\theme\linkactions.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-link-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap
}

.ck.ck-link-actions .ck-link-actions__preview {
		display: inline-block
	}

.ck.ck-link-actions .ck-link-actions__preview .ck-button__label {
			overflow: hidden;
		}

@media screen and (max-width: 600px) {

.ck.ck-link-actions {
		flex-wrap: wrap
}

		.ck.ck-link-actions .ck-link-actions__preview {
			flex-basis: 100%;
		}

		.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
			flex-basis: 50%;
		}
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-link\linkactions.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Makes element unselectable.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-link-actions {
	padding: var(--ck-spacing-standard)
}

.ck.ck-link-actions .ck-button.ck-link-actions__preview {
		padding-left: 0;
		padding-right: 0
	}

.ck.ck-link-actions .ck-button.ck-link-actions__preview,
		.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover,
		.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,
		.ck.ck-link-actions .ck-button.ck-link-actions__preview:active {
			background: none;
		}

.ck.ck-link-actions .ck-button.ck-link-actions__preview:active {
			box-shadow: none;
		}

.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label {
				text-decoration: underline;
			}

.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label {
			padding: 0 var(--ck-spacing-medium);
			color: var(--ck-color-link-default);
			text-overflow: ellipsis;
			cursor: pointer;

			/* Match the box model of the link editor form's input so the balloon
			does not change width when moving between actions and the form. */
			max-width: var(--ck-input-text-width);
			min-width: 3em;
			text-align: center
		}

.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover {
				text-decoration: underline;
			}

.ck.ck-link-actions:focus {
		/* https://github.com/ckeditor/ckeditor5-link/issues/90 */
		outline: none;
	}

[dir="ltr"] .ck.ck-link-actions .ck-button:not(:first-child) {
			margin-left: var(--ck-spacing-standard);
		}

[dir="rtl"] .ck.ck-link-actions .ck-button:not(:last-child) {
			margin-left: var(--ck-spacing-standard);
		}

@media screen and (max-width: 600px) {

.ck.ck-link-actions {
		padding: 0;
		width: calc(.8 * var(--ck-input-text-width))
}

		.ck.ck-link-actions .ck-button.ck-link-actions__preview {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0
		}

			.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label {
				min-width: 0;
				max-width: 100%;
			}

		.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-standard);

			border-radius: 0;
			border: 0;
			border-top: 1px solid var(--ck-color-base-border)
		}

		[dir="ltr"] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
				margin-left: 0
		}

				[dir="ltr"] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):first-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}

		[dir="rtl"] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
				margin-left: 0
		}

				[dir="rtl"] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):last-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-image\theme\textalternativeform.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-text-alternative-form {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap
}

.ck.ck-text-alternative-form .ck-labeled-input {
		display: inline-block;
	}

.ck.ck-text-alternative-form .ck-label {
		display: none;
	}

@media screen and (max-width: 600px) {

.ck.ck-text-alternative-form {
		flex-wrap: wrap
}

		.ck.ck-text-alternative-form .ck-labeled-input {
			flex-basis: 100%;
		}

		.ck.ck-text-alternative-form .ck-button {
			flex-basis: 50%;
		}
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-image\textalternativeform.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-text-alternative-form {
	padding: var(--ck-spacing-standard)
}

.ck.ck-text-alternative-form:focus {
		/* https://github.com/ckeditor/ckeditor5-link/issues/90 */
		outline: none;
	}

[dir="ltr"] .ck.ck-text-alternative-form > :not(:first-child) {
			margin-left: var(--ck-spacing-standard);
		}

[dir="rtl"] .ck.ck-text-alternative-form > :not(:last-child) {
			margin-left: var(--ck-spacing-standard);
		}

@media screen and (max-width: 600px) {

.ck.ck-text-alternative-form {
		padding: 0;
		width: calc(.8 * var(--ck-input-text-width))
}

		.ck.ck-text-alternative-form .ck-labeled-input {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0
		}

			.ck.ck-text-alternative-form .ck-labeled-input .ck-input-text {
				min-width: 0;
				width: 100%;
			}

		.ck.ck-text-alternative-form .ck-button {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-standard);

			border-radius: 0;
			border: 0;
			border-top: 1px solid var(--ck-color-base-border)
		}

		[dir="ltr"] .ck.ck-text-alternative-form .ck-button {
				margin-left: 0
		}

				[dir="ltr"] .ck.ck-text-alternative-form .ck-button:first-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}

		[dir="rtl"] .ck.ck-text-alternative-form .ck-button {
				margin-left: 0
		}

				[dir="rtl"] .ck.ck-text-alternative-form .ck-button:last-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-image\theme\image.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .image {
	display: table;
	clear: both;
	text-align: center;

	/* Make sure there is some space between the content and the image. Center image by default. */
	margin: 1em auto
}

.ck-content .image > img {
		/* Prevent unnecessary margins caused by line-height (see #44). */
		display: block;

		/* Center the image if its width is smaller than the content's width. */
		margin: 0 auto;

		/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */
		max-width: 100%;

		/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */
		min-width: 50px;
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-image\theme\imagecaption.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .image > figcaption {
	display: table-caption;
	caption-side: bottom;
	word-break: break-word;
	color: hsl(0, 0%, 20%);
	background-color: hsl(0, 0%, 97%);
	padding: .6em;
	font-size: .75em;
	outline-offset: -1px;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-image\theme\imagestyle.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-image-style-spacing: 1.5em;
}

.ck-content .image-style-side:not(.image_resized), .ck-content .image-style-align-left:not(.image_resized), .ck-content .image-style-align-center:not(.image_resized), .ck-content .image-style-align-right:not(.image_resized) {
			max-width: 50%;
		}

.ck-content .image-style-side {
		float: right;
		margin-left: var(--ck-image-style-spacing);
	}

.ck-content .image-style-align-left {
		float: left;
		margin-right: var(--ck-image-style-spacing);
	}

.ck-content .image-style-align-center {
		margin-left: auto;
		margin-right: auto;
	}

.ck-content .image-style-align-right {
		float: right;
		margin-left: var(--ck-image-style-spacing);
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-image\theme\imageresize.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .image.image_resized {
	max-width: 100%;
	/*
	The figure element for resized images must not use `display:table` as browsers doesn't support `max-width` for it well.
	See https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.
	Fortunately, since we control width, there's no risk that the image will look bad.
	*/
	display: block;
	box-sizing: border-box
}

.ck-content .image.image_resized img {
		/* For resized images it's the figure that determines the image's width. */
		width: 100%;
	}

.ck-content .image.image_resized > figcaption {
		/* Figure uses display block, so figcaption also has to. */
		display: block;
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-image\theme\imageuploadprogress.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-editor__editable .image {
	position: relative;
}

/* Upload progress bar. */

.ck.ck-editor__editable .image .ck-progress-bar {
	position: absolute;
	top: 0;
	left: 0;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-image\imageuploadprogress.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-editor__editable .image {
	/* Showing animation. */
}

.ck.ck-editor__editable .image.ck-appear {
		animation: fadeIn 700ms;
	}

/* Upload progress bar. */

.ck.ck-editor__editable .image .ck-progress-bar {
	height: 2px;
	width: 0;
	background: var(--ck-color-upload-bar-background);
	transition: width 100ms;
}

@keyframes fadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-image\theme\imageuploadicon.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-image-upload-complete-icon {
	display: block;
	position: absolute;
	top: 10px;
	right: 10px;
	border-radius: 50%
}

.ck-image-upload-complete-icon::after {
		content: "";
		position: absolute;
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-image\imageuploadicon.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-image-upload-icon: hsl(0, 0%, 100%);
	--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);

	--ck-image-upload-icon-size: 20px;
	--ck-image-upload-icon-width: 2px;
}

.ck-image-upload-complete-icon {
	width: var(--ck-image-upload-icon-size);
	height: var(--ck-image-upload-icon-size);
	opacity: 0;
	background: var(--ck-color-image-upload-icon-background);
	animation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;
	animation-fill-mode: forwards, forwards;
	animation-duration: 500ms, 500ms;

	/* To make animation scalable. */
	font-size: var(--ck-image-upload-icon-size);

	/* Hide completed upload icon after 3 seconds. */
	animation-delay: 0ms, 3000ms

	/* This is check icon element made from border-width mixed with animations. */
}

.ck-image-upload-complete-icon::after {
		/* Because of border transformation we need to "hard code" left position. */
		left: 25%;

		top: 50%;
		opacity: 0;
		height: 0;
		width: 0;

		transform: scaleX(-1) rotate(135deg);
		transform-origin: left top;
		border-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);
		border-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);

		animation-name: ck-upload-complete-icon-check;
		animation-duration: 500ms;
		animation-delay: 500ms;
		animation-fill-mode: forwards;

		/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */
		box-sizing: border-box;
	}

@keyframes ck-upload-complete-icon-show {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes ck-upload-complete-icon-hide {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

@keyframes ck-upload-complete-icon-check {
	0% {
		opacity: 1;
		width: 0;
		height: 0;
	}
	33% {
		width: 0.3em;
		height: 0;
	}
	100% {
		opacity: 1;
		width: 0.3em;
		height: 0.45em;
	}
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-image\theme\imageuploadloader.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-upload-placeholder-loader {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0
}

.ck .ck-upload-placeholder-loader::before {
		content: '';
		position: relative;
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-image\imageuploadloader.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);
	--ck-upload-placeholder-loader-size: 32px;
}

.ck .ck-image-upload-placeholder {
	/* We need to control the full width of the SVG gray background. */
	width: 100%;
	margin: 0;
}

.ck .ck-upload-placeholder-loader {
	width: 100%;
	height: 100%
}

.ck .ck-upload-placeholder-loader::before {
		width: var(--ck-upload-placeholder-loader-size);
		height: var(--ck-upload-placeholder-loader-size);
		border-radius: 50%;
		border-top: 3px solid var(--ck-color-upload-placeholder-loader);
		border-right: 2px solid transparent;
		animation: ck-upload-placeholder-loader 1s linear infinite;
	}

@keyframes ck-upload-placeholder-loader {
	to {
		transform: rotate( 360deg );
	}
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-media-embed\theme\mediaembedediting.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

.ck-media__wrapper .ck-media__placeholder {
		display: flex;
		flex-direction: column;
		align-items: center
	}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip {
		display: block

		/*
		 * Don't display tooltips in devices which don't support :hover.
		 * In fact, it's all about iOS, which forces user to click UI elements twice to execute
		 * the primary action, when tooltips are enabled.
		 *
		 * Q: OK, but why not the following query?
		 *
		 *   @media (hover) {
		 *       display: block;
		 *   }
		 *
		 * A: Because FF does not support it and it would completely disable tooltips
		 * in that browser.
		 *
		 * More in https://github.com/ckeditor/ckeditor5/issues/920.
		 */
	}

@media (hover:none) {

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip {
			display: none
	}
		}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url {

			/* Otherwise the URL will overflow when the content is very narrow. */
			max-width: 100%;

			position: relative
		}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url:hover .ck-tooltip {
		visibility: visible;
		opacity: 1;
	}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text {
				overflow: hidden;
				display: block;
			}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder__icon * {
			display: none;
		}

/* Disable all mouse interaction as long as the editor is not read–only.
   https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */

.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) {
	pointer-events: none;
}

/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident).
   https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */

.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder {
	pointer-events: none;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-media-embed\mediaembedediting.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-media-embed-placeholder-icon-size: 3em;

	--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);
	--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);
}

.ck-media__wrapper {
	margin: 0 auto
}

.ck-media__wrapper .ck-media__placeholder {
		padding: calc( 3 * var(--ck-spacing-standard) );
		background: var(--ck-color-base-foreground)
	}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon {
			min-width: var(--ck-media-embed-placeholder-icon-size);
			height: var(--ck-media-embed-placeholder-icon-size);
			margin-bottom: var(--ck-spacing-large);
			background-position: center;
			background-size: cover
		}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon {
				width: 100%;
				height: 100%;
			}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text {
				color: var(--ck-color-media-embed-placeholder-url-text);
				white-space: nowrap;
				text-align: center;
				font-style: italic;
				text-overflow: ellipsis
			}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text:hover {
					color: var(--ck-color-media-embed-placeholder-url-text-hover);
					cursor: pointer;
					text-decoration: underline;
				}

.ck-media__wrapper[data-oembed-url*="open.spotify.com"] {
		max-width: 300px;
		max-height: 380px;
	}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder {
			/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */
			background: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) )
		}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon {
				background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);
			}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text {
				color: hsl(201, 100%, 86%)
			}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover {
					color: hsl(0, 0%, 100%);
				}

.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon {
			background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);
		}

.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder {
			background: hsl(220, 46%, 48%)
		}

.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon {
				background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);
			}

.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text {
				color: hsl(220, 100%, 90%)
			}

.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover {
					color: hsl(0, 0%, 100%);
				}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder {
			background: linear-gradient(-135deg,#1400c8,#b900b4,#f50000)
		}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon {
				background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);
			}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text {
				color: hsl(302, 100%, 94%)
			}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover {
					color: hsl(0, 0%, 100%);
				}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-media-embed\theme\mediaform.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-media-form {
	display: flex;
	align-items: flex-start;
	flex-direction: row;
	flex-wrap: nowrap
}

.ck.ck-media-form .ck-labeled-input {
		display: inline-block;
	}

.ck.ck-media-form .ck-label {
		display: none;
	}

@media screen and (max-width: 600px) {

.ck.ck-media-form {
		flex-wrap: wrap
}

		.ck.ck-media-form .ck-labeled-input {
			flex-basis: 100%;
		}

		.ck.ck-media-form .ck-button {
			flex-basis: 50%;
		}
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-media-embed\mediaform.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-media-form {
	padding: var(--ck-spacing-standard)
}

.ck.ck-media-form:focus {
		outline: none;
	}

[dir="ltr"] .ck.ck-media-form > :not(:first-child) {
			margin-left: var(--ck-spacing-standard);
		}

[dir="rtl"] .ck.ck-media-form > :not(:last-child) {
			margin-left: var(--ck-spacing-standard);
		}

@media screen and (max-width: 600px) {

.ck.ck-media-form {
		padding: 0;
		width: calc(.8 * var(--ck-input-text-width))
}

		.ck.ck-media-form .ck-labeled-input {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0
		}

			.ck.ck-media-form .ck-labeled-input .ck-input-text {
				min-width: 0;
				width: 100%;
			}

		.ck.ck-media-form .ck-labeled-input {

			/* Let the long error messages wrap in the narrow form. */
		}
			.ck.ck-media-form .ck-labeled-input .ck-labeled-input__error {
				white-space: normal;
			}

		.ck.ck-media-form .ck-button {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-standard);

			border-radius: 0;
			border: 0;
			border-top: 1px solid var(--ck-color-base-border)
		}

		[dir="ltr"] .ck.ck-media-form .ck-button {
				margin-left: 0
		}

				[dir="ltr"] .ck.ck-media-form .ck-button:first-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}

		[dir="rtl"] .ck.ck-media-form .ck-button {
				margin-left: 0
		}

				[dir="rtl"] .ck.ck-media-form .ck-button:last-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-media-embed\theme\mediaembed.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .media {
	/* Don't allow floated content overlap the media.
	https://github.com/ckeditor/ckeditor5-media-embed/issues/53 */
	clear: both;

	/* Make sure there is some space between the content and the media. */
	margin: 1em 0;

	/* Make sure media is not overriden with Bootstrap default `flex` value.
	See: https://github.com/ckeditor/ckeditor5/issues/1373. */
	display: block;

	/* Give the media some minimal width in the content to prevent them
	from being "squashed" in tight spaces, e.g. in table cells (#44) */
	min-width: 15em;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-table\theme\tableediting.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-table\tableediting.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-table-focused-cell-background: hsl(208, 90%, 98%);
}

.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused, .ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused {
			/* A very slight background to highlight the focused cell */
			background: var(--ck-color-table-focused-cell-background);

			/* Fixes the problem where surrounding cells cover the focused cell's border.
			It does not fix the problem in all places but the UX is improved.
			See https://github.com/ckeditor/ckeditor5-table/issues/29. */
			border-style: none;
			outline: 1px solid var(--ck-color-focus-border);
			outline-offset: -1px; /* progressive enhancement - no IE support */
		}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-table\theme\inserttable.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-insert-table-dropdown-padding: 10px;
	--ck-insert-table-dropdown-box-height: 11px;
	--ck-insert-table-dropdown-box-width: 12px;
	--ck-insert-table-dropdown-box-margin: 1px;
	--ck-insert-table-dropdown-box-border-color: hsl(0, 0%, 75%);
	--ck-insert-table-dropdown-box-border-active-color: hsl(208, 73%, 61%);
	--ck-insert-table-dropdown-box-active-background: hsl(208, 100%, 89%);
}

.ck .ck-insert-table-dropdown__grid {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */
	width: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);
	padding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;
}

.ck .ck-insert-table-dropdown__label {
	text-align: center;
}

.ck .ck-insert-table-dropdown-grid-box {
	width: var(--ck-insert-table-dropdown-box-width);
	height: var(--ck-insert-table-dropdown-box-height);
	margin: var(--ck-insert-table-dropdown-box-margin);
	border: 1px solid var(--ck-insert-table-dropdown-box-border-color);
	border-radius: 1px
}

.ck .ck-insert-table-dropdown-grid-box.ck-on {
		border-color: var(--ck-insert-table-dropdown-box-border-active-color);
		background: var(--ck-insert-table-dropdown-box-active-background);
	}


/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-table\theme\table.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .table {
	/* Give the table widget some air and center it horizontally */
	margin: 1em auto;
	display: table
}

.ck-content .table table {
		/* The table cells should have slight borders */
		border-collapse: collapse;
		border-spacing: 0;

		/* The outer border of the table should be slightly darker than the inner lines.
		Also see https://github.com/ckeditor/ckeditor5-table/issues/50. */
		border: 1px double hsl(0, 0%, 70%)
	}

.ck-content .table table td,
		.ck-content .table table th {
			min-width: 2em;
			padding: .4em;
			border-color: hsl(0, 0%, 85%);
		}

.ck-content .table table th {
			font-weight: bold;
			background: hsl(0, 0%, 98%);
		}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-block-quote\theme\blockquote.css */

/**
 * @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content blockquote {
	/* See #12 */
	overflow: hidden;

	/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */
	padding-right: 1.5em;
	padding-left: 1.5em;

	margin-left: 0;
	margin-right: 0;
	font-style: italic;
	border-left: solid 5px hsl(0, 0%, 80%);
}

.ck-content[dir="rtl"] blockquote {
	border-left: 0;
	border-right: solid 5px hsl(0, 0%, 80%);
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-ui\theme\components\colorgrid\colorgrid.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-color-grid {
	display: grid;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\colorgrid\colorgrid.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

:root {
	--ck-color-grid-tile-size: 20px;
}

.ck.ck-color-grid {
	grid-gap: calc( var(--ck-spacing-standard) / 2 );
	padding: var(--ck-spacing-standard);
}

.ck.ck-color-grid__tile {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-color-grid__tile, .ck.ck-color-grid__tile.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-color-grid__tile {

	width: var(--ck-color-grid-tile-size);
	height: var(--ck-color-grid-tile-size);
	min-width: var(--ck-color-grid-tile-size);
	min-height: var(--ck-color-grid-tile-size);
	padding: 0;
	transition: 200ms ease box-shadow;
	border: 0
}

.ck.ck-color-grid__tile.ck-disabled {
		cursor: unset;
		transition: unset;
	}

.ck.ck-color-grid__tile.ck-color-table__color-tile_bordered {
		box-shadow: 0 0 0 1px var(--ck-color-base-border);
	}

.ck.ck-color-grid__tile .ck.ck-icon {
		display: none;
	}

.ck.ck-color-grid__tile.ck-on {
		box-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text)
	}

.ck.ck-color-grid__tile.ck-on .ck.ck-icon {
			display: block;
		}

.ck.ck-color-grid__tile:hover:not( .ck-disabled ) {
		box-shadow: 0 0 0 2px var(--ck-color-focus-border);
	}

.ck.ck-color-grid__label {
	padding: 0 var(--ck-spacing-standard);
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-font\theme\fontcolor.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-button.ck-color-table__remove-color {
	display: flex;
	align-items: center;
	width: 100%;
}

label.ck.ck-color-grid__label {
	font-weight: unset;
}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-font\fontcolor.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-button.ck-color-table__remove-color {
	border-bottom: 1px solid var(--ck-color-base-border);
	padding: calc(var(--ck-spacing-standard) / 2 ) var(--ck-spacing-standard);
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0
}

[dir="ltr"] .ck .ck-button.ck-color-table__remove-color .ck.ck-icon {
			margin-right: var(--ck-spacing-standard)
	}

[dir="rtl"] .ck .ck-button.ck-color-table__remove-color .ck.ck-icon {
			margin-left: var(--ck-spacing-standard)
	}

/* F:\laragon\www\sirius-translations\node_modules\@ckeditor\ckeditor5-font\theme\fontsize.css */

/*
 * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.text-tiny {
	font-size: .7em;
}

.text-small {
	font-size: .85em;
}

.text-big {
	font-size: 1.4em;
}

.text-huge {
	font-size: 1.8em;
}

/*! Pickr 1.4.2 MIT | https://github.com/Simonwep/pickr */.pickr{position:relative;overflow:visible;transform:translateY(0)}.pickr *{box-sizing:border-box;outline:none;border:none;-webkit-appearance:none}.pickr .pcr-button{position:relative;height:2em;width:2em;padding:.5em;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;border-radius:.15em;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" stroke="%2342445A" stroke-width="5px" stroke-linecap="round"><path d="M45,45L5,5"></path><path d="M45,5L5,45"></path></svg>') no-repeat 50%;background-size:0;transition:all .3s}.pickr .pcr-button:before{background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:.5em;z-index:-1;z-index:auto}.pickr .pcr-button:after,.pickr .pcr-button:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;border-radius:.15em}.pickr .pcr-button:after{transition:background .3s;background:currentColor}.pickr .pcr-button.clear{background-size:70%}.pickr .pcr-button.clear:before{opacity:0}.pickr .pcr-button.clear:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px currentColor}.pickr .pcr-button.disabled{cursor:not-allowed}.pcr-app *,.pickr *{box-sizing:border-box;outline:none;border:none;-webkit-appearance:none}.pcr-app button.pcr-active,.pcr-app button:focus,.pcr-app input.pcr-active,.pcr-app input:focus,.pickr button.pcr-active,.pickr button:focus,.pickr input.pcr-active,.pickr input:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px currentColor}.pcr-app .pcr-palette,.pcr-app .pcr-slider,.pickr .pcr-palette,.pickr .pcr-slider{transition:box-shadow .3s}.pcr-app .pcr-palette:focus,.pcr-app .pcr-slider:focus,.pickr .pcr-palette:focus,.pickr .pcr-slider:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(0,0,0,.25)}.pcr-app{position:fixed;display:flex;flex-direction:column;z-index:10000;border-radius:.1em;background:#fff;opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;box-shadow:0 .15em 1.5em 0 rgba(0,0,0,.1),0 0 1em 0 rgba(0,0,0,.03);left:0;top:0}.pcr-app.visible{transition:opacity .3s;visibility:visible;opacity:1}.pcr-app .pcr-swatches{display:flex;flex-wrap:wrap;margin-top:.75em}.pcr-app .pcr-swatches.pcr-last{margin:0}@supports (display:grid){.pcr-app .pcr-swatches{display:grid;align-items:center;grid-template-columns:repeat(auto-fit,1.75em)}}.pcr-app .pcr-swatches>button{font-size:1em;position:relative;width:calc(1.75em - 5px);height:calc(1.75em - 5px);border-radius:.15em;cursor:pointer;margin:2.5px;flex-shrink:0;justify-self:center;transition:all .15s;overflow:hidden;background:transparent;z-index:1}.pcr-app .pcr-swatches>button:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:6px;border-radius:.15em;z-index:-1}.pcr-app .pcr-swatches>button:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:currentColor;border:1px solid rgba(0,0,0,.05);border-radius:.15em;box-sizing:border-box}.pcr-app .pcr-swatches>button:hover{filter:brightness(1.05)}.pcr-app .pcr-interaction{display:flex;flex-wrap:wrap;align-items:center;margin:0 -.2em}.pcr-app .pcr-interaction>*{margin:0 .2em}.pcr-app .pcr-interaction input{letter-spacing:.07em;font-size:.75em;text-align:center;cursor:pointer;color:#75797e;background:#f1f3f4;border-radius:.15em;transition:all .15s;padding:.45em .5em;margin-top:.75em}.pcr-app .pcr-interaction input:hover{filter:brightness(.975)}.pcr-app .pcr-interaction input:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(66,133,244,.75)}.pcr-app .pcr-interaction .pcr-result{color:#75797e;text-align:left;flex:1 1 8em;min-width:8em;transition:all .2s;border-radius:.15em;background:#f1f3f4;cursor:text}.pcr-app .pcr-interaction .pcr-result::selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-type.active{color:#fff;background:#4285f4}.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear,.pcr-app .pcr-interaction .pcr-save{width:auto;color:#fff}.pcr-app .pcr-interaction .pcr-cancel:hover,.pcr-app .pcr-interaction .pcr-clear:hover,.pcr-app .pcr-interaction .pcr-save:hover{filter:brightness(.925)}.pcr-app .pcr-interaction .pcr-save{background:#4285f4}.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear{background:#f44250}.pcr-app .pcr-interaction .pcr-cancel:focus,.pcr-app .pcr-interaction .pcr-clear:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(244,66,80,.75)}.pcr-app .pcr-selection .pcr-picker{position:absolute;height:18px;width:18px;border:2px solid #fff;border-radius:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pcr-app .pcr-selection .pcr-color-chooser,.pcr-app .pcr-selection .pcr-color-opacity,.pcr-app .pcr-selection .pcr-color-palette{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;cursor:grab;cursor:-webkit-grab}.pcr-app .pcr-selection .pcr-color-chooser:active,.pcr-app .pcr-selection .pcr-color-opacity:active,.pcr-app .pcr-selection .pcr-color-palette:active{cursor:grabbing;cursor:-webkit-grabbing}.pcr-app[data-theme=classic]{width:28.5em;max-width:95vw;padding:.8em}.pcr-app[data-theme=classic] .pcr-selection{display:flex;justify-content:space-between;flex-grow:1}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview{position:relative;z-index:1;width:2em;display:flex;flex-direction:column;justify-content:space-between;margin-right:.75em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview .pcr-last-color{cursor:pointer;transition:background-color .3s,box-shadow .3s;border-radius:.15em .15em 0 0;z-index:2}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview .pcr-current-color{border-radius:0 0 .15em .15em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview .pcr-current-color,.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview .pcr-last-color{background:currentColor;width:100%;height:50%}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-palette{width:100%;height:8em;z-index:1}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-palette .pcr-palette{flex-grow:1;border-radius:.15em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-palette .pcr-palette:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-chooser,.pcr-app[data-theme=classic] .pcr-selection .pcr-color-opacity{margin-left:.75em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-chooser .pcr-picker,.pcr-app[data-theme=classic] .pcr-selection .pcr-color-opacity .pcr-picker{left:50%;transform:translateX(-50%)}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-chooser .pcr-slider,.pcr-app[data-theme=classic] .pcr-selection .pcr-color-opacity .pcr-slider{width:8px;flex-grow:1;border-radius:50em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-chooser .pcr-slider{background:linear-gradient(180deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-opacity .pcr-slider{background:linear-gradient(180deg,transparent,#000),url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:100%,50%}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbGVzcy9kYXRlcGlja2VyLmxlc3MiLCJ3ZWJwYWNrOi8vL2J1aWxkL2J1aWxkLmxlc3MiLCJ3ZWJwYWNrOi8vL2Jvb3RzdHJhcC1kYXRlcGlja2VyLnN0YW5kYWxvbmUuY3NzIiwid2VicGFjazovLy9idWlsZC9idWlsZF9zdGFuZGFsb25lLmxlc3MiLCJ3ZWJwYWNrOi8vL2ZsaWNraXR5LmNzcyIsIndlYnBhY2s6Ly8vdnVlMkRyb3B6b25lLm1pbi5jc3MiLCJ3ZWJwYWNrOi8vL2dsb2JhbHMuY3NzIiwid2VicGFjazovLy9pY29uLmNzcyIsIndlYnBhY2s6Ly8vd2lkZ2V0LmNzcyIsIndlYnBhY2s6Ly8vdG9vbHRpcC5jc3MiLCJ3ZWJwYWNrOi8vL2J1dHRvbi5jc3MiLCJ3ZWJwYWNrOi8vL2Ryb3Bkb3duLmNzcyIsIndlYnBhY2s6Ly8vdG9vbGJhci5jc3MiLCJ3ZWJwYWNrOi8vL2xpc3QuY3NzIiwid2VicGFjazovLy9zd2l0Y2hidXR0b24uY3NzIiwid2VicGFjazovLy90b29sYmFyZHJvcGRvd24uY3NzIiwid2VicGFjazovLy9saXN0ZHJvcGRvd24uY3NzIiwid2VicGFjazovLy9wbGFjZWhvbGRlci5jc3MiLCJ3ZWJwYWNrOi8vL2VkaXRvcnVpLmNzcyIsIndlYnBhY2s6Ly8vbGFiZWwuY3NzIiwid2VicGFjazovLy9zdGlja3lwYW5lbC5jc3MiLCJ3ZWJwYWNrOi8vL2NsYXNzaWNlZGl0b3IuY3NzIiwid2VicGFjazovLy9oZWFkaW5nLmNzcyIsIndlYnBhY2s6Ly8vbGluay5jc3MiLCJ3ZWJwYWNrOi8vL2JhbGxvb25wYW5lbC5jc3MiLCJ3ZWJwYWNrOi8vL2JhbGxvb25yb3RhdG9yLmNzcyIsIndlYnBhY2s6Ly8vZmFrZXBhbmVsLmNzcyIsIndlYnBhY2s6Ly8vbGFiZWxlZGlucHV0LmNzcyIsIndlYnBhY2s6Ly8vaW5wdXR0ZXh0LmNzcyIsIndlYnBhY2s6Ly8vbGlua2Zvcm0uY3NzIiwid2VicGFjazovLy9saW5rYWN0aW9ucy5jc3MiLCJ3ZWJwYWNrOi8vL3RleHRhbHRlcm5hdGl2ZWZvcm0uY3NzIiwid2VicGFjazovLy9pbWFnZS5jc3MiLCJ3ZWJwYWNrOi8vL2ltYWdlY2FwdGlvbi5jc3MiLCJ3ZWJwYWNrOi8vL2ltYWdlc3R5bGUuY3NzIiwid2VicGFjazovLy9pbWFnZXJlc2l6ZS5jc3MiLCJ3ZWJwYWNrOi8vL2ltYWdldXBsb2FkcHJvZ3Jlc3MuY3NzIiwid2VicGFjazovLy9pbWFnZXVwbG9hZGljb24uY3NzIiwid2VicGFjazovLy9pbWFnZXVwbG9hZGxvYWRlci5jc3MiLCJ3ZWJwYWNrOi8vL21lZGlhZW1iZWRlZGl0aW5nLmNzcyIsIndlYnBhY2s6Ly8vbWVkaWFmb3JtLmNzcyIsIndlYnBhY2s6Ly8vbWVkaWFlbWJlZC5jc3MiLCJ3ZWJwYWNrOi8vL3RhYmxlZWRpdGluZy5jc3MiLCJ3ZWJwYWNrOi8vL2luc2VydHRhYmxlLmNzcyIsIndlYnBhY2s6Ly8vdGFibGUuY3NzIiwid2VicGFjazovLy9ibG9ja3F1b3RlLmNzcyIsIndlYnBhY2s6Ly8vY29sb3JncmlkLmNzcyIsIndlYnBhY2s6Ly8vZm9udGNvbG9yLmNzcyIsIndlYnBhY2s6Ly8vZm9udHNpemUuY3NzIiwid2VicGFjazovLy9jbGFzc2ljLm1pbi5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7RUN5QlU7O0FDbkJWO0VGSEMsWUFBQztFQUlELGtCQUFDO0VBQ0E7QUVJRjtBRkhFO0VBQWtCO0FFTXBCO0FGUkM7RUFJRTtBRU9IO0FGSkM7RUFDQztBRU1GO0FBQ0E7RUZMRSxZQUhBO0FFVUY7QUFDQTtFRkxHO0VBQ0E7QUVPSDtBQUNBO0VGTEc7RUFDQTtFRU9ELGtDQUFrQztFRkxsQyxtQ0FBQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FFT0g7QUFDQTtFRkxHO0VFT0QscUJBQXFCO0VGTHJCLGtDQUFDO0VBQW1DO0VFUXBDLDZCQUE2QjtFRlA3QixhQXZCQTtFQXVCb0M7QUVVdEM7QUZURTtFQUFvQztBRVl0QztBRlhFO0VB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ZXIge1xuXHRwYWRkaW5nOiA0cHg7XG5cdC5ib3JkZXItcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcblx0Ji1pbmxpbmUge1xuXHRcdHdpZHRoOiAyMjBweDtcblx0fVxuXHRkaXJlY3Rpb246IGx0cjtcblx0Ji1ydGwge1xuXHRcdGRpcmVjdGlvbjogcnRsO1xuXHRcdCYuZHJvcGRvd24tbWVudSB7IGxlZnQ6IGF1dG87IH1cblx0XHR0YWJsZSB0ciB0ZCBzcGFuIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHR9XG5cdH1cblx0Ji1kcm9wZG93biB7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRib3JkZXItbGVmdDogICA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXItcmlnaHQ6ICA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXItYm90dG9tOiA3cHggc29saWQgQGdyYXlMaWdodDtcblx0XHRcdGJvcmRlci10b3A6ICAgIDA7XG5cdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsMCwwLC4yKTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGJvcmRlci1sZWZ0OiAgIDZweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1yaWdodDogIDZweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1ib3R0b206IDZweCBzb2xpZCBAd2hpdGU7XG5cdFx0XHRib3JkZXItdG9wOiAgICAwO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdH1cblx0XHQmLmRhdGVwaWNrZXItb3JpZW50LWxlZnQ6YmVmb3JlICAgeyBsZWZ0OiA2cHg7IH1cblx0XHQmLmRhdGVwaWNrZXItb3JpZW50LWxlZnQ6YWZ0ZXIgICAgeyBsZWZ0OiA3cHg7IH1cblx0XHQmLmRhdGVwaWNrZXItb3JpZW50LXJpZ2h0OmJlZm9yZSAgeyByaWdodDogNnB4OyB9XG5cdFx0Ji5kYXRlcGlja2VyLW9yaWVudC1yaWdodDphZnRlciAgIHsgcmlnaHQ6IDdweDsgfVxuXHRcdCYuZGF0ZXBpY2tlci1vcmllbnQtYm90dG9tOmJlZm9yZSB7IHRvcDogLTdweDsgfVxuXHRcdCYuZGF0ZXBpY2tlci1vcmllbnQtYm90dG9tOmFmdGVyICB7IHRvcDogLTZweDsgfVxuXHRcdCYuZGF0ZXBpY2tlci1vcmllbnQtdG9wOmJlZm9yZSB7XG5cdFx0XHRib3R0b206IC03cHg7XG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogICAgN3B4IHNvbGlkIEBncmF5TGlnaHQ7XG5cdFx0fVxuXHRcdCYuZGF0ZXBpY2tlci1vcmllbnQtdG9wOmFmdGVyIHtcblx0XHRcdGJvdHRvbTogLTZweDtcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHRib3JkZXItdG9wOiAgICA2cHggc29saWQgQHdoaXRlO1xuXHRcdH1cblx0fVxuXHR0YWJsZSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXHR0ZCwgdGgge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogMjBweDtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0LmJvcmRlci1yYWRpdXMoNHB4KTtcblxuXHRcdGJvcmRlcjogbm9uZTtcblx0fVxuXHQvLyBJbmxpbmUgZGlzcGxheSBpbnNpZGUgYSB0YWJsZSBwcmVzZW50cyBzb21lIHByb2JsZW1zIHdpdGhcblx0Ly8gYm9yZGVyIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycy5cblx0LnRhYmxlLXN0cmlwZWQgJiB0YWJsZSB0ciB7XG5cdFx0dGQsIHRoIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0fVxuXHR0YWJsZSB0ciB0ZCB7XG5cdFx0Ji5kYXk6aG92ZXIsXG5cdFx0Ji5kYXkuZm9jdXNlZCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAZ3JheUxpZ2h0ZXI7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHRcdCYub2xkLFxuXHRcdCYubmV3IHtcblx0XHRcdGNvbG9yOiBAZ3JheUxpZ2h0O1xuXHRcdH1cblx0XHQmLmRpc2FibGVkLFxuXHRcdCYuZGlzYWJsZWQ6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdGNvbG9yOiBAZ3JheUxpZ2h0O1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdH1cblx0XHQmLmhpZ2hsaWdodGVkIHtcblx0XHRcdGJhY2tncm91bmQ6IEBpbmZvQmFja2dyb3VuZDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0fVxuXHRcdCYudG9kYXksXG5cdFx0Ji50b2RheTpob3Zlcixcblx0XHQmLnRvZGF5LmRpc2FibGVkLFxuXHRcdCYudG9kYXkuZGlzYWJsZWQ6aG92ZXIge1xuXHRcdFx0QHRvZGF5QmFja2dyb3VuZDogbGlnaHRlbihAb3JhbmdlLCAzMCUpO1xuXHRcdFx0LmJ1dHRvbkJhY2tncm91bmQoQHRvZGF5QmFja2dyb3VuZCwgc3BpbihAdG9kYXlCYWNrZ3JvdW5kLCAyMCkpO1xuXHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0fVxuXHRcdCYudG9kYXk6aG92ZXI6aG92ZXIgeyAvLyBUaGFuayBib290c3RyYXAgMi4wIGZvciB0aGlzIHNlbGVjdG9yLi4uXG5cdFx0XHQvLyBUT0RPOiBCdW1wIG1pbiBCUyB0byAyLjEsIHVzZSBAdGV4dENvbG9yIGluIGJ1dHRvbkJhY2tncm91bmQgYWJvdmVcblx0XHRcdGNvbG9yOiAjMDAwO1xuXHRcdH1cblx0XHQmLnRvZGF5LmFjdGl2ZTpob3ZlciB7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG5cdFx0Ji5yYW5nZSxcblx0XHQmLnJhbmdlOmhvdmVyLFxuXHRcdCYucmFuZ2UuZGlzYWJsZWQsXG5cdFx0Ji5yYW5nZS5kaXNhYmxlZDpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAZ3JheUxpZ2h0ZXI7XG5cdFx0XHQuYm9yZGVyLXJhZGl1cygwKTtcblx0XHR9XG5cdFx0Ji5yYW5nZS50b2RheSxcblx0XHQmLnJhbmdlLnRvZGF5OmhvdmVyLFxuXHRcdCYucmFuZ2UudG9kYXkuZGlzYWJsZWQsXG5cdFx0Ji5yYW5nZS50b2RheS5kaXNhYmxlZDpob3ZlciB7XG5cdFx0XHRAdG9kYXlCYWNrZ3JvdW5kOiBtaXgoQG9yYW5nZSwgQGdyYXlMaWdodGVyLCA1MCUpO1xuXHRcdFx0LmJ1dHRvbkJhY2tncm91bmQoQHRvZGF5QmFja2dyb3VuZCwgc3BpbihAdG9kYXlCYWNrZ3JvdW5kLCAyMCkpO1xuXHRcdFx0LmJvcmRlci1yYWRpdXMoMCk7XG5cdFx0fVxuXHRcdCYuc2VsZWN0ZWQsXG5cdFx0Ji5zZWxlY3RlZDpob3Zlcixcblx0XHQmLnNlbGVjdGVkLmRpc2FibGVkLFxuXHRcdCYuc2VsZWN0ZWQuZGlzYWJsZWQ6aG92ZXIge1xuXHRcdFx0LmJ1dHRvbkJhY2tncm91bmQobGlnaHRlbihAZ3JheUxpZ2h0LCAxMCksIGRhcmtlbihAZ3JheUxpZ2h0LCAxMCkpO1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHR0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xuXHRcdH1cblx0XHQmLmFjdGl2ZSxcblx0XHQmLmFjdGl2ZTpob3Zlcixcblx0XHQmLmFjdGl2ZS5kaXNhYmxlZCxcblx0XHQmLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciB7XG5cdFx0XHQuYnV0dG9uQmFja2dyb3VuZChAYnRuUHJpbWFyeUJhY2tncm91bmQsIHNwaW4oQGJ0blByaW1hcnlCYWNrZ3JvdW5kLCAyMCkpO1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHR0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xuXHRcdH1cblx0XHRzcGFuIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDIzJTtcblx0XHRcdGhlaWdodDogNTRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA1NHB4O1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW46IDElO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0LmJvcmRlci1yYWRpdXMoNHB4KTtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmLmZvY3VzZWQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBAZ3JheUxpZ2h0ZXI7XG5cdFx0XHR9XG5cdFx0XHQmLmRpc2FibGVkLFxuXHRcdFx0Ji5kaXNhYmxlZDpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdGNvbG9yOiBAZ3JheUxpZ2h0O1xuXHRcdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0XHR9XG5cdFx0XHQmLmFjdGl2ZSxcblx0XHRcdCYuYWN0aXZlOmhvdmVyLFxuXHRcdFx0Ji5hY3RpdmUuZGlzYWJsZWQsXG5cdFx0XHQmLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciB7XG5cdFx0XHRcdC5idXR0b25CYWNrZ3JvdW5kKEBidG5QcmltYXJ5QmFja2dyb3VuZCwgc3BpbihAYnRuUHJpbWFyeUJhY2tncm91bmQsIDIwKSk7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHR0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xuXHRcdFx0fVxuXHRcdFx0Ji5vbGQsXG5cdFx0XHQmLm5ldyB7XG5cdFx0XHRcdGNvbG9yOiBAZ3JheUxpZ2h0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5kYXRlcGlja2VyLXN3aXRjaCB7XG5cdFx0d2lkdGg6IDE0NXB4O1xuXHR9XG5cblx0LmRhdGVwaWNrZXItc3dpdGNoLFxuXHQucHJldixcblx0Lm5leHQsXG5cdHRmb290IHRyIHRoIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAZ3JheUxpZ2h0ZXI7XG5cdFx0fVxuXHR9XG5cblx0LnByZXYsIC5uZXh0IHtcblx0XHQmLmRpc2FibGVkIHtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR9XG5cdH1cblxuXHQvLyBCYXNpYyBzdHlsaW5nIGZvciBjYWxlbmRhci13ZWVrIGNlbGxzXG5cdC5jdyB7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdHdpZHRoOiAxMnB4O1xuXHRcdHBhZGRpbmc6IDAgMnB4IDAgNXB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cbn1cbi5pbnB1dC1hcHBlbmQsXG4uaW5wdXQtcHJlcGVuZCB7XG5cdCYuZGF0ZSAuYWRkLW9uIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRpIHtcblx0XHRcdG1hcmdpbi10b3A6IDNweDtcblx0XHR9XG5cdH1cbn1cbi5pbnB1dC1kYXRlcmFuZ2Uge1xuXHRpbnB1dCB7XG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdH1cblx0aW5wdXQ6Zmlyc3QtY2hpbGQge1xuXHRcdC5ib3JkZXItcmFkaXVzKDNweCAwIDAgM3B4KTtcblx0fVxuXHRpbnB1dDpsYXN0LWNoaWxkIHtcblx0XHQuYm9yZGVyLXJhZGl1cygwIDNweCAzcHggMCk7XG5cdH1cblx0LmFkZC1vbiB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1pbi13aWR0aDogMTZweDtcblx0XHRoZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcblx0XHRwYWRkaW5nOiA0cHggNXB4O1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0bGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dGV4dC1zaGFkb3c6IDAgMXB4IDAgQHdoaXRlO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQGdyYXlMaWdodGVyO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG5cdFx0bWFyZ2luLWxlZnQ6IC01cHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtNXB4O1xuXHR9XG59XG4iLCIvLyBEYXRlcGlja2VyIC5sZXNzIGJ1aWxkZmlsZS4gIEluY2x1ZGVzIHNlbGVjdCBtaXhpbnMvdmFyaWFibGVzIGZyb20gYm9vdHN0cmFwXG4vLyBhbmQgaW1wb3J0cyB0aGUgaW5jbHVkZWQgZGF0ZXBpY2tlci5sZXNzIHRvIG91dHB1dCBhIG1pbmltYWwgZGF0ZXBpY2tlci5jc3Ncbi8vXG4vLyBVc2FnZTpcbi8vICAgICBsZXNzYyBidWlsZC5sZXNzIGRhdGVwaWNrZXIuY3NzXG4vL1xuLy8gVmFyaWFibGVzIGFuZCBtaXhpbnMgY29waWVkIGZyb20gYm9vdHN0cmFwIDIuMC4yXG5cbi8vIFZhcmlhYmxlc1xuQGdyYXlMaWdodDogICAgICAgICAgICAgIzk5OTtcbkBncmF5TGlnaHRlcjogICAgICAgICAgICNlZWU7XG5Ad2hpdGU6ICAgICAgICAgICAgICAgICAjZmZmO1xuQGxpbmtDb2xvcjogICAgICAgICAgICAgIzA4YztcbkBidG5QcmltYXJ5QmFja2dyb3VuZDogIEBsaW5rQ29sb3I7XG5Ab3JhbmdlOiAgICAgICAgICAgICAgICAjZjg5NDA2O1xuQGluZm9CYWNrZ3JvdW5kOiAgICAgICAgI2Q5ZWRmNztcbkBiYXNlTGluZUhlaWdodDogICAgICAgIDE4cHg7XG5AYmFzZUJvcmRlclJhZGl1czogICAgICA0cHg7XG5cbi8vIE1peGluc1xuXG4vLyBCb3JkZXIgUmFkaXVzXG4uYm9yZGVyLXJhZGl1cyhAcmFkaXVzOiA1cHgpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbn1cblxuLy8gQnV0dG9uIGJhY2tncm91bmRzXG4uYnV0dG9uQmFja2dyb3VuZChAc3RhcnRDb2xvciwgQGVuZENvbG9yKSB7XG4gIC5ncmFkaWVudEJhcihAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbiAgLnJlc2V0LWZpbHRlcigpO1xuICAmOmhvdmVyLCAmOmFjdGl2ZSwgJi5hY3RpdmUsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGVuZENvbG9yLCAxMCUpIGUoXCJcXDlcIik7XG4gIH1cbn1cblxuLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi5yZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSk7XG59XG5cbi8vIEdyYWRpZW50IEJhciBDb2xvcnMgZm9yIGJ1dHRvbnMgYW5kIGFsZXJ0c1xuLmdyYWRpZW50QmFyKEBwcmltYXJ5Q29sb3IsIEBzZWNvbmRhcnlDb2xvcikge1xuICAjZ3JhZGllbnQgPiAudmVydGljYWwoQHByaW1hcnlDb2xvciwgQHNlY29uZGFyeUNvbG9yKTtcbiAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5Q29sb3IgQHNlY29uZGFyeUNvbG9yIGRhcmtlbihAc2Vjb25kYXJ5Q29sb3IsIDE1JSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMSkgZmFkZWluKHJnYmEoMCwwLDAsLjEpLCAxNSUpO1xufVxuXG4vLyBHcmFkaWVudHNcbiNncmFkaWVudCB7XG4gIC52ZXJ0aWNhbChAc3RhcnRDb2xvcjogIzU1NSwgQGVuZENvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KEBzdGFydENvbG9yLCBAZW5kQ29sb3IsIDYwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gRkYgMy42K1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gSUUxMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbShAc3RhcnRDb2xvciksIHRvKEBlbmRDb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIE9wZXJhIDExLjEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFRoZSBzdGFuZGFyZFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLEBzdGFydENvbG9yLEBlbmRDb2xvcikpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxufVxuXG5AaW1wb3J0IFwiLi4vbGVzcy9kYXRlcGlja2VyLmxlc3NcIjtcbiIsIi8qIVxuICogRGF0ZXBpY2tlciBmb3IgQm9vdHN0cmFwIHYxLjkuMCAoaHR0cHM6Ly9naXRodWIuY29tL3V4c29sdXRpb25zL2Jvb3RzdHJhcC1kYXRlcGlja2VyKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSB2Mi4wIChodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjApXG4gKi9cblxuLmRhdGVwaWNrZXIge1xuICBwYWRkaW5nOiA0cHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbi5kYXRlcGlja2VyLWlubGluZSB7XG4gIHdpZHRoOiAyMjBweDtcbn1cbi5kYXRlcGlja2VyLXJ0bCB7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuLmRhdGVwaWNrZXItcnRsLmRyb3Bkb3duLW1lbnUge1xuICBsZWZ0OiBhdXRvO1xufVxuLmRhdGVwaWNrZXItcnRsIHRhYmxlIHRyIHRkIHNwYW4ge1xuICBmbG9hdDogcmlnaHQ7XG59XG4uZGF0ZXBpY2tlci1kcm9wZG93biB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbi5kYXRlcGlja2VyLWRyb3Bkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA3cHggc29saWQgIzk5OTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uZGF0ZXBpY2tlci1kcm9wZG93bjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtbGVmdDpiZWZvcmUge1xuICBsZWZ0OiA2cHg7XG59XG4uZGF0ZXBpY2tlci1kcm9wZG93bi5kYXRlcGlja2VyLW9yaWVudC1sZWZ0OmFmdGVyIHtcbiAgbGVmdDogN3B4O1xufVxuLmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtcmlnaHQ6YmVmb3JlIHtcbiAgcmlnaHQ6IDZweDtcbn1cbi5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LXJpZ2h0OmFmdGVyIHtcbiAgcmlnaHQ6IDdweDtcbn1cbi5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LWJvdHRvbTpiZWZvcmUge1xuICB0b3A6IC03cHg7XG59XG4uZGF0ZXBpY2tlci1kcm9wZG93bi5kYXRlcGlja2VyLW9yaWVudC1ib3R0b206YWZ0ZXIge1xuICB0b3A6IC02cHg7XG59XG4uZGF0ZXBpY2tlci1kcm9wZG93bi5kYXRlcGlja2VyLW9yaWVudC10b3A6YmVmb3JlIHtcbiAgYm90dG9tOiAtN3B4O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItdG9wOiA3cHggc29saWQgIzk5OTtcbn1cbi5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LXRvcDphZnRlciB7XG4gIGJvdHRvbTogLTZweDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICNmZmY7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB7XG4gIG1hcmdpbjogMDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uZGF0ZXBpY2tlciB0ZCxcbi5kYXRlcGlja2VyIHRoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiBub25lO1xufVxuLnRhYmxlLXN0cmlwZWQgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQsXG4udGFibGUtc3RyaXBlZCAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuZGF5OmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuZGF5LmZvY3VzZWQge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5vbGQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5uZXcge1xuICBjb2xvcjogIzk5OTtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzk5OTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWQge1xuICBiYWNrZ3JvdW5kOiAjZDllZGY3O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXksXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMTlhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZGQ0OWEsICNmZGY1OWEpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZkZDQ5YSwgI2ZkZjU5YSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjZmRkNDlhKSwgdG8oI2ZkZjU5YSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZGQ0OWEsICNmZGY1OWEpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmRkNDlhLCAjZmRmNTlhKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZkZDQ5YSwgI2ZkZjU5YSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2ZkZDQ5YScsIGVuZENvbG9yc3RyPScjZmRmNTlhJywgR3JhZGllbnRUeXBlPTApO1xuICBib3JkZXItY29sb3I6ICNmZGY1OWEgI2ZkZjU5YSAjZmJlZDUwO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7XG4gIGNvbG9yOiAjMDAwO1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlcjpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlci5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3Zlci5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3Zlci5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5W2Rpc2FibGVkXSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyW2Rpc2FibGVkXSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkW2Rpc2FibGVkXSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGY1OWE7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlci5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3Zlci5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmMDY5IFxcOTtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyOmhvdmVyIHtcbiAgY29sb3I6ICMwMDA7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5hY3RpdmU6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2U6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmRpc2FibGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VlZTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2QxN2E7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2YzYzE3YSwgI2YzZTk3YSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjNjMTdhLCAjZjNlOTdhKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCNmM2MxN2EpLCB0bygjZjNlOTdhKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2YzYzE3YSwgI2YzZTk3YSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmM2MxN2EsICNmM2U5N2EpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjNjMTdhLCAjZjNlOTdhKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZjNjMTdhJywgZW5kQ29sb3JzdHI9JyNmM2U5N2EnLCBHcmFkaWVudFR5cGU9MCk7XG4gIGJvcmRlci1jb2xvcjogI2YzZTk3YSAjZjNlOTdhICNlZGRlMzQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheTpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmhvdmVyOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZDpob3Zlcjpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmhvdmVyOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmhvdmVyOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmhvdmVyLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmhvdmVyLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXIuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZC5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmhvdmVyLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXlbZGlzYWJsZWRdLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXJbZGlzYWJsZWRdLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWRbZGlzYWJsZWRdLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6aG92ZXJbZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZTk3YTtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmhvdmVyOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmhvdmVyOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmhvdmVyLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmhvdmVyLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmUyNGIgXFw5O1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWU5ZTllO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNiM2IzYjMsICM4MDgwODApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2IzYjNiMywgIzgwODA4MCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjYjNiM2IzKSwgdG8oIzgwODA4MCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNiM2IzYjMsICM4MDgwODApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYjNiM2IzLCAjODA4MDgwKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2IzYjNiMywgIzgwODA4MCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2IzYjNiMycsIGVuZENvbG9yc3RyPScjODA4MDgwJywgR3JhZGllbnRUeXBlPTApO1xuICBib3JkZXItY29sb3I6ICM4MDgwODAgIzgwODA4MCAjNTk1OTU5O1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6aG92ZXI6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkOmhvdmVyOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6aG92ZXIuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpob3Zlci5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZFtkaXNhYmxlZF0sXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpob3ZlcltkaXNhYmxlZF0sXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZFtkaXNhYmxlZF0sXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDpob3ZlcltkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA4MDgwO1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6aG92ZXIuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2NiBcXDk7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2ZGNjO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwOGMsICMwMDQ0Y2MpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzA4YywgIzAwNDRjYyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjMDhjKSwgdG8oIzAwNDRjYykpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwOGMsICMwMDQ0Y2MpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDhjLCAjMDA0NGNjKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzA4YywgIzAwNDRjYyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzA4YycsIGVuZENvbG9yc3RyPScjMDA0NGNjJywgR3JhZGllbnRUeXBlPTApO1xuICBib3JkZXItY29sb3I6ICMwMDQ0Y2MgIzAwNDRjYyAjMDAyYTgwO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlcjpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3Zlcjpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlW2Rpc2FibGVkXSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3ZlcltkaXNhYmxlZF0sXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWRbZGlzYWJsZWRdLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQ0Y2M7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlci5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDMzOTkgXFw5O1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjMlO1xuICBoZWlnaHQ6IDU0cHg7XG4gIGxpbmUtaGVpZ2h0OiA1NHB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAxJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW46aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmZvY3VzZWQge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzk5OTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2ZGNjO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwOGMsICMwMDQ0Y2MpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzA4YywgIzAwNDRjYyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjMDhjKSwgdG8oIzAwNDRjYykpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwOGMsICMwMDQ0Y2MpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDhjLCAjMDA0NGNjKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzA4YywgIzAwNDRjYyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzA4YycsIGVuZENvbG9yc3RyPScjMDA0NGNjJywgR3JhZGllbnRUeXBlPTApO1xuICBib3JkZXItY29sb3I6ICMwMDQ0Y2MgIzAwNDRjYyAjMDAyYTgwO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZVtkaXNhYmxlZF0sXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcltkaXNhYmxlZF0sXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZFtkaXNhYmxlZF0sXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcltkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NGNjO1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzM5OSBcXDk7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLm9sZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4ubmV3IHtcbiAgY29sb3I6ICM5OTk7XG59XG4uZGF0ZXBpY2tlciAuZGF0ZXBpY2tlci1zd2l0Y2gge1xuICB3aWR0aDogMTQ1cHg7XG59XG4uZGF0ZXBpY2tlciAuZGF0ZXBpY2tlci1zd2l0Y2gsXG4uZGF0ZXBpY2tlciAucHJldixcbi5kYXRlcGlja2VyIC5uZXh0LFxuLmRhdGVwaWNrZXIgdGZvb3QgdHIgdGgge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZGF0ZXBpY2tlciAuZGF0ZXBpY2tlci1zd2l0Y2g6aG92ZXIsXG4uZGF0ZXBpY2tlciAucHJldjpob3Zlcixcbi5kYXRlcGlja2VyIC5uZXh0OmhvdmVyLFxuLmRhdGVwaWNrZXIgdGZvb3QgdHIgdGg6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xufVxuLmRhdGVwaWNrZXIgLnByZXYuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciAubmV4dC5kaXNhYmxlZCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5kYXRlcGlja2VyIC5jdyB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgd2lkdGg6IDEycHg7XG4gIHBhZGRpbmc6IDAgMnB4IDAgNXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmlucHV0LWFwcGVuZC5kYXRlIC5hZGQtb24sXG4uaW5wdXQtcHJlcGVuZC5kYXRlIC5hZGQtb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaW5wdXQtYXBwZW5kLmRhdGUgLmFkZC1vbiBpLFxuLmlucHV0LXByZXBlbmQuZGF0ZSAuYWRkLW9uIGkge1xuICBtYXJnaW4tdG9wOiAzcHg7XG59XG4uaW5wdXQtZGF0ZXJhbmdlIGlucHV0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmlucHV0LWRhdGVyYW5nZSBpbnB1dDpmaXJzdC1jaGlsZCB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4O1xufVxuLmlucHV0LWRhdGVyYW5nZSBpbnB1dDpsYXN0LWNoaWxkIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDtcbiAgYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7XG59XG4uaW5wdXQtZGF0ZXJhbmdlIC5hZGQtb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMjBweDtcbiAgcGFkZGluZzogNHB4IDVweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIG1hcmdpbi1yaWdodDogLTVweDtcbn1cbi5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC1tb3otYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAqYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XG4gICpib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuLmRhdGVwaWNrZXIuZHJvcGRvd24tbWVudSB0aCxcbi5kYXRlcGlja2VyLmRhdGVwaWNrZXItaW5saW5lIHRoLFxuLmRhdGVwaWNrZXIuZHJvcGRvd24tbWVudSB0ZCxcbi5kYXRlcGlja2VyLmRhdGVwaWNrZXItaW5saW5lIHRkIHtcbiAgcGFkZGluZzogNHB4IDVweDtcbn1cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWJvb3RzdHJhcC1kYXRlcGlja2VyLnN0YW5kYWxvbmUuY3NzLm1hcCAqLyIsIi8vIERhdGVwaWNrZXIgc3RhbmRhbG9uZSAubGVzcyBidWlsZGZpbGUuICBJbmNsdWRlcyBhbGwgbmVjZXNzYXJ5IG1peGlucy92YXJpYWJsZXMvcnVsZXMgZnJvbSBib290c3RyYXBcbi8vIGFuZCBpbXBvcnRzIHRoZSBpbmNsdWRlZCBkYXRlcGlja2VyLmxlc3MgdG8gb3V0cHV0IGEgbWluaW1hbCBzdGFuZGFsb25lIGRhdGVwaWNrZXIuY3NzXG4vL1xuLy8gVXNhZ2U6XG4vLyAgICAgbGVzc2MgYnVpbGRfc3RhbmRhbG9uZS5sZXNzIGRhdGVwaWNrZXIuY3NzXG4vL1xuLy8gVmFyaWFibGVzLCBtaXhpbnMsIGFuZCBydWxlcyBjb3BpZWQgZnJvbSBib290c3RyYXAgMi4wLjJcblxuQGltcG9ydCBcImJ1aWxkLmxlc3NcIjtcblxuLy8gRHJvcGRvd24gY3NzXG5cbkB6aW5kZXhEcm9wZG93bjogICAgICAgICAgICAgICAgMTAwMDtcbkBncmF5RGFyazogICAgICAgICAgICAgICAgICAgICAgIzMzMztcbkBiYXNlTGluZUhlaWdodDogICAgICAgICAgICAgICAgMjBweDtcbkB0YWJsZUJhY2tncm91bmQ6ICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7IC8vIG92ZXJhbGwgYmFja2dyb3VuZC1jb2xvclxuQGRyb3Bkb3duQmFja2dyb3VuZDogICAgICAgICAgICBAd2hpdGU7XG5AZHJvcGRvd25Cb3JkZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpO1xuQGRyb3Bkb3duTGlua0NvbG9yOiAgICAgICAgICAgICBAZ3JheURhcms7XG5AZHJvcGRvd25MaW5rQ29sb3JIb3ZlcjogICAgICAgIEB3aGl0ZTtcbkBkcm9wZG93bkxpbmtCYWNrZ3JvdW5kSG92ZXI6ICAgQGxpbmtDb2xvcjtcblxuLy8gRHJvcCBzaGFkb3dzXG4uYm94LXNoYWRvdyhAc2hhZG93KSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogQHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiBAc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6IEBzaGFkb3c7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51ICh1bClcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5kYXRlcGlja2Vye1xuICAmLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiBAemluZGV4RHJvcGRvd247XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duQmFja2dyb3VuZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO1xuICAgIC5ib3JkZXItcmFkaXVzKDVweCk7XG4gICAgLmJveC1zaGFkb3coMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKSk7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAqYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XG4gICAgKmJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcblxuICAgIC8vIE5vcm1hbGx5IGluaGVyaXRlZCBmcm9tIGJvb3RzdHJhcCdzIGBib2R5YFxuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGZvbnQtc2l6ZToxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG4gIH1cblxuICAmLmRyb3Bkb3duLW1lbnUsICYuZGF0ZXBpY2tlci1pbmxpbmUge1xuICAgIHRoLCB0ZCB7XG4gICAgICBwYWRkaW5nOiA0cHggNXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLyohIEZsaWNraXR5IHYyLjIuMVxuaHR0cHM6Ly9mbGlja2l0eS5tZXRhZml6enkuY29cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmZsaWNraXR5LWVuYWJsZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mbGlja2l0eS1lbmFibGVkOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4uZmxpY2tpdHktdmlld3BvcnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmZsaWNraXR5LXNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyogZHJhZ2dhYmxlICovXG5cbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSAuZmxpY2tpdHktdmlld3BvcnQge1xuICBjdXJzb3I6IG1vdmU7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSAuZmxpY2tpdHktdmlld3BvcnQuaXMtcG9pbnRlci1kb3duIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4vKiAtLS0tIGZsaWNraXR5LWJ1dHRvbiAtLS0tICovXG5cbi5mbGlja2l0eS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNzUpO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uZmxpY2tpdHktYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZsaWNraXR5LWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDVweCAjMTlGO1xufVxuXG4uZmxpY2tpdHktYnV0dG9uOmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLmZsaWNraXR5LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMztcbiAgY3Vyc29yOiBhdXRvO1xuICAvKiBwcmV2ZW50IGRpc2FibGVkIGJ1dHRvbiBmcm9tIGNhcHR1cmluZyBwb2ludGVyIHVwIGV2ZW50LiAjNzE2ICovXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZmxpY2tpdHktYnV0dG9uLWljb24ge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi8qIC0tLS0gcHJldmlvdXMvbmV4dCBidXR0b25zIC0tLS0gKi9cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAvKiB2ZXJ0aWNhbGx5IGNlbnRlciAqL1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHsgbGVmdDogMTBweDsgfVxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7IHJpZ2h0OiAxMHB4OyB9XG4vKiByaWdodCB0byBsZWZ0ICovXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwcHg7XG59XG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTBweDtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gLmZsaWNraXR5LWJ1dHRvbi1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyMCU7XG4gIHRvcDogMjAlO1xuICB3aWR0aDogNjAlO1xuICBoZWlnaHQ6IDYwJTtcbn1cblxuLyogLS0tLSBwYWdlIGRvdHMgLS0tLSAqL1xuXG4uZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAtMjVweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wYWdlLWRvdHMgeyBkaXJlY3Rpb246IHJ0bDsgfVxuXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMCA4cHg7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3QuaXMtc2VsZWN0ZWQge1xuICBvcGFjaXR5OiAxO1xufVxuIiwiLypcbiAqIFRoZSBNSVQgTGljZW5zZVxuICogQ29weXJpZ2h0IChjKSAyMDEyIE1hdGlhcyBNZW5vIDxtQHRpYXMubWU+XG4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwYXNzaW5nLXRocm91Z2gge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7IH1cbiAgMzAlLCA3MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpOyB9IH1cbkAtbW96LWtleWZyYW1lcyBwYXNzaW5nLXRocm91Z2gge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7IH1cbiAgMzAlLCA3MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpOyB9IH1cbkBrZXlmcmFtZXMgcGFzc2luZy10aHJvdWdoIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpOyB9XG4gIDMwJSwgNzAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTsgfSB9XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGUtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7IH1cbiAgMzAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH0gfVxuQC1tb3ota2V5ZnJhbWVzIHNsaWRlLWluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpOyB9XG4gIDMwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9IH1cbkBrZXlmcmFtZXMgc2xpZGUtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7IH1cbiAgMzAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH0gfVxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuQC1tb3ota2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cbi5kcm9wem9uZSwgLmRyb3B6b25lICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5kcm9wem9uZSB7XG4gIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cbiAgLmRyb3B6b25lLmR6LWNsaWNrYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmRyb3B6b25lLmR6LWNsaWNrYWJsZSAqIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5kcm9wem9uZS5kei1jbGlja2FibGUgLmR6LW1lc3NhZ2UsIC5kcm9wem9uZS5kei1jbGlja2FibGUgLmR6LW1lc3NhZ2UgKiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmRyb3B6b25lLmR6LXN0YXJ0ZWQgLmR6LW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmRyb3B6b25lLmR6LWRyYWctaG92ZXIge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAuZHJvcHpvbmUuZHotZHJhZy1ob3ZlciAuZHotbWVzc2FnZSB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmRyb3B6b25lIC5kei1tZXNzYWdlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyZW0gMDsgfVxuICAuZHJvcHpvbmUgLmR6LXByZXZpZXcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW46IDE2cHg7XG4gICAgbWluLWhlaWdodDogMTAwcHg7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXc6aG92ZXIge1xuICAgICAgei1pbmRleDogMTAwMDsgfVxuICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3OmhvdmVyIC5kei1kZXRhaWxzIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldy5kei1maWxlLXByZXZpZXcgLmR6LWltYWdlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjOTk5O1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VlZSwgI2RkZCk7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZmlsZS1wcmV2aWV3IC5kei1kZXRhaWxzIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotaW1hZ2UtcHJldmlldyB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWltYWdlLXByZXZpZXcgLmR6LWRldGFpbHMge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXJlbW92ZSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1yZW1vdmU6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldzpob3ZlciAuZHotZGV0YWlscyB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIHtcbiAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAyZW0gMWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlOyB9XG4gICAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LXNpemUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZTpob3ZlciBzcGFuIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuOCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gICAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWU6bm90KDpob3Zlcikge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgICAgICAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lOm5vdCg6aG92ZXIpIHNwYW4ge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWUgc3BhbiwgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1zaXplIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgICAgIHBhZGRpbmc6IDAgMC40ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldzpob3ZlciAuZHotaW1hZ2UgaW1nIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1LCAxLjA1KTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjA1LCAxLjA1KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMDUsIDEuMDUpO1xuICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjA1LCAxLjA1KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSwgMS4wNSk7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig4cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDhweCk7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWltYWdlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotaW1hZ2UgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotc3VjY2VzcyAuZHotc3VjY2Vzcy1tYXJrIHtcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwYXNzaW5nLXRocm91Z2ggM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICAgIC1tb3otYW5pbWF0aW9uOiBwYXNzaW5nLXRocm91Z2ggM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICAgIC1tcy1hbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgLW8tYW5pbWF0aW9uOiBwYXNzaW5nLXRocm91Z2ggM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICAgIGFuaW1hdGlvbjogcGFzc2luZy10aHJvdWdoIDNzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZXJyb3IgLmR6LWVycm9yLW1hcmsge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgLW1vei1hbmltYXRpb246IHNsaWRlLWluIDNzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4gICAgICAtbXMtYW5pbWF0aW9uOiBzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgLW8tYW5pbWF0aW9uOiBzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgYW5pbWF0aW9uOiBzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1zdWNjZXNzLW1hcmssIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZXJyb3ItbWFyayB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiA1MDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yN3B4O1xuICAgICAgbWFyZ2luLXRvcDogLTI3cHg7IH1cbiAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotc3VjY2Vzcy1tYXJrIHN2ZywgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tYXJrIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgaGVpZ2h0OiA1NHB4OyB9XG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LXByb2Nlc3NpbmcgLmR6LXByb2dyZXNzIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldy5kei1jb21wbGV0ZSAuZHotcHJvZ3Jlc3Mge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW47XG4gICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluO1xuICAgICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluO1xuICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW47XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbjsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldzpub3QoLmR6LXByb2Nlc3NpbmcpIC5kei1wcm9ncmVzcyB7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTtcbiAgICAgIC1tb3otYW5pbWF0aW9uOiBwdWxzZSA2cyBlYXNlIGluZmluaXRlO1xuICAgICAgLW1zLWFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTtcbiAgICAgIC1vLWFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTtcbiAgICAgIGFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcHJvZ3Jlc3Mge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1wcm9ncmVzcyAuZHotdXBsb2FkIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzMzMztcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzY2NiwgIzQ0NCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlLWluLW91dDsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldy5kei1lcnJvciAuZHotZXJyb3ItbWVzc2FnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldy5kei1lcnJvcjpob3ZlciAuZHotZXJyb3ItbWVzc2FnZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWVycm9yLW1lc3NhZ2Uge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIHRvcDogMTMwcHg7XG4gICAgICBsZWZ0OiAtMTBweDtcbiAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNiZTI2MjY7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYmUyNjI2LCAjYTkyMjIyKTtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDEuMmVtO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWVycm9yLW1lc3NhZ2U6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgIGxlZnQ6IDY0cHg7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2JlMjYyNjsgfVxuLnZ1ZS1kcm9wem9uZXtib3JkZXI6MnB4IHNvbGlkICNlNWU1ZTU7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzouMnB4O2NvbG9yOiM3Nzc7dHJhbnNpdGlvbjouMnMgbGluZWFyfS52dWUtZHJvcHpvbmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2fS52dWUtZHJvcHpvbmU+aXtjb2xvcjojY2NjfS52dWUtZHJvcHpvbmU+LmR6LXByZXZpZXcgLmR6LWltYWdle2JvcmRlci1yYWRpdXM6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS52dWUtZHJvcHpvbmU+LmR6LXByZXZpZXcgLmR6LWltYWdlIGltZzpub3QoW3NyY10pe3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweH0udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1pbWFnZTpob3ZlciBpbWd7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC1maWx0ZXI6bm9uZX0udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1kZXRhaWxze2JvdHRvbTowO3RvcDowO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMzLDE1MCwyNDMsLjgpO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgbGluZWFyO3RleHQtYWxpZ246bGVmdH0udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZXtvdmVyZmxvdzpoaWRkZW59LnZ1ZS1kcm9wem9uZT4uZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWUgc3BhbiwudnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1zaXplIHNwYW57YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZTpub3QoOmhvdmVyKSBzcGFue2JvcmRlcjpub25lfS52dWUtZHJvcHpvbmU+LmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lOmhvdmVyIHNwYW57YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZX0udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1wcm9ncmVzcyAuZHotdXBsb2Fke2JhY2tncm91bmQ6I2NjY30udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1yZW1vdmV7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDozMDtjb2xvcjojZmZmO21hcmdpbi1sZWZ0OjE1cHg7cGFkZGluZzoxMHB4O3RvcDppbmhlcml0O2JvdHRvbToxNXB4O2JvcmRlcjoycHggI2ZmZiBzb2xpZDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC1zaXplOi44cmVtO2ZvbnQtd2VpZ2h0OjgwMDtsZXR0ZXItc3BhY2luZzoxLjFweDtvcGFjaXR5OjB9LnZ1ZS1kcm9wem9uZT4uZHotcHJldmlldzpob3ZlciAuZHotcmVtb3Zle29wYWNpdHk6MX0udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1lcnJvci1tYXJrLC52dWUtZHJvcHpvbmU+LmR6LXByZXZpZXcgLmR6LXN1Y2Nlc3MtbWFya3ttYXJnaW4tbGVmdDphdXRvO21hcmdpbi10b3A6YXV0bzt3aWR0aDoxMDAlO3RvcDozNSU7bGVmdDowfS52dWUtZHJvcHpvbmU+LmR6LXByZXZpZXcgLmR6LWVycm9yLW1hcmsgc3ZnLC52dWUtZHJvcHpvbmU+LmR6LXByZXZpZXcgLmR6LXN1Y2Nlc3MtbWFyayBzdmd7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1lcnJvci1tZXNzYWdle21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87bGVmdDowO3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXJ9LnZ1ZS1kcm9wem9uZT4uZHotcHJldmlldyAuZHotZXJyb3ItbWVzc2FnZTphZnRlcntkaXNwbGF5Om5vbmV9IiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGdsb2JhbHNcXGdsb2JhbHMuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgY2xhc3Mgd2hpY2ggaGlkZXMgYW4gZWxlbWVudCBpbiBET00uXG4gKi9cblxuLmNrLWhpZGRlbiB7XG5cdC8qIE92ZXJyaWRlIHNlbGVjdG9yIHNwZWNpZmljaXR5LiBPdGhlcndpc2UsIGFsbCBlbGVtZW50cyB3aXRoIHNvbWUgZGlzcGxheVxuXHRzdHlsZSBkZWZpbmVkIHdpbGwgb3ZlcnJpZGUgdGhpcyBvbmUsIHdoaWNoIGlzIG5vdCBhIGRlc2lyZWQgcmVzdWx0LiAqL1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXJlc2V0LFxuLmNrLmNrLXJlc2V0X2FsbCxcbi5jay5jay1yZXNldF9hbGwgKiB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHdpZHRoOiBhdXRvO1xuXHRoZWlnaHQ6IGF1dG87XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLXotZGVmYXVsdDogMTtcblx0LS1jay16LW1vZGFsOiBjYWxjKCB2YXIoLS1jay16LWRlZmF1bHQpICsgOTk5ICk7XG59XG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcZ2xvYmFsc1xcZ2xvYmFscy5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDk4JSk7XG5cdC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCAxMDAlKTtcblx0LS1jay1jb2xvci1iYXNlLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA3NyUpO1xuXHQtLWNrLWNvbG9yLWJhc2UtYWN0aW9uOiBcdFx0XHRcdFx0XHRcdFx0XHRoc2woMTA0LCA0NCUsIDQ4JSk7XG5cdC0tY2stY29sb3ItYmFzZS1mb2N1czogXHRcdFx0XHRcdFx0XHRcdFx0XHRoc2woMjA5LCA5MiUsIDcwJSk7XG5cdC0tY2stY29sb3ItYmFzZS10ZXh0OiBcdFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgMjAlKTtcblx0LS1jay1jb2xvci1iYXNlLWFjdGl2ZTogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDIwOCwgODglLCA1MiUpO1xuXHQtLWNrLWNvbG9yLWJhc2UtYWN0aXZlLWZvY3VzOlx0XHRcdFx0XHRcdFx0XHRoc2woMjA4LCA4OCUsIDQ3JSk7XG5cdC0tY2stY29sb3ItYmFzZS1lcnJvcjpcdFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgxNSwgMTAwJSwgNDMlKTtcblxuXHQvKiAtLSBHZW5lcmljIGNvbG9ycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDIwOCwgOTAlLCA2MiUpO1xuXHQtLWNrLWNvbG9yLWZvY3VzLXNoYWRvdzpcdFx0XHRcdFx0XHRcdFx0XHRoc2xhKDIwOSwgOTAlLCA3MiUsLjUpO1xuXHQtLWNrLWNvbG9yLWZvY3VzLWRpc2FibGVkLXNoYWRvdzpcdFx0XHRcdFx0XHRcdGhzbGEoMjA5LCA5MCUsIDcyJSwuMyk7XG5cdC0tY2stY29sb3ItZm9jdXMtZXJyb3Itc2hhZG93Olx0XHRcdFx0XHRcdFx0XHRoc2xhKDksMTAwJSw1NiUsLjMpO1xuXHQtLWNrLWNvbG9yLXRleHQ6IFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLXRleHQpO1xuXHQtLWNrLWNvbG9yLXNoYWRvdy1kcm9wOiBcdFx0XHRcdFx0XHRcdFx0XHRoc2xhKDAsIDAlLCAwJSwgMC4xNSk7XG5cdC0tY2stY29sb3Itc2hhZG93LWRyb3AtYWN0aXZlOlx0XHRcdFx0XHRcdFx0XHRoc2xhKDAsIDAlLCAwJSwgMC4yKTtcblx0LS1jay1jb2xvci1zaGFkb3ctaW5uZXI6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbGEoMCwgMCUsIDAlLCAwLjEpO1xuXG5cdC8qIC0tIEJ1dHRvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0dHJhbnNwYXJlbnQ7XG5cdC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogXHRcdFx0XHRoc2woMCwgMCUsIDkwJSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IFx0XHRcdFx0aHNsKDAsIDAlLCA4NSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1zaGFkb3c6IFx0XHRcdFx0XHRoc2woMCwgMCUsIDc1JSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtZGlzYWJsZWQtYmFja2dyb3VuZDogXHRcdFx0XHR0cmFuc3BhcmVudDtcblxuXHQtLWNrLWNvbG9yLWJ1dHRvbi1vbi1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgODclKTtcblx0LS1jay1jb2xvci1idXR0b24tb24taG92ZXItYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA3NyUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1vbi1hY3RpdmUtYmFja2dyb3VuZDogXHRcdFx0XHRcdGhzbCgwLCAwJSwgNzMlKTtcblx0LS1jay1jb2xvci1idXR0b24tb24tYWN0aXZlLXNoYWRvdzogXHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA2MyUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1vbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0aHNsKDAsIDAlLCA4NyUpO1xuXG5cdC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWFjdGlvbik7XG5cdC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi1ob3Zlci1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0aHNsKDEwNCwgNDQlLCA0MyUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tYWN0aXZlLWJhY2tncm91bmQ6IFx0XHRcdFx0aHNsKDEwNCwgNDQlLCA0MSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tYWN0aXZlLXNoYWRvdzogXHRcdFx0XHRcdGhzbCgxMDQsIDQ0JSwgMzYlKTtcblx0LS1jay1jb2xvci1idXR0b24tYWN0aW9uLWRpc2FibGVkLWJhY2tncm91bmQ6IFx0XHRcdFx0aHNsKDEwNCwgNDQlLCA1OCUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tdGV4dDogXHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cblx0LS1jay1jb2xvci1idXR0b24tc2F2ZTogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDEyMCwgMTAwJSwgMjclKTtcblx0LS1jay1jb2xvci1idXR0b24tY2FuY2VsOiBcdFx0XHRcdFx0XHRcdFx0XHRoc2woMTUsIDEwMCUsIDQzJSk7XG5cblx0LS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLW9mZi1iYWNrZ3JvdW5kOlx0XHRcdFx0XHRoc2woMCwgMCUsIDY5JSk7XG5cdC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vZmYtaG92ZXItYmFja2dyb3VuZDpcdFx0XHRcdGhzbCgwLCAwJSwgNjQlKTtcblx0LS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLW9uLWJhY2tncm91bmQ6XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLW9uLWhvdmVyLWJhY2tncm91bmQ6XHRcdFx0XHRoc2woMTA0LCA0NCUsIDQzJSk7XG5cdC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1pbm5lci1iYWNrZ3JvdW5kOlx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24taW5uZXItc2hhZG93Olx0XHRcdFx0XHRcdGhzbGEoMCwgMCUsIDAlLCAwLjEpO1xuXG5cdC8qIC0tIERyb3Bkb3duIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItZHJvcGRvd24tcGFuZWwtYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci1kcm9wZG93bi1wYW5lbC1ib3JkZXI6IFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXG5cdC8qIC0tIElucHV0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItaW5wdXQtYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3ItaW5wdXQtYm9yZGVyOiBcdFx0XHRcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDc4JSk7XG5cdC0tY2stY29sb3ItaW5wdXQtZXJyb3ItYm9yZGVyOlx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWVycm9yKTtcblx0LS1jay1jb2xvci1pbnB1dC10ZXh0OiBcdFx0XHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtdGV4dCk7XG5cdC0tY2stY29sb3ItaW5wdXQtZGlzYWJsZWQtYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA5NSUpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDc4JSk7XG5cdC0tY2stY29sb3ItaW5wdXQtZGlzYWJsZWQtdGV4dDogXHRcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDM2JSk7XG5cblx0LyogLS0gTGlzdCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1saXN0LWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci1saXN0LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWFjdGl2ZSk7XG5cdC0tY2stY29sb3ItbGlzdC1idXR0b24tb24tYmFja2dyb3VuZC1mb2N1czogXHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWFjdGl2ZS1mb2N1cyk7XG5cdC0tY2stY29sb3ItbGlzdC1idXR0b24tb24tdGV4dDpcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHQvKiAtLSBQYW5lbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLXBhbmVsLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXG5cdC8qIC0tIFRvb2xiYXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItdG9vbGJhci1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1mb3JlZ3JvdW5kKTtcblx0LS1jay1jb2xvci10b29sYmFyLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXG5cdC8qIC0tIFRvb2x0aXAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItdG9vbHRpcC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS10ZXh0KTtcblx0LS1jay1jb2xvci10b29sdGlwLXRleHQ6IFx0XHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cblx0LyogLS0gRW5naW5lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1lbmdpbmUtcGxhY2Vob2xkZXItdGV4dDogXHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA0NCUpO1xuXG5cdC8qIC0tIFVwbG9hZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItdXBsb2FkLWJhci1iYWNrZ3JvdW5kOlx0XHQgXHRcdFx0XHRcdGhzbCgyMDksIDkyJSwgNzAlKTtcblxuXHQvKiAtLSBMaW5rIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1saW5rLWRlZmF1bHQ6XHRcdFx0XHRcdFx0XHRcdFx0aHNsKDI0MCwgMTAwJSwgNDclKTtcblx0LS1jay1jb2xvci1saW5rLXNlbGVjdGVkLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdGhzbGEoMjAxLCAxMDAlLCA1NiUsIDAuMSk7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQvKipcblx0ICogQW4gb3BhY2l0eSB2YWx1ZSBvZiBkaXNhYmxlZCBVSSBpdGVtLlxuXHQgKi9cblx0LS1jay1kaXNhYmxlZC1vcGFjaXR5OiAuNTtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC8qKlxuXHQgKiBUaGUgZ2VvbWV0cnkgb2YgdGhlIG9mIGZvY3VzZWQgZWxlbWVudCdzIG91dGVyIHNoYWRvdy5cblx0ICovXG5cdC0tY2stZm9jdXMtb3V0ZXItc2hhZG93LWdlb21ldHJ5OiAwIDAgMCAzcHg7XG5cblx0LyoqXG5cdCAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIG91dGVyIHNoYWRvdy5cblx0ICovXG5cdC0tY2stZm9jdXMtb3V0ZXItc2hhZG93OiB2YXIoLS1jay1mb2N1cy1vdXRlci1zaGFkb3ctZ2VvbWV0cnkpIHZhcigtLWNrLWNvbG9yLWZvY3VzLXNoYWRvdyk7XG5cblx0LyoqXG5cdCAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIG91dGVyIHNoYWRvdyAod2hlbiBkaXNhYmxlZCkuXG5cdCAqL1xuXHQtLWNrLWZvY3VzLWRpc2FibGVkLW91dGVyLXNoYWRvdzogdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93LWdlb21ldHJ5KSB2YXIoLS1jay1jb2xvci1mb2N1cy1kaXNhYmxlZC1zaGFkb3cpO1xuXG5cdC8qKlxuXHQgKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBvdXRlciBzaGFkb3cgKHdoZW4gaGFzIGVycm9ycykuXG5cdCAqL1xuXHQtLWNrLWZvY3VzLWVycm9yLW91dGVyLXNoYWRvdzogdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93LWdlb21ldHJ5KSB2YXIoLS1jay1jb2xvci1mb2N1cy1lcnJvci1zaGFkb3cpO1xuXG5cdC8qKlxuXHQgKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBib3JkZXIgb3Igb3V0bGluZS5cblx0ICovXG5cdC0tY2stZm9jdXMtcmluZzogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWZvbnQtc2l6ZS1iYXNlOiAxM3B4O1xuXHQtLWNrLWxpbmUtaGVpZ2h0LWJhc2U6IDEuODQ2MTU7XG5cdC0tY2stZm9udC1mYWNlOiBIZWx2ZXRpY2EsIEFyaWFsLCBUYWhvbWEsIFZlcmRhbmEsIFNhbnMtU2VyaWY7XG5cblx0LS1jay1mb250LXNpemUtdGlueTogMC43ZW07XG5cdC0tY2stZm9udC1zaXplLXNtYWxsOiAwLjc1ZW07XG5cdC0tY2stZm9udC1zaXplLW5vcm1hbDogMWVtO1xuXHQtLWNrLWZvbnQtc2l6ZS1iaWc6IDEuNGVtO1xuXHQtLWNrLWZvbnQtc2l6ZS1sYXJnZTogMS44ZW07XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQvKiBUaGlzIGlzIHN1cGVyLWltcG9ydGFudC4gVGhpcyBpcyAqKm1hbnVhbGx5KiogYWRqdXN0ZWQgc28gYSBidXR0b24gd2l0aG91dCBhbiBpY29uXG5cdGlzIG5ldmVyIHNtYWxsZXIgdGhhbiBhIGJ1dHRvbiB3aXRoIGljb24sIGFkZGl0aW9uYWxseSBtYWtpbmcgc3VyZSB0aGF0IHRleHQtbGVzcyBidXR0b25zXG5cdGFyZSBwZXJmZWN0IHNxdWFyZXMuIFRoZSB2YWx1ZSBpcyBhbHNvIHNoYXJlZCBieSBvdGhlciBjb21wb25lbnRzIHdoaWNoIHNob3VsZCBzdGF5IFwiaW4tbGluZVwiXG5cdHdpdGggYnV0dG9ucy4gKi9cblx0LS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodDogMi4zZW07XG59XG5cbi8qKlxuICogUmVzZXRzIGFuIGVsZW1lbnQsIGlnbm9yaW5nIGl0cyBjaGlsZHJlbi5cbiAqL1xuXG4uY2suY2stcmVzZXQsXG4uY2suY2stcmVzZXRfYWxsLFxuLmNrLmNrLXJlc2V0X2FsbCAqIHtcblx0LyogRG8gbm90IGluY2x1ZGUgaW5oZXJpdGFibGUgcnVsZXMgaGVyZS4gKi9cblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHRyYW5zaXRpb246IG5vbmU7XG5cblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy8xMDUgKi9cblx0d29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKipcbiAqIFJlc2V0cyBhbiBlbGVtZW50IEFORCBpdHMgY2hpbGRyZW4uXG4gKi9cblxuLmNrLmNrLXJlc2V0X2FsbCxcbi5jay5jay1yZXNldF9hbGwgKiB7XG5cdC8qIFRoZXNlIGFyZSBydWxlIGluaGVyaXRlZCBieSBhbGwgY2hpbGRyZW4gZWxlbWVudHMuICovXG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIHZhcigtLWNrLWZvbnQtc2l6ZS1iYXNlKS92YXIoLS1jay1saW5lLWhlaWdodC1iYXNlKSB2YXIoLS1jay1mb250LWZhY2UpO1xuXHRjb2xvcjogdmFyKC0tY2stY29sb3ItdGV4dCk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGN1cnNvcjogYXV0bztcblx0ZmxvYXQ6IG5vbmU7XG59XG5cbi5jay5jay1yZXNldF9hbGwgLmNrLXJ0bCAqIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG4uY2suY2stcmVzZXRfYWxsIGlmcmFtZSB7XG5cdFx0LyogRm9yIElFICovXG5cdFx0dmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG5cdH1cblxuLmNrLmNrLXJlc2V0X2FsbCB0ZXh0YXJlYSB7XG5cdFx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xuXHR9XG5cbi5jay5jay1yZXNldF9hbGwgdGV4dGFyZWEsXG5cdC5jay5jay1yZXNldF9hbGwgaW5wdXRbdHlwZT1cInRleHRcIl0sXG5cdC5jay5jay1yZXNldF9hbGwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcblx0XHRjdXJzb3I6IHRleHQ7XG5cdH1cblxuLmNrLmNrLXJlc2V0X2FsbCB0ZXh0YXJlYVtkaXNhYmxlZF0sXG5cdC5jay5jay1yZXNldF9hbGwgaW5wdXRbdHlwZT1cInRleHRcIl1bZGlzYWJsZWRdLFxuXHQuY2suY2stcmVzZXRfYWxsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtkaXNhYmxlZF0ge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxuXG4uY2suY2stcmVzZXRfYWxsIGZpZWxkc2V0IHtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdGJvcmRlcjogMnB4IGdyb292ZSBoc2woMjU1LCA3JSwgODglKTtcblx0fVxuXG4uY2suY2stcmVzZXRfYWxsIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdFx0LyogU2VlIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNTUxNzc0NC9yZW1vdmUtZXh0cmEtYnV0dG9uLXNwYWNpbmctcGFkZGluZy1pbi1maXJlZm94ICovXG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXI6IDBcblx0fVxuXG4vKipcbiAqIERlZmF1bHQgVUkgcnVsZXMgZm9yIFJUTCBsYW5ndWFnZXMuXG4gKi9cblxuLmNrW2Rpcj1cInJ0bFwiXSxcbi5ja1tkaXI9XCJydGxcIl0gLmNrIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBEZWZhdWx0IGJvcmRlci1yYWRpdXMgdmFsdWUuXG4gKi9cblxuOnJvb3R7XG5cdC0tY2stYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LyoqXG5cdCAqIEEgdmlzdWFsIHN0eWxlIG9mIGVsZW1lbnQncyBpbm5lciBzaGFkb3cgKGkuZS4gaW5wdXQpLlxuXHQgKi9cblx0LS1jay1pbm5lci1zaGFkb3c6IDJweCAycHggM3B4IHZhcigtLWNrLWNvbG9yLXNoYWRvdy1pbm5lcikgaW5zZXQ7XG5cblx0LyoqXG5cdCAqIEEgdmlzdWFsIHN0eWxlIG9mIGVsZW1lbnQncyBkcm9wIHNoYWRvdyAoaS5lLiBwYW5lbCkuXG5cdCAqL1xuXHQtLWNrLWRyb3Atc2hhZG93OiAwIDFweCAycHggMXB4IHZhcigtLWNrLWNvbG9yLXNoYWRvdy1kcm9wKTtcblxuXHQvKipcblx0ICogQSB2aXN1YWwgc3R5bGUgb2YgZWxlbWVudCdzIGFjdGl2ZSBzaGFkb3cgKGkuZS4gY29tbWVudCBvciBzdWdnZXN0aW9uKS5cblx0ICovXG5cdC0tY2stZHJvcC1zaGFkb3ctYWN0aXZlOiAwIDNweCA2cHggMXB4IHZhcigtLWNrLWNvbG9yLXNoYWRvdy1kcm9wLWFjdGl2ZSk7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLXNwYWNpbmctdW5pdDogXHRcdFx0XHRcdFx0MC42ZW07XG5cdC0tY2stc3BhY2luZy1sYXJnZTogXHRcdFx0XHRcdGNhbGModmFyKC0tY2stc3BhY2luZy11bml0KSAqIDEuNSk7XG5cdC0tY2stc3BhY2luZy1zdGFuZGFyZDogXHRcdFx0XHRcdHZhcigtLWNrLXNwYWNpbmctdW5pdCk7XG5cdC0tY2stc3BhY2luZy1tZWRpdW06IFx0XHRcdFx0XHRjYWxjKHZhcigtLWNrLXNwYWNpbmctdW5pdCkgKiAwLjgpO1xuXHQtLWNrLXNwYWNpbmctc21hbGw6IFx0XHRcdFx0XHRjYWxjKHZhcigtLWNrLXNwYWNpbmctdW5pdCkgKiAwLjUpO1xuXHQtLWNrLXNwYWNpbmctdGlueTogXHRcdFx0XHRcdFx0Y2FsYyh2YXIoLS1jay1zcGFjaW5nLXVuaXQpICogMC4zKTtcblx0LS1jay1zcGFjaW5nLWV4dHJhLXRpbnk6IFx0XHRcdFx0Y2FsYyh2YXIoLS1jay1zcGFjaW5nLXVuaXQpICogMC4xNik7XG59XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXVpXFx0aGVtZVxcY29tcG9uZW50c1xcaWNvblxcaWNvbi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2staWNvbiB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcaWNvblxcaWNvbi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2staWNvbi1zaXplOiBjYWxjKHZhcigtLWNrLWxpbmUtaGVpZ2h0LWJhc2UpICogdmFyKC0tY2stZm9udC1zaXplLW5vcm1hbCkpO1xufVxuXG4uY2suY2staWNvbiB7XG5cdHdpZHRoOiB2YXIoLS1jay1pY29uLXNpemUpO1xuXHRoZWlnaHQ6IHZhcigtLWNrLWljb24tc2l6ZSk7XG5cblx0LyogTXVsdGlwbGllZCBieSB0aGUgaGVpZ2h0IG9mIHRoZSBsaW5lIGluIFwicHhcIiBzaG91bGQgZ2l2ZSBTVkcgXCJ2aWV3cG9ydFwiIGRpbWVuc2lvbnMgKi9cblx0Zm9udC1zaXplOiAuODMzMzM1MDY5NGVtO1xuXG5cdGNvbG9yOiBpbmhlcml0O1xuXG5cdC8qIEluaGVyaXQgY3Vyc29yIHN0eWxlICgjNSkuICovXG5cdGN1cnNvcjogaW5oZXJpdDtcblxuXHQvKiBUaGlzIHdpbGwgcHJldmVudCBibHVycnkgaWNvbnMgb24gRmlyZWZveC4gU2VlICMzNDAuICovXG5cdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm1cbn1cblxuLmNrLmNrLWljb24gKiB7XG5cdFx0LyogSW5oZXJpdCBjdXJzb3Igc3R5bGUgKCM1KS4gKi9cblx0XHRjdXJzb3I6IGluaGVyaXQ7XG5cblx0XHQvKiBBbGxvd3MgZHluYW1pYyBjb2xvcmluZyBvZiB0aGUgaWNvbnMuICovXG5cdFx0Y29sb3I6IGluaGVyaXRcblx0fVxuXG4uY2suY2staWNvbiAqOm5vdChbZmlsbF0pIHtcblx0XHRcdFx0LyogTmVlZGVkIGJ5IEZGLiAqL1xuXHRcdFx0XHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdFx0fVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS13aWRnZXRcXHRoZW1lXFx3aWRnZXQuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLXJlc2l6ZXI6IHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG5cdC0tY2stcmVzaXplci1zaXplOiAxMHB4O1xuXHQtLWNrLXJlc2l6ZXItYm9yZGVyLXdpZHRoOiAxcHg7XG5cdC0tY2stcmVzaXplci1ib3JkZXItcmFkaXVzOiAycHg7XG5cblx0LyogU2V0IHJlc2l6ZXIgd2l0aCA1MCUgb2Zmc2V0LiAqL1xuXHQtLWNrLXJlc2l6ZXItb2Zmc2V0OiBjYWxjKCAoIHZhcigtLWNrLXJlc2l6ZXItc2l6ZSkgLyAtMiApIC0gMnB4KTtcblxuXHQtLWNrLXJlc2l6ZXItdG9vbHRpcC1vZmZzZXQ6IDEwcHg7XG5cdC0tY2stY29sb3ItcmVzaXplci10b29sdGlwLWJhY2tncm91bmQ6IGhzbCgwLCAwJSwgMTUlKTtcblx0LS1jay1jb2xvci1yZXNpemVyLXRvb2x0aXAtdGV4dDogaHNsKDAsIDAlLCA5NSUpO1xufVxuXG4uY2sgLmNrLXdpZGdldF93aXRoLXJlc2l6ZXIge1xuXHQvKiBNYWtlIHRoZSB3aWRnZXQgd3JhcHBlciBhIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGNvbnRhaW5lciBmb3IgdGhlIGRyYWcgaGFuZGxlLiAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jayAuY2std2lkZ2V0X19yZXNpemVyIHtcblx0ZGlzcGxheTogbm9uZTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdC8qIFRoZSB3cmFwcGVyIGl0c2VsZiBzaG91bGQgbm90IGludGVyZmVyZSB3aXRoIHBvaW50ZXIgZGV2aWNlLCBvbmx5IHRoZSBoYW5kbGVzLiAqL1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cblx0b3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLXJlc2l6ZXIpO1xufVxuXG4uY2stZm9jdXNlZCAuY2std2lkZ2V0X3dpdGgtcmVzaXplci5jay13aWRnZXRfc2VsZWN0ZWQgPiAuY2std2lkZ2V0X19yZXNpemVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG4uY2sgLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdC8qIFJlc2l6ZXJzIGFyZSB0aGUgb25seSBVSSBlbGVtZW50cyB0aGF0IHNob3VsZCBpbnRlcmZlcmUgd2l0aCBwb2ludGVyIGRldmljZS4gKi9cblx0cG9pbnRlci1ldmVudHM6IGFsbDtcblxuXHR3aWR0aDogdmFyKC0tY2stcmVzaXplci1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jay1yZXNpemVyLXNpemUpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHRib3JkZXI6IHZhcigtLWNrLXJlc2l6ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCAjZmZmO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1yZXNpemVyLWJvcmRlci1yYWRpdXMpXG59XG5cbi5jayAuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUtdG9wLWxlZnQge1xuXHRcdHRvcDogdmFyKCAtLWNrLXJlc2l6ZXItb2Zmc2V0ICk7XG5cdFx0bGVmdDogdmFyKCAtLWNrLXJlc2l6ZXItb2Zmc2V0ICk7XG5cdFx0Y3Vyc29yOiBud3NlLXJlc2l6ZTtcblx0fVxuXG4uY2sgLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLXRvcC1yaWdodCB7XG5cdFx0dG9wOiB2YXIoIC0tY2stcmVzaXplci1vZmZzZXQgKTtcblx0XHRyaWdodDogdmFyKCAtLWNrLXJlc2l6ZXItb2Zmc2V0ICk7XG5cdFx0Y3Vyc29yOiBuZXN3LXJlc2l6ZTtcblx0fVxuXG4uY2sgLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLWJvdHRvbS1yaWdodCB7XG5cdFx0Ym90dG9tOiB2YXIoIC0tY2stcmVzaXplci1vZmZzZXQgKTtcblx0XHRyaWdodDogdmFyKCAtLWNrLXJlc2l6ZXItb2Zmc2V0ICk7XG5cdFx0Y3Vyc29yOiBud3NlLXJlc2l6ZTtcblx0fVxuXG4uY2sgLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLWJvdHRvbS1sZWZ0IHtcblx0XHRib3R0b206IHZhciggLS1jay1yZXNpemVyLW9mZnNldCApO1xuXHRcdGxlZnQ6IHZhciggLS1jay1yZXNpemVyLW9mZnNldCApO1xuXHRcdGN1cnNvcjogbmVzdy1yZXNpemU7XG5cdH1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZXIge1xuXHQvKiBNYWtlIHRoZSB3aWRnZXQgd3JhcHBlciBhIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGNvbnRhaW5lciBmb3IgdGhlIGRyYWcgaGFuZGxlci4gKi9cblx0cG9zaXRpb246IHJlbGF0aXZlXG5cblx0LyogU2hvdyB0aGUgc2VsZWN0aW9uIGhhbmRsZXIgb24gbW91c2UgaG92ZXIgb3ZlciB0aGUgd2lkZ2V0LiAqL1xufVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlcjpob3ZlciAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlciB7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdH1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZXIgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZVxuXHR9XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGVyIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGVyIC5jay1pY29uIHtcblx0XHRcdC8qIE1ha2Ugc3VyZSB0aGUgaWNvbiBpbiBub3QgYSBzdWJqZWN0IHRvIGZvbnQtc2l6ZS9saW5lLWhlaWdodCB0byBhdm9pZFxuXHRcdFx0dW5uZWNlc3Nhcnkgc3BhY2luZyBhcm91bmQgaXQuICovXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGVyIHtcblxuXHQvKiBTaG93IHRoZSBzZWxlY3Rpb24gaGFuZGxlciB3aGVuIHRoZSB3aWRnZXQgaXMgc2VsZWN0ZWQuICovXG59XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGVyLmNrLXdpZGdldF9zZWxlY3RlZCAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlciB7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxuXG4uY2sgLmNrLXNpemUtdmlldyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXJlc2l6ZXItdG9vbHRpcC1iYWNrZ3JvdW5kKTtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXJlc2l6ZXItdG9vbHRpcC10ZXh0KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItcmVzaXplci10b29sdGlwLXRleHQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1yZXNpemVyLWJvcmRlci1yYWRpdXMpO1xuXHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS10aW55KTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpXG59XG5cbi5jayAuY2stc2l6ZS12aWV3LmNrLW9yaWVudGF0aW9uLXRvcC1sZWZ0LFxuXHQuY2sgLmNrLXNpemUtdmlldy5jay1vcmllbnRhdGlvbi10b3AtcmlnaHQsXG5cdC5jayAuY2stc2l6ZS12aWV3LmNrLW9yaWVudGF0aW9uLWJvdHRvbS1yaWdodCxcblx0LmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tYm90dG9tLWxlZnQge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxuXG4uY2sgLmNrLXNpemUtdmlldy5jay1vcmllbnRhdGlvbi10b3AtbGVmdCB7XG5cdFx0dG9wOiB2YXIoIC0tY2stcmVzaXplci10b29sdGlwLW9mZnNldCApO1xuXHRcdGxlZnQ6IHZhciggLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0ICk7XG5cdH1cblxuLmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tdG9wLXJpZ2h0IHtcblx0XHR0b3A6IHZhciggLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0ICk7XG5cdFx0cmlnaHQ6IHZhciggLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0ICk7XG5cdH1cblxuLmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tYm90dG9tLXJpZ2h0IHtcblx0XHRib3R0b206IHZhciggLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0ICk7XG5cdFx0cmlnaHQ6IHZhciggLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0ICk7XG5cdH1cblxuLmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tYm90dG9tLWxlZnQge1xuXHRcdGJvdHRvbTogdmFyKCAtLWNrLXJlc2l6ZXItdG9vbHRpcC1vZmZzZXQgKTtcblx0XHRsZWZ0OiB2YXIoIC0tY2stcmVzaXplci10b29sdGlwLW9mZnNldCApO1xuXHR9XG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS13aWRnZXRcXHdpZGdldC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSB2aXN1YWwgc3R5bGUgb2YgZm9jdXNlZCBlbGVtZW50J3MgYm9yZGVyLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIGhlbHBlciB0byBjb21iaW5lIG11bHRpcGxlIHNoYWRvd3MuXG4gKi9cblxuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG5cbjpyb290IHtcblx0LS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3M6IDNweDtcblx0LS1jay13aWRnZXQtaGFuZGxlci1pY29uLXNpemU6IDE2cHg7XG5cdC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDBtcztcblx0LS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmU6IGVhc2U7XG5cblx0LS1jay1jb2xvci13aWRnZXQtYmx1cnJlZC1ib3JkZXI6IGhzbCgwLCAwJSwgODclKTtcblx0LS1jay1jb2xvci13aWRnZXQtaG92ZXItYm9yZGVyOiBoc2woNDMsIDEwMCUsIDYyJSk7XG5cdC0tY2stY29sb3Itd2lkZ2V0LWVkaXRhYmxlLWZvY3VzLWJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3Itd2lkZ2V0LWRyYWctaGFuZGxlci1pY29uLWNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xufVxuXG4uY2sgLmNrLXdpZGdldCB7XG5cdG91dGxpbmUtd2lkdGg6IHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcyk7XG5cdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogb3V0bGluZS1jb2xvciB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSlcbn1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkLFxuXHQuY2sgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQ6aG92ZXIge1xuXHRcdG91dGxpbmU6IHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcykgc29saWQgdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcblx0fVxuXG4uY2sgLmNrLXdpZGdldDpob3ZlciB7XG5cdFx0b3V0bGluZS1jb2xvcjogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWhvdmVyLWJvcmRlcik7XG5cdH1cblxuLmNrIC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50XG5cblx0LyogVGhlIDpmb2N1cyBzdHlsZSBpcyBhcHBsaWVkIGJlZm9yZSAuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGVfZm9jdXNlZCBjbGFzcyBpcyByZW5kZXJlZCBpbiB0aGUgdmlldy5cblx0VGhlc2Ugc3R5bGVzIHNob3cgYSBkaWZmZXJlbnQgYm9yZGVyIGZvciBhIGJsaW5rIG9mIGFuIGV5ZSwgc28gYDpmb2N1c2AgbmVlZCB0byBoYXZlIHNhbWUgc3R5bGVzIGFwcGxpZWQuICovXG59XG5cbi5jayAuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGUuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGVfZm9jdXNlZCxcblx0LmNrIC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZTpmb2N1cyB7XG5cdFx0LyogRGlzYWJsZSBuYXRpdmUgb3V0bGluZS4gKi9cblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlcjogdmFyKC0tY2stZm9jdXMtcmluZyk7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tY2staW5uZXItc2hhZG93KSwgMCAwO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWVkaXRhYmxlLWZvY3VzLWJhY2tncm91bmQpO1xuXHR9XG5cbi5jay1lZGl0b3JfX2VkaXRhYmxlID4gLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlcjpmaXJzdC1jaGlsZCxcbi5jay1lZGl0b3JfX2VkaXRhYmxlIGJsb2NrcXVvdGUgPiAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGVyOmZpcnN0LWNoaWxkIHtcblx0LyogRG8gbm90IGNyb3Agc2VsZWN0aW9uIGhhbmRsZXIgaWYgYSB3aWRnZXQgaXMgYSBmaXJzdC1jaGlsZCBpbiB0aGUgYmxvY2txdW90ZSBvciBpbiB0aGUgcm9vdCBlZGl0YWJsZS5cblx0SW4gZmFjdCwgYW55dGhpbmcgd2l0aCBvdmVyZmxvdzogaGlkZGVuLlxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWJsb2NrLXF1b3RlL2lzc3Vlcy8yOFxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXdpZGdldC9pc3N1ZXMvNDRcblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS13aWRnZXQvaXNzdWVzLzY2ICovXG5cdG1hcmdpbi10b3A6IGNhbGMoMWVtICsgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItaWNvbi1zaXplKSk7XG59XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGVyIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGVyIHtcblx0XHRwYWRkaW5nOiA0cHg7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRcdC8qIEJhY2tncm91bmQgYW5kIG9wYWNpdHkgd2lsbCBiZSBhbmltYXRlZCBhcyB0aGUgaGFuZGxlciBzaG93cyB1cCBvciB0aGUgd2lkZ2V0IGdldHMgc2VsZWN0ZWQuICovXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0b3BhY2l0eTogMDtcblxuXHRcdC8qIFRyYW5zaXRpb246XG5cdFx0ICAgKiBiYWNrZ3JvdW5kLWNvbG9yIGZvciB0aGUgLmNrLXdpZGdldF9zZWxlY3RlZCBzdGF0ZSBjaGFuZ2UsXG5cdFx0ICAgKiB2aXNpYmlsaXR5IGZvciBoaWRpbmcgdGhlIGhhbmRsZXIsXG5cdFx0ICAgKiBvcGFjaXR5IGZvciB0aGUgcHJvcGVyIGxvb2sgb2YgdGhlIGljb24gd2hlbiB0aGUgaGFuZGxlciBkaXNhcHBlYXJzLiAqL1xuXHRcdHRyYW5zaXRpb246XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWN1cnZlKSxcblx0XHRcdHZpc2liaWxpdHkgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmUpLFxuXHRcdFx0b3BhY2l0eSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSk7XG5cblx0XHQvKiBNYWtlIG9ubHkgdG9wIGNvcm5lcnMgcm91bmQuICovXG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cykgdmFyKC0tY2stYm9yZGVyLXJhZGl1cykgMCAwO1xuXG5cdFx0LyogUGxhY2UgdGhlIGRyYWcgaGFuZGxlciBvdXRzaWRlIHRoZSB3aWRnZXQgd3JhcHBlci4gKi9cblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHRcdGxlZnQ6IGNhbGMoMHB4IC0gdmFyKC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzKSlcblxuXHRcdC8qIEFkdmVydGlzZSB1c2luZyB0aGUgbG9vayBvZiB0aGUgaWNvbiB0aGF0IG9uY2UgY2xpY2tlZCB0aGUgaGFuZGxlciwgdGhlIHdpZGdldCB3aWxsIGJlIHNlbGVjdGVkLiAqL1xuXHR9XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGVyIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGVyOmhvdmVyIC5jay1pY29uIC5jay1pY29uX19zZWxlY3RlZC1pbmRpY2F0b3Ige1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGVyIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGVyIC5jay1pY29uIHtcblx0XHRcdC8qIE1ha2Ugc3VyZSB0aGUgZGltZW5zaW9ucyBvZiB0aGUgaWNvbiBhcmUgaW5kZXBlbmRlbnQgb2YgdGhlIGZvbi1zaXplIG9mIHRoZSBjb250ZW50LiAqL1xuXHRcdFx0d2lkdGg6IHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWljb24tc2l6ZSk7XG5cdFx0XHRoZWlnaHQ6IHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWljb24tc2l6ZSk7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWRyYWctaGFuZGxlci1pY29uLWNvbG9yKVxuXG5cdFx0XHQvKiBUaGUgXCJzZWxlY3RlZFwiIHBhcnQgb2YgdGhlIGljb24gaXMgaW52aXNpYmxlIGJ5IGRlZmF1bHQgKi9cblx0XHR9XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGVyIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGVyIC5jay1pY29uIC5jay1pY29uX19zZWxlY3RlZC1pbmRpY2F0b3Ige1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXG5cdFx0XHRcdC8qIE5vdGU6IFRoZSBhbmltYXRpb24gaXMgbG9uZ2VyIG9uIHB1cnBvc2UuIFNpbXBseSBmZWVscyBiZXR0ZXIuICovXG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWN1cnZlKTtcblx0XHRcdH1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZXIge1xuXG5cdC8qIFNob3cgdGhlIHNlbGVjdGlvbiBoYW5kbGVyIHdoZW4gdGhlIHdpZGdldCBpcyBzZWxlY3RlZC4gKi9cbn1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZXIuY2std2lkZ2V0X3NlbGVjdGVkIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGVyLCAuY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlci5jay13aWRnZXRfc2VsZWN0ZWQ6aG92ZXIgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZXIge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcilcblxuXHRcdFx0LyogV2hlbiB0aGUgd2lkZ2V0IGlzIHNlbGVjdGVkLCBub3RpZnkgdGhlIHVzZXIgdXNpbmcgdGhlIHByb3BlciBsb29rIG9mIHRoZSBpY29uLiAqL1xuXHRcdH1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZXIuY2std2lkZ2V0X3NlbGVjdGVkIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGVyIC5jay1pY29uIC5jay1pY29uX19zZWxlY3RlZC1pbmRpY2F0b3IsIC5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGVyLmNrLXdpZGdldF9zZWxlY3RlZDpob3ZlciAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlciAuY2staWNvbiAuY2staWNvbl9fc2VsZWN0ZWQtaW5kaWNhdG9yIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZXIge1xuXG5cdC8qIFNob3cgdGhlIHNlbGVjdGlvbiBoYW5kbGVyIG9uIG1vdXNlIGhvdmVyIG92ZXIgdGhlIHdpZGdldC4gKi9cbn1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZXI6aG92ZXIgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZXIge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWhvdmVyLWJvcmRlcik7XG5cdH1cblxuLyogSW4gYSBSVEwgZW52aXJvbm1lbnQsIGFsaWduIHRoZSBzZWxlY3Rpb24gaGFuZGxlciB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgd2lkZ2V0ICovXG5cbi5ja1tkaXI9XCJydGxcIl0gLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlciAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlciB7XG5cdGxlZnQ6IGF1dG87XG5cdHJpZ2h0OiBjYWxjKDBweCAtIHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcykpO1xufVxuXG4vKiBTdHlsZSB0aGUgd2lkZ2V0IHdoZW4gaXQncyBzZWxlY3RlZCBidXQgdGhlIGVkaXRhYmxlIGl0IGJlbG9uZ3MgdG8gbG9zdCBmb2N1cy4gKi9cblxuLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stYmx1cnJlZCAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZCxcblx0LmNrLWVkaXRvcl9fZWRpdGFibGUuY2stYmx1cnJlZCAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZDpob3ZlciB7XG5cdFx0b3V0bGluZS1jb2xvcjogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWJsdXJyZWQtYm9yZGVyKVxuXHR9XG5cbi5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWJsdXJyZWQgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZXIsXG5cdFx0LmNrLWVkaXRvcl9fZWRpdGFibGUuY2stYmx1cnJlZCAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZCAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlcjpob3Zlcixcblx0XHQuY2stZWRpdG9yX19lZGl0YWJsZS5jay1ibHVycmVkIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGVyLFxuXHRcdC5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWJsdXJyZWQgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQ6aG92ZXIgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZXI6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWJsdXJyZWQtYm9yZGVyKTtcblx0XHR9XG5cbi5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLXJlYWQtb25seSAuY2std2lkZ2V0IHtcblx0LyogRGlzYWJsZSB2aXN1YWwgZWZmZWN0cyBvZiBob3Zlci9hY3RpdmUgd2lkZ2V0IHdoZW4gQ0tFZGl0b3IgaXMgaW4gcmVhZE9ubHkgbW9kZS5cblx0U2VlOiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xMjYxICovXG5cdC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzOiAwO1xufVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGNvbXBvbmVudHNcXHRvb2x0aXBcXHRvb2x0aXAuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXRvb2x0aXAsXG4uY2suY2stdG9vbHRpcCAuY2stdG9vbHRpcF9fdGV4dDo6YWZ0ZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0LyogV2l0aG91dCB0aGlzLCBob3ZlcmluZyB0aGUgdG9vbHRpcCBjb3VsZCBrZWVwIGl0IHZpc2libGUuICovXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdC8qIFRoaXMgaXMgdG8gZ2V0IHJpZCBvZiBmbGlja2VyaW5nIHdoZW4gdHJhbnNpdGlvbmluZyBvcGFjaXR5IGluIENocm9tZS5cblx0SXQncyB3ZWlyZCBidXQgaXQgd29ya3MuICovXG5cdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uY2stdG9vbHRpcCB7XG5cdC8qIFRvb2x0aXAgaXMgaGlkZGVuIGJ5IGRlZmF1bHQuICovXG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0b3BhY2l0eTogMDtcblx0ZGlzcGxheTogbm9uZTtcblx0ei1pbmRleDogdmFyKC0tY2stei1tb2RhbClcbn1cblxuLmNrLXRvb2x0aXAgLmNrLXRvb2x0aXBfX3RleHQge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9ja1xuXHR9XG5cbi5jay10b29sdGlwIC5jay10b29sdGlwX190ZXh0OjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0fVxuXG4vKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGNvbXBvbmVudHNcXHRvb2x0aXBcXHRvb2x0aXAuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stdG9vbHRpcC1hcnJvdy1zaXplOiA1cHg7XG59XG5cbi5jay5jay10b29sdGlwIHtcblx0bGVmdDogNTAlO1xuXG5cdC8qXG5cdCAqIFByZXZlbnQgYmx1cnJ5IHRvb2x0aXBzIGluIExvRFBJIGVudmlyb25tZW50cy5cblx0ICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE4MDIuXG5cdCAqL1xuXHR0b3A6IDBcblxuXHQvKipcblx0ICogQSBjbGFzcyBvbmNlIGFwcGxpZWQgZGlzcGxheXMgdGhlIHRvb2x0aXAgc291dGggb2YgdGhlIGVsZW1lbnQuXG5cdCAqXG5cdCAqICAgICAgIFtlbGVtZW50XVxuXHQgKiAgICAgICAgICAgXlxuXHQgKiAgICAgKy0tLS0tLS0tLS0tK1xuXHQgKiAgICAgfCAgVG9vbHRpcCAgfFxuXHQgKiAgICAgKy0tLS0tLS0tLS0tK1xuXHQgKi9cbn1cblxuLmNrLmNrLXRvb2x0aXAuY2stdG9vbHRpcF9zIHtcblx0XHRib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jay10b29sdGlwLWFycm93LXNpemUpKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIDEwMCUgKVxuXHR9XG5cbi5jay5jay10b29sdGlwLmNrLXRvb2x0aXBfcyAuY2stdG9vbHRpcF9fdGV4dDo6YWZ0ZXIge1xuXHRcdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2stdG9vbHRpcC1hcnJvdy1zaXplKSk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIC01MCUgKTtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tY2stY29sb3ItdG9vbHRpcC1iYWNrZ3JvdW5kKSB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci13aWR0aDogMCB2YXIoLS1jay10b29sdGlwLWFycm93LXNpemUpIHZhcigtLWNrLXRvb2x0aXAtYXJyb3ctc2l6ZSkgdmFyKC0tY2stdG9vbHRpcC1hcnJvdy1zaXplKTtcblx0XHR9XG5cbi5jay5jay10b29sdGlwIHtcblxuXHQvKipcblx0ICogQSBjbGFzcyBvbmNlIGFwcGxpZWQgZGlzcGxheXMgdGhlIHRvb2x0aXAgbm9ydGggb2YgdGhlIGVsZW1lbnQuXG5cdCAqXG5cdCAqICAgICArLS0tLS0tLS0tLS0rXG5cdCAqICAgICB8ICBUb29sdGlwICB8XG5cdCAqICAgICArLS0tLS0tLS0tLS0rXG5cdCAqICAgICAgICAgICBWXG5cdCAqICAgICAgIFtlbGVtZW50XVxuXHQgKi9cbn1cblxuLmNrLmNrLXRvb2x0aXAuY2stdG9vbHRpcF9uIHtcblx0XHR0b3A6IGNhbGMoLTEgKiB2YXIoLS1jay10b29sdGlwLWFycm93LXNpemUpKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC0xMDAlIClcblx0fVxuXG4uY2suY2stdG9vbHRpcC5jay10b29sdGlwX24gLmNrLXRvb2x0aXBfX3RleHQ6OmFmdGVyIHtcblx0XHRcdGJvdHRvbTogY2FsYygtMSAqIHZhcigtLWNrLXRvb2x0aXAtYXJyb3ctc2l6ZSkpO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCAtNTAlICk7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLXRvb2x0aXAtYmFja2dyb3VuZCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXItd2lkdGg6IHZhcigtLWNrLXRvb2x0aXAtYXJyb3ctc2l6ZSkgdmFyKC0tY2stdG9vbHRpcC1hcnJvdy1zaXplKSAwIHZhcigtLWNrLXRvb2x0aXAtYXJyb3ctc2l6ZSk7XG5cdFx0fVxuXG4uY2suY2stdG9vbHRpcCAuY2stdG9vbHRpcF9fdGV4dCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMFxuXHR9XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLXRvb2x0aXAgLmNrLXRvb2x0aXBfX3RleHQsIC5jay5jay10b29sdGlwIC5jay10b29sdGlwX190ZXh0LmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cylcblx0fVxuXG4uY2suY2stdG9vbHRpcCAuY2stdG9vbHRpcF9fdGV4dCB7XG5cblx0XHRmb250LXNpemU6IC45ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItdG9vbHRpcC10ZXh0KTtcblx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKSB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItdG9vbHRpcC1iYWNrZ3JvdW5kKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bGVmdDogLTUwJVxuXHR9XG5cbi5jay5jay10b29sdGlwIC5jay10b29sdGlwX190ZXh0OjphZnRlciB7XG5cdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdH1cblxuLmNrLmNrLXRvb2x0aXAsXG4uY2suY2stdG9vbHRpcCAuY2stdG9vbHRpcF9fdGV4dDo6YWZ0ZXIge1xuXHQvKiBGb3IgdGhlIHRyYW5zaXRpb24gdG8gd29yaywgdGhlIHRvb2x0aXAgbXVzdCBiZSBjb250cm9sbGVkXG5cdHVzaW5nIHZpc2liaWxpdHkrb3BhY2l0eS4gQSBkZWxheSBwcmV2ZW50cyBhIFwidG9vbHRpcCBhdmFsYW5jaGVcIlxuXHRpLmUuIHdoZW4gc2Nhbm5pbmcgdGhlIHRvb2xiYXIgd2l0aCBtb3VzZSBjdXJzb3IuICovXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0IC4ycztcbn1cbiIsIi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxidXR0b25cXGJ1dHRvbi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogTWFrZXMgZWxlbWVudCB1bnNlbGVjdGFibGUuXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEVuYWJsZXMgdGhlIHRvb2x0aXAsIHdoaWNoIGlzIHRoZSB0b29sdGlwIGlzIGluIERPTSBidXRcbiAqIG5vdCB5ZXQgZGlzcGxheWVkLlxuICovXG5cbi8qKlxuICogRGlzYWJsZXMgdGhlIHRvb2x0aXAgbWFraW5nIGl0IGRpc2FwcGVhciBmcm9tIERPTS5cbiAqL1xuXG4vKipcbiAqIFNob3dzIHRoZSB0b29sdGlwLCB3aGljaCBpcyBhbHJlYWR5IGluIERPTS5cbiAqIFJlcXVpcmVzIGBjay10b29sdGlwX2VuYWJsZWRgIGZpcnN0LlxuICovXG5cbi5jay5jay1idXR0b24sXG5hLmNrLmNrLWJ1dHRvbiB7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmVcbn1cblxuLmNrLmNrLWJ1dHRvbiAuY2stdG9vbHRpcCwgYS5jay5jay1idXR0b24gLmNrLXRvb2x0aXAge1xuXHRcdGRpc3BsYXk6IGJsb2NrXG5cblx0XHQvKlxuXHRcdCAqIERvbid0IGRpc3BsYXkgdG9vbHRpcHMgaW4gZGV2aWNlcyB3aGljaCBkb24ndCBzdXBwb3J0IDpob3Zlci5cblx0XHQgKiBJbiBmYWN0LCBpdCdzIGFsbCBhYm91dCBpT1MsIHdoaWNoIGZvcmNlcyB1c2VyIHRvIGNsaWNrIFVJIGVsZW1lbnRzIHR3aWNlIHRvIGV4ZWN1dGVcblx0XHQgKiB0aGUgcHJpbWFyeSBhY3Rpb24sIHdoZW4gdG9vbHRpcHMgYXJlIGVuYWJsZWQuXG5cdFx0ICpcblx0XHQgKiBROiBPSywgYnV0IHdoeSBub3QgdGhlIGZvbGxvd2luZyBxdWVyeT9cblx0XHQgKlxuXHRcdCAqICAgQG1lZGlhIChob3Zlcikge1xuXHRcdCAqICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdCAqICAgfVxuXHRcdCAqXG5cdFx0ICogQTogQmVjYXVzZSBGRiBkb2VzIG5vdCBzdXBwb3J0IGl0IGFuZCBpdCB3b3VsZCBjb21wbGV0ZWx5IGRpc2FibGUgdG9vbHRpcHNcblx0XHQgKiBpbiB0aGF0IGJyb3dzZXIuXG5cdFx0ICpcblx0XHQgKiBNb3JlIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzkyMC5cblx0XHQgKi9cblx0fVxuXG5AbWVkaWEgKGhvdmVyOm5vbmUpIHtcblxuLmNrLmNrLWJ1dHRvbiAuY2stdG9vbHRpcCwgYS5jay5jay1idXR0b24gLmNrLXRvb2x0aXAge1xuXHRcdFx0ZGlzcGxheTogbm9uZVxuXHR9XG5cdFx0fVxuXG4uY2suY2stYnV0dG9uLFxuYS5jay5jay1idXR0b24ge1xuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogbGVmdFxufVxuXG4uY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLXRleHQgLmNrLWJ1dHRvbl9fbGFiZWwsIGEuY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLXRleHQgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblxuLmNrLmNrLWJ1dHRvbixcbmEuY2suY2stYnV0dG9uIHtcblxuXHQvKiBDZW50ZXIgdGhlIGljb24gaG9yaXpvbnRhbGx5IGluIGEgYnV0dG9uIHdpdGhvdXQgdGV4dC4gKi9cbn1cblxuLmNrLmNrLWJ1dHRvbjpub3QoLmNrLWJ1dHRvbl93aXRoLXRleHQpLCAgYS5jay5jay1idXR0b246bm90KC5jay1idXR0b25fd2l0aC10ZXh0KSAge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cbi5jay5jay1idXR0b246aG92ZXIgLmNrLXRvb2x0aXAsIGEuY2suY2stYnV0dG9uOmhvdmVyIC5jay10b29sdGlwIHtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuLmNrLmNrLWJ1dHRvbixcbmEuY2suY2stYnV0dG9uIHtcblxuXHQvKiBHZXQgcmlkIG9mIHRoZSBuYXRpdmUgZm9jdXMgb3V0bGluZSBhcm91bmQgdGhlIHRvb2x0aXAgd2hlbiBmb2N1c2VkIChidXQgbm90IDpob3ZlcikuICovXG59XG5cbi5jay5jay1idXR0b246Zm9jdXM6bm90KDpob3ZlcikgLmNrLXRvb2x0aXAsIGEuY2suY2stYnV0dG9uOmZvY3VzOm5vdCg6aG92ZXIpIC5jay10b29sdGlwIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cbi5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwsIGEuY2suY2stYnV0dG9uIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcYnV0dG9uXFxidXR0b24uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIGJvcmRlci5cbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG5cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBjbGFzcyB3aGljaCBpbmRpY2F0ZXMgdGhhdCBhbiBlbGVtZW50IGhvbGRpbmcgaXQgaXMgZGlzYWJsZWQuXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogSW1wbGVtZW50cyBhIGJ1dHRvbiBvZiBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkYm9yZGVyIC0gQm9yZGVyIGNvbG9yIG9mIHRoZSBidXR0b24uXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stYnV0dG9uLFxuYS5jay5jay1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kKVxufVxuXG4uY2suY2stYnV0dG9uOm5vdCguY2stZGlzYWJsZWQpOmhvdmVyLCBhLmNrLmNrLWJ1dHRvbjpub3QoLmNrLWRpc2FibGVkKTpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kKTtcblx0XHR9XG5cbi5jay5jay1idXR0b246bm90KC5jay1kaXNhYmxlZCk6YWN0aXZlLCBhLmNrLmNrLWJ1dHRvbjpub3QoLmNrLWRpc2FibGVkKTphY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAycHggMnB4IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1zaGFkb3cpO1xuXHRcdH1cblxuLmNrLmNrLWJ1dHRvbixcbmEuY2suY2stYnV0dG9uIHtcblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy85OCAqL1xufVxuXG4uY2suY2stYnV0dG9uLmNrLWRpc2FibGVkLCBhLmNrLmNrLWJ1dHRvbi5jay1kaXNhYmxlZCB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtZGlzYWJsZWQtYmFja2dyb3VuZCk7XG5cdH1cblxuLmNrLmNrLWJ1dHRvbixcbmEuY2suY2stYnV0dG9uIHtcblx0Ym9yZGVyLXJhZGl1czogMFxufVxuXG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1idXR0b24sXG4uY2suY2stYnV0dG9uLmNrLXJvdW5kZWQtY29ybmVycyxcbi5jay1yb3VuZGVkLWNvcm5lcnMgYS5jay5jay1idXR0b24sXG5hLmNrLmNrLWJ1dHRvbi5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpXG59XG5cbi5jay5jay1idXR0b24sXG5hLmNrLmNrLWJ1dHRvbiB7XG5cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXRpbnkpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LyogQSB2ZXJ5IGltcG9ydGFudCBwaWVjZSBvZiBzdHlsaW5nLiBHbyB0byB2YXJpYWJsZSBkZWNsYXJhdGlvbiB0byBsZWFybiBtb3JlLiAqL1xuXHRtaW4td2lkdGg6IHZhcigtLWNrLXVpLWNvbXBvbmVudC1taW4taGVpZ2h0KTtcblx0bWluLWhlaWdodDogdmFyKC0tY2stdWktY29tcG9uZW50LW1pbi1oZWlnaHQpO1xuXG5cdC8qIE5vcm1hbGl6ZSB0aGUgaGVpZ2h0IG9mIHRoZSBsaW5lLiBSZW1vdmluZyB0aGlzIHdpbGwgYnJlYWsgY29uc2lzdGVudCBoZWlnaHRcblx0YW1vbmcgdGV4dCBhbmQgdGV4dC1sZXNzIGJ1dHRvbnMgKHdpdGggaWNvbnMpLiAqL1xuXHRsaW5lLWhlaWdodDogMTtcblxuXHQvKiBFbmFibGUgZm9udCBzaXplIGluaGVyaXRhbmNlLCB3aGljaCBhbGxvd3MgZmx1aWQgVUkgc2NhbGluZy4gKi9cblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXG5cdC8qIEF2b2lkIGZsaWNrZXJpbmcgd2hlbiB0aGUgZm91Y3MgYm9yZGVyIHNob3dzIHVwLiAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHQvKiBBcHBseSBzb21lIHNtb290aCB0cmFuc2l0aW9uIHRvIHRoZSBib3gtc2hhZG93LiAqL1xuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2UtaW4tb3V0O1xuXG5cdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvMTg5ICovXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZVxufVxuXG4uY2suY2stYnV0dG9uOmFjdGl2ZSxcblx0LmNrLmNrLWJ1dHRvbjpmb2N1cyxcblx0YS5jay5jay1idXR0b246YWN0aXZlLFxuXHRhLmNrLmNrLWJ1dHRvbjpmb2N1cyB7XG5cdFx0LyogRGlzYWJsZSBuYXRpdmUgb3V0bGluZS4gKi9cblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlcjogdmFyKC0tY2stZm9jdXMtcmluZyk7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93KSwgMCAwO1xuXG5cdFx0LyogRGlzYWJsZSBib3JkZXIgcGFydCBvZiB0aGUgZm9jdXMgcmluZyBmb3IgdGhlIGJ1dHRvbnMuIEl0IGlzIHRvbyBtdWNoLiAqL1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cblxuLmNrLmNrLWJ1dHRvbixcbmEuY2suY2stYnV0dG9uIHtcblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzcwICovXG59XG5cbi5jay5jay1idXR0b24uY2stZGlzYWJsZWQ6YWN0aXZlLFxuXHRcdC5jay5jay1idXR0b24uY2stZGlzYWJsZWQ6Zm9jdXMsXG5cdFx0YS5jay5jay1idXR0b24uY2stZGlzYWJsZWQ6YWN0aXZlLFxuXHRcdGEuY2suY2stYnV0dG9uLmNrLWRpc2FibGVkOmZvY3VzIHtcblx0XHRcdC8qIFRoZSBkaXNhYmxlZCBidXR0b24gc2hvdWxkIGhhdmUgYSBzbGlnaHRseSBsZXNzIHZpc2libGUgc2hhZG93IHdoZW4gZm9jdXNlZC4gKi9cblx0XHRcdGJveC1zaGFkb3c6IHZhcigtLWNrLWZvY3VzLWRpc2FibGVkLW91dGVyLXNoYWRvdyksIDAgMDtcblx0XHR9XG5cbi5jay5jay1idXR0b24uY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9faWNvbiwgYS5jay5jay1idXR0b24uY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9faWNvbiB7XG5cdFx0XHRvcGFjaXR5OiB2YXIoLS1jay1kaXNhYmxlZC1vcGFjaXR5KTtcblx0XHR9XG5cbi5jay5jay1idXR0b24uY2stZGlzYWJsZWQsIGEuY2suY2stYnV0dG9uLmNrLWRpc2FibGVkIHtcblxuXHRcdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvOTggKi9cblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLWRpc2FibGVkIC5jay1idXR0b25fX2xhYmVsLCBhLmNrLmNrLWJ1dHRvbi5jay1kaXNhYmxlZCAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRvcGFjaXR5OiB2YXIoLS1jay1kaXNhYmxlZC1vcGFjaXR5KTtcblx0XHR9XG5cbi5jay5jay1idXR0b24uY2stYnV0dG9uX3dpdGgtdGV4dCwgYS5jay5jay1idXR0b24uY2stYnV0dG9uX3dpdGgtdGV4dCB7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKVxuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0IC5jay1idXR0b25fX2ljb24sIFtkaXI9XCJsdHJcIl0gYS5jay5jay1idXR0b24uY2stYnV0dG9uX3dpdGgtdGV4dCAuY2stYnV0dG9uX19pY29uIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKSk7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbClcblx0XHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0IC5jay1idXR0b25fX2ljb24sIFtkaXI9XCJydGxcIl0gYS5jay5jay1idXR0b24uY2stYnV0dG9uX3dpdGgtdGV4dCAuY2stYnV0dG9uX19pY29uIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tY2stc3BhY2luZy1zbWFsbCkpO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zbWFsbClcblx0XHR9XG5cbi5jay5jay1idXR0b24sXG5hLmNrLmNrLWJ1dHRvbiB7XG5cblx0LyogQSBzdHlsZSBvZiB0aGUgYnV0dG9uIHdoaWNoIGlzIGN1cnJlbnRseSBvbiwgZS5nLiBpdHMgZmVhdHVyZSBpcyBhY3RpdmUuICovXG59XG5cbi5jay5jay1idXR0b24uY2stb24sIGEuY2suY2stYnV0dG9uLmNrLW9uIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1idXR0b24tb24tYmFja2dyb3VuZCk7XG5cdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1vbjpub3QoLmNrLWRpc2FibGVkKTpob3ZlciwgYS5jay5jay1idXR0b24uY2stb246bm90KC5jay1kaXNhYmxlZCk6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYnV0dG9uLW9uLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1vbjpub3QoLmNrLWRpc2FibGVkKTphY3RpdmUsIGEuY2suY2stYnV0dG9uLmNrLW9uOm5vdCguY2stZGlzYWJsZWQpOmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1idXR0b24tb24tYWN0aXZlLWJhY2tncm91bmQpO1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAycHggMnB4IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1vbi1hY3RpdmUtc2hhZG93KTtcblx0XHR9XG5cbi5jay5jay1idXR0b24uY2stb24sIGEuY2suY2stYnV0dG9uLmNrLW9uIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzk4ICovXG5cdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1vbi5jay1kaXNhYmxlZCwgYS5jay5jay1idXR0b24uY2stb24uY2stZGlzYWJsZWQge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1vbi1kaXNhYmxlZC1iYWNrZ3JvdW5kKTtcblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLWJ1dHRvbi1zYXZlLCBhLmNrLmNrLWJ1dHRvbi5jay1idXR0b24tc2F2ZSB7XG5cdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1zYXZlKTtcblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLWJ1dHRvbi1jYW5jZWwsIGEuY2suY2stYnV0dG9uLmNrLWJ1dHRvbi1jYW5jZWwge1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1idXR0b24tY2FuY2VsKTtcblx0fVxuXG4uY2suY2stYnV0dG9uLFxuYS5jay5jay1idXR0b24ge1xuXG5cdC8qIEFsbG93IGljb24gY29sb3JpbmcgdXNpbmcgdGhlIHRleHQgXCJjb2xvclwiIHByb3BlcnR5LiAqL1xufVxuXG4uY2suY2stYnV0dG9uIC5jay1idXR0b25fX2ljb24gdXNlLFxuXHRcdC5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9faWNvbiB1c2UgKixcblx0XHRhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19pY29uIHVzZSxcblx0XHRhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19pY29uIHVzZSAqIHtcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdH1cblxuLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCwgYS5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdC8qIEVuYWJsZSBmb250IHNpemUgaW5oZXJpdGFuY2UsIHdoaWNoIGFsbG93cyBmbHVpZCBVSSBzY2FsaW5nLiAqL1xuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0XHRmb250LXdlaWdodDogaW5oZXJpdDtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRjdXJzb3I6IGluaGVyaXQ7XG5cblx0XHQvKiBNdXN0IGJlIGNvbnNpc3RlbnQgd2l0aCAuY2staWNvbidzIHZlcnRpY2FsIGFsaWduLiBPdGhlcndpc2UsIGJ1dHRvbnMgd2l0aCBhbmRcblx0XHR3aXRob3V0IGxhYmVscyAoYnV0IHdpdGggaWNvbnMpIGhhdmUgZGlmZmVyZW50IHNpemVzIGluIENocm9tZSAqL1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGVcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwsIFtkaXI9XCJsdHJcIl0gYS5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdFxuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCwgW2Rpcj1cInJ0bFwiXSBhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodFxuXHR9XG5cbi8qIEEgc3R5bGUgb2YgdGhlIGJ1dHRvbiB3aGljaCBoYW5kbGVzIHRoZSBwcmltYXJ5IGFjdGlvbi4gKi9cblxuLmNrLmNrLWJ1dHRvbi1hY3Rpb24sXG5hLmNrLmNrLWJ1dHRvbi1hY3Rpb24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1idXR0b24tYWN0aW9uLWJhY2tncm91bmQpO1xufVxuXG4uY2suY2stYnV0dG9uLWFjdGlvbjpub3QoLmNrLWRpc2FibGVkKTpob3ZlciwgYS5jay5jay1idXR0b24tYWN0aW9uOm5vdCguY2stZGlzYWJsZWQpOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24taG92ZXItYmFja2dyb3VuZCk7XG5cdFx0fVxuXG4uY2suY2stYnV0dG9uLWFjdGlvbjpub3QoLmNrLWRpc2FibGVkKTphY3RpdmUsIGEuY2suY2stYnV0dG9uLWFjdGlvbjpub3QoLmNrLWRpc2FibGVkKTphY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDJweCAycHggdmFyKC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi1hY3RpdmUtc2hhZG93KTtcblx0XHR9XG5cbi5jay5jay1idXR0b24tYWN0aW9uLFxuYS5jay5jay1idXR0b24tYWN0aW9uIHtcblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy85OCAqL1xufVxuXG4uY2suY2stYnV0dG9uLWFjdGlvbi5jay1kaXNhYmxlZCwgYS5jay5jay1idXR0b24tYWN0aW9uLmNrLWRpc2FibGVkIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1idXR0b24tYWN0aW9uLWRpc2FibGVkLWJhY2tncm91bmQpO1xuXHR9XG5cbi5jay5jay1idXR0b24tYWN0aW9uLFxuYS5jay5jay1idXR0b24tYWN0aW9uIHtcblxuXHRjb2xvcjogdmFyKC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi10ZXh0KTtcbn1cblxuLmNrLmNrLWJ1dHRvbi1ib2xkLFxuYS5jay5jay1idXR0b24tYm9sZCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGNvbXBvbmVudHNcXGRyb3Bkb3duXFxkcm9wZG93bi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogRW5hYmxlcyB0aGUgdG9vbHRpcCwgd2hpY2ggaXMgdGhlIHRvb2x0aXAgaXMgaW4gRE9NIGJ1dFxuICogbm90IHlldCBkaXNwbGF5ZWQuXG4gKi9cblxuLyoqXG4gKiBEaXNhYmxlcyB0aGUgdG9vbHRpcCBtYWtpbmcgaXQgZGlzYXBwZWFyIGZyb20gRE9NLlxuICovXG5cbi8qKlxuICogU2hvd3MgdGhlIHRvb2x0aXAsIHdoaWNoIGlzIGFscmVhZHkgaW4gRE9NLlxuICogUmVxdWlyZXMgYGNrLXRvb2x0aXBfZW5hYmxlZGAgZmlyc3QuXG4gKi9cblxuLmNrLmNrLWRyb3Bkb3duIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmVcbn1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fYXJyb3cge1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotZGVmYXVsdCk7XG5cdH1cblxuLmNrLmNrLWRyb3Bkb3duIHtcblxuXHQvKiBEcm9wZG93biBidXR0b24gc2hvdWxkIHNwYW4gaG9yaXpvbnRhbGx5LCBlLmcuIGluIHZlcnRpY2FsIHRvb2xiYXJzICovXG59XG5cbi5jay5jay1kcm9wZG93biAuY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlXG5cblx0XHQvKiBEaXNhYmxlIG1haW4gYnV0dG9uJ3MgdG9vbHRpcCB3aGVuIHRoZSBkcm9wZG93biBpcyBvcGVuLiBPdGhlcndpc2UgdGhlIHBhbmVsIG1heVxuXHRcdHBhcnRpYWxseSBjb3ZlciB0aGUgdG9vbHRpcCAqL1xuXHR9XG5cbi5jay5jay1kcm9wZG93biAuY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b24uY2stb24gLmNrLXRvb2x0aXAge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwge1xuXHRcdC8qIFRoaXMgaXMgdG8gZ2V0IHJpZCBvZiBmbGlja2VyaW5nIHdoZW4gdGhlIHRvb2x0aXAgaXMgc2hvd24gdW5kZXIgdGhlIHBhbmVsLFxuXHRcdHdoaWNoIGxvb2tzIGxpa2UgdGhlIHBhbmVsIG1vdmVzIHZlcnRpY2FsbHkgYSBwaXhlbCBkb3duIGFuZCB1cC4gKi9cblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0ei1pbmRleDogdmFyKC0tY2stei1tb2RhbCk7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGVcblx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWwtdmlzaWJsZSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRcdC8qIFRoaXMgd2lsbCBwcmV2ZW50IGJsdXJyeSBpY29ucyBpbiBkcm9wZG93biBvbiBGaXJlZm94LiBTZWUgIzM0MC4gKi9cblx0XHRcdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cdFx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfbmUsXG5cdFx0LmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwuY2stZHJvcGRvd25fX3BhbmVsX253IHtcblx0XHRcdGJvdHRvbTogMTAwJTtcblx0XHR9XG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9zZSxcblx0XHQuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfc3cge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMTAwJSwgMCApO1xuXHRcdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwuY2stZHJvcGRvd25fX3BhbmVsX25lLFxuXHRcdC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9zZSB7XG5cdFx0XHRsZWZ0OiAwcHg7XG5cdFx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfbncsXG5cdFx0LmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwuY2stZHJvcGRvd25fX3BhbmVsX3N3IHtcblx0XHRcdHJpZ2h0OiAwcHg7XG5cdFx0fVxuXG4vKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGNvbXBvbmVudHNcXGRyb3Bkb3duXFxkcm9wZG93bi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIGNsYXNzIHdoaWNoIGluZGljYXRlcyB0aGF0IGFuIGVsZW1lbnQgaG9sZGluZyBpdCBpcyBkaXNhYmxlZC5cbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG5cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1kcm9wZG93bi1hcnJvdy1zaXplOiBjYWxjKDAuNSAqIHZhcigtLWNrLWljb24tc2l6ZSkpO1xufVxuXG4uY2suY2stZHJvcGRvd24ge1xuXHQvKiBFbmFibGUgZm9udCBzaXplIGluaGVyaXRhbmNlLCB3aGljaCBhbGxvd3MgZmx1aWQgVUkgc2NhbGluZy4gKi9cblx0Zm9udC1zaXplOiBpbmhlcml0XG59XG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX2Fycm93IHtcblx0XHR3aWR0aDogdmFyKC0tY2stZHJvcGRvd24tYXJyb3ctc2l6ZSk7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0XHRyaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHRcdC8qIEEgc3BhY2UgdG8gYWNjb21tb2RhdGUgdGhlIHRyaWFuZ2xlLiAqL1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0XHRsZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdFx0LyogQSBzcGFjZSB0byBhY2NvbW1vZGF0ZSB0aGUgdHJpYW5nbGUuICovXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdH1cblxuLmNrLmNrLWRyb3Bkb3duLmNrLWRpc2FibGVkIC5jay1kcm9wZG93bl9fYXJyb3cge1xuXHRcdG9wYWNpdHk6IHZhcigtLWNrLWRpc2FibGVkLW9wYWNpdHkpO1xuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbjpub3QoLmNrLWJ1dHRvbl93aXRoLXRleHQpIHtcblx0XHRcdFx0LyogTWFrZSBzdXJlIGRyb3Bkb3ducyB3aXRoIGp1c3QgYW4gaWNvbiBoYXZlIHRoZSByaWdodCBpbm5lciBzcGFjaW5nICovXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0XHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbjpub3QoLmNrLWJ1dHRvbl93aXRoLXRleHQpIHtcblx0XHRcdFx0LyogTWFrZSBzdXJlIGRyb3Bkb3ducyB3aXRoIGp1c3QgYW4gaWNvbiBoYXZlIHRoZSByaWdodCBpbm5lciBzcGFjaW5nICovXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdFx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWJ1dHRvbi5jay1kcm9wZG93bl9fYnV0dG9uIHtcblxuXHRcdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvNzAgKi9cblx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWJ1dHRvbi5jay1kcm9wZG93bl9fYnV0dG9uLmNrLWRpc2FibGVkIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdG9wYWNpdHk6IHZhcigtLWNrLWRpc2FibGVkLW9wYWNpdHkpO1xuXHRcdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbiB7XG5cblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy84MTYgKi9cblx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWJ1dHRvbi5jay1kcm9wZG93bl9fYnV0dG9uLmNrLW9uIHtcblx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcblx0XHR9XG5cbi5jay5jay1kcm9wZG93biAuY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b24ge1xuXG5cdFx0LyogIzIzICovXG5cdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHR3aWR0aDogN2VtO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdH1cblxuLmNrLmNrLWRyb3Bkb3duX19wYW5lbCB7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWRyb3Bkb3duX19wYW5lbCwgLmNrLmNrLWRyb3Bkb3duX19wYW5lbC5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2suY2stZHJvcGRvd25fX3BhbmVsIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tY2stZHJvcC1zaGFkb3cpLCAwIDA7XG5cblx0LyogRGlzYWJsZWQgcmFkaXVzIG9mIHRvcC1sZWZ0IGJvcmRlciB0byBiZSBjb25zaXN0ZW50IHdpdGggLmRyb3Bkb3duX19idXR0b25cblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvODE2ICovXG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWRyb3Bkb3duX19wYW5lbCwgLmNrLmNrLWRyb3Bkb3duX19wYW5lbC5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG59XG5cbi5jay5jay1kcm9wZG93bl9fcGFuZWwge1xuXG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJhY2tncm91bmQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1kcm9wZG93bi1wYW5lbC1ib3JkZXIpO1xuXHRib3R0b206IDA7XG5cblx0LyogTWFrZSBzdXJlIHRoZSBwYW5lbCBpcyBhdCBsZWFzdCBhcyB3aWRlIGFzIHRoZSBkcm9wLWRvd24ncyBidXR0b24uICovXG5cdG1pbi13aWR0aDogMTAwJTtcbn1cbiIsIi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFx0b29sYmFyXFx0b29sYmFyLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBNYWtlcyBlbGVtZW50IHVuc2VsZWN0YWJsZS5cbiAqL1xuXG4uY2suY2stdG9vbGJhciB7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlclxufVxuXG4uY2suY2stdG9vbGJhci5jay10b29sYmFyX3ZlcnRpY2FsIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cbi5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfZmxvYXRpbmcge1xuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHR9XG5cbi5jay5jay10b29sYmFyX19zZXBhcmF0b3Ige1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jay5jay10b29sYmFyX19uZXdsaW5lIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGNvbXBvbmVudHNcXHRvb2xiYXJcXHRvb2xiYXIuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay10b29sYmFyIHtcblx0Ym9yZGVyLXJhZGl1czogMFxufVxuXG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay10b29sYmFyLCAuY2suY2stdG9vbGJhci5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpXG59XG5cbi5jay5jay10b29sYmFyIHtcblxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci10b29sYmFyLWJhY2tncm91bmQpO1xuXHRwYWRkaW5nOiAwIHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci10b29sYmFyLWJvcmRlcilcbn1cblxuLmNrLmNrLXRvb2xiYXIgPiAqIHtcblx0XHQvKiBNYWtlIHN1cmUgaXRlbXMgd3JhcHBlZCB0byB0aGUgbmV4dCBsaW5lIGhhdmUgdi1zcGFjaW5nICovXG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cblxuLmNrLmNrLXRvb2xiYXIgPiAqIHtcblx0XHQvKiAoIzExKSBTZXBhcmF0ZSB0b29sYmFyIGl0ZW1zLiAqL1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stdG9vbGJhciA+ICoge1xuXHRcdFx0LyogKCMxMSkgU2VwYXJhdGUgdG9vbGJhciBpdGVtcy4gKi9cblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHR9XG5cbi5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfdmVydGljYWwge1xuXHRcdC8qIEl0ZW1zIGluIGEgdmVydGljYWwgdG9vbGJhciBzcGFuIHRoZSBlbnRpcmUgd2lkdGguICovXG5cdFx0cGFkZGluZzogMFxuXG5cdFx0LyogU3BlY2lmaWNpdHkgbWF0dGVycyBoZXJlLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy8xNjguICovXG5cdH1cblxuLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl92ZXJ0aWNhbCA+IC5jayB7XG5cdFx0XHQvKiBJdGVtcyBpbiBhIHZlcnRpY2FsIHRvb2xiYXIgc2hvdWxkIHNwYW4gdGhlIGhvcml6b250YWwgc3BhY2UuICovXG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0LyogSXRlbXMgaW4gYSB2ZXJ0aWNhbCB0b29sYmFyIHNob3VsZCBoYXZlIG5vIG1hcmdpbi4gKi9cblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0LyogSXRlbXMgaW4gYSB2ZXJ0aWNhbCB0b29sYmFyIHNwYW4gdGhlIGVudGlyZSB3aWR0aCBzbyByb3VuZGVkIGNvcm5lcnMgYXJlIHBvaW50bGVzcy4gKi9cblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0XHRcdC8qIEl0ZW1zIGluIGEgdmVydGljYWwgdG9vbGJhciBzcGFuIHRoZSBlbnRpcmUgd2lkdGggc28gYW55IGJvcmRlciBpcyBwb2ludGxlc3MuICovXG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay10b29sYmFyID4gKjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLXRvb2xiYXIgPiAqOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0fVxuXG4uY2stdG9vbGJhci1jb250YWluZXIgLmNrLmNrLXRvb2xiYXIge1xuXHRcdGJvcmRlcjogMFxufVxuXG4uY2suY2stdG9vbGJhcl9fc2VwYXJhdG9yIHtcblx0YWxpZ24tc2VsZjogc3RyZXRjaDtcblx0d2lkdGg6IDFweDtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItdG9vbGJhci1ib3JkZXIpO1xufVxuXG4uY2suY2stdG9vbGJhcl9fbmV3bGluZSB7XG5cdG1hcmdpbjogMDtcbn1cbiIsIi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxsaXN0XFxsaXN0LmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBNYWtlcyBlbGVtZW50IHVuc2VsZWN0YWJsZS5cbiAqL1xuXG4uY2suY2stbGlzdCB7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtblxufVxuXG4uY2suY2stbGlzdCAuY2stbGlzdF9faXRlbSxcblx0LmNrLmNrLWxpc3QgLmNrLWxpc3RfX3NlcGFyYXRvciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuLmNrLmNrLWxpc3Qge1xuXG5cdC8qIE1ha2Ugc3VyZSB0aGF0IHdoYXRldmVyIGNoaWxkIG9mIHRoZSBsaXN0IGl0ZW0gZ2V0cyBmb2N1cywgaXQgcmVtYWlucyBvbiB0aGVcblx0dG9wLiBUaGFua3MgdG8gdGhhdCwgc3R5bGVzIGxpa2UgYm94LXNoYWRvdywgb3V0bGluZSwgZXRjLiBhcmUgbm90IG1hc2tlZCBieVxuXHRhZGphY2VudCBsaXN0IGl0ZW1zLiAqL1xufVxuXG4uY2suY2stbGlzdCAuY2stbGlzdF9faXRlbSA+ICo6Zm9jdXMge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiB2YXIoLS1jay16LWRlZmF1bHQpO1xuXHR9XG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcbGlzdFxcbGlzdC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBjbGFzcyB3aGljaCBpbmRpY2F0ZXMgdGhhdCBhbiBlbGVtZW50IGhvbGRpbmcgaXQgaXMgZGlzYWJsZWQuXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG5cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuXG4uY2suY2stbGlzdCB7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWxpc3QsIC5jay5jay1saXN0LmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jay5jay1saXN0IHtcblxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYmFja2dyb3VuZCk7XG59XG5cbi5jay5jay1saXN0X19pdGVtIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRtaW4td2lkdGg6IDEyZW1cbn1cblxuLmNrLmNrLWxpc3RfX2l0ZW0gLmNrLWJ1dHRvbiB7XG5cdFx0bWluLWhlaWdodDogdW5zZXQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGJvcmRlcjogMDtcblxuXHRcdC8qIExpc3QgaXRlbXMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgaGVpZ2h0LiBVc2UgYWJzb2x1dGUgdW5pdHMgdG8gbWFrZSBzdXJlIGl0IGlzIHNvXG5cdFx0ICAgYmVjYXVzZSBlLmcuIGRpZmZlcmVudCBoZWFkaW5nIHN0eWxlcyBtYXkgaGF2ZSBkaWZmZXJlbnQgaGVpZ2h0XG5cdFx0ICAgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1oZWFkaW5nL2lzc3Vlcy82MyAqL1xuXHRcdHBhZGRpbmc6XG5cdFx0XHRjYWxjKC4yKnZhcigtLWNrLWxpbmUtaGVpZ2h0LWJhc2UpKnZhcigtLWNrLWZvbnQtc2l6ZS1iYXNlKSlcblx0XHRcdGNhbGMoLjQqdmFyKC0tY2stbGluZS1oZWlnaHQtYmFzZSkqdmFyKC0tY2stZm9udC1zaXplLWJhc2UpKVxuXHR9XG5cbi5jay5jay1saXN0X19pdGVtIC5jay1idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1oZWFkaW5nL2lzc3Vlcy82MyAqL1xuXHRcdFx0bGluZS1oZWlnaHQ6IGNhbGMoMS4yKnZhcigtLWNrLWxpbmUtaGVpZ2h0LWJhc2UpKnZhcigtLWNrLWZvbnQtc2l6ZS1iYXNlKSk7XG5cdFx0fVxuXG4uY2suY2stbGlzdF9faXRlbSAuY2stYnV0dG9uOmFjdGl2ZSB7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cblxuLmNrLmNrLWxpc3RfX2l0ZW0gLmNrLWJ1dHRvbi5jay1vbiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1saXN0LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1saXN0LWJ1dHRvbi1vbi10ZXh0KVxuXHRcdH1cblxuLmNrLmNrLWxpc3RfX2l0ZW0gLmNrLWJ1dHRvbi5jay1vbjpob3Zlcjpub3QoY2stZGlzYWJsZWQpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGlzdC1idXR0b24tb24tYmFja2dyb3VuZC1mb2N1cyk7XG5cdFx0XHR9XG5cbi5jay5jay1saXN0X19pdGVtIC5jay1idXR0b24uY2stb246YWN0aXZlIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdH1cblxuLmNrLmNrLWxpc3RfX2l0ZW0gLmNrLWJ1dHRvbjpob3Zlcjpub3QoLmNrLWRpc2FibGVkKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1saXN0LWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kKTtcblx0XHR9XG5cbi5jay5jay1saXN0X19pdGVtIHtcblxuXHQvKiBJdCdzIHVubmVjZXNzYXJ5IHRvIGNoYW5nZSB0aGUgYmFja2dyb3VuZC90ZXh0IG9mIGEgc3dpdGNoIHRvZ2dsZTsgaXQgaGFzIGRpZmZlcmVudCB3YXlzXG5cdG9mIGNvbnZleWluZyBpdHMgc3RhdGUgKGxpa2UgdGhlIHN3aXRjaGVyKSAqL1xufVxuXG4uY2suY2stbGlzdF9faXRlbSAuY2stc3dpdGNoYnV0dG9uLmNrLW9uIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYmFja2dyb3VuZCk7XG5cdFx0XHRjb2xvcjogaW5oZXJpdFxuXHRcdH1cblxuLmNrLmNrLWxpc3RfX2l0ZW0gLmNrLXN3aXRjaGJ1dHRvbi5jay1vbjpob3Zlcjpub3QoY2stZGlzYWJsZWQpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGlzdC1idXR0b24taG92ZXItYmFja2dyb3VuZCk7XG5cdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdFx0fVxuXG4uY2suY2stbGlzdF9fc2VwYXJhdG9yIHtcblx0aGVpZ2h0OiAxcHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG59XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXVpXFx0aGVtZVxcY29tcG9uZW50c1xcYnV0dG9uXFxzd2l0Y2hidXR0b24uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlIHtcblx0XHRkaXNwbGF5OiBibG9ja1xuXHR9XG5cbi5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZSAuY2stYnV0dG9uX190b2dnbGVfX2lubmVyIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXVpXFxjb21wb25lbnRzXFxidXR0b25cXHN3aXRjaGJ1dHRvbi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIGNsYXNzIHdoaWNoIGluZGljYXRlcyB0aGF0IGFuIGVsZW1lbnQgaG9sZGluZyBpdCBpcyBkaXNhYmxlZC5cbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qIE5vdGU6IFRvIGF2b2lkIHJlbmRlcmluZyBpc3N1ZXMgKGFsaWFzaW5nKSBidXQgdG8gcHJlc2VydmUgdGhlIHJlc3BvbnNpdmUgbmF0dXJlXG5vZiB0aGUgY29tcG9uZW50LCBmbG9hdGluZ+KAk3BvaW50IG51bWJlcnMgaGF2ZSBiZWVuIHVzZWQgd2hpY2gsIGZvciB0aGUgZGVmYXVsdCBmb250IHNpemVcbihzZWU6IC0tY2stZm9udC1zaXplLWJhc2UpLCB3aWxsIGdlbmVyYXRlIHNpbXBsZSBpbnRlZ2Vycy4gKi9cblxuOnJvb3Qge1xuXHQvKiAzNHB4IGF0IDEzcHggZm9udC1zaXplICovXG5cdC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtd2lkdGg6IDIuNjE1Mzg0NjE1NGVtO1xuXHQvKiAxNHB4IGF0IDEzcHggZm9udC1zaXplICovXG5cdC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtaW5uZXItc2l6ZTogMS4wNzY5MjMwNzY5ZW07XG5cdC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtc3BhY2luZzogMXB4O1xuXHQtLWNrLXN3aXRjaC1idXR0b24tdHJhbnNsYXRpb246IDEuMzg0NjE1Mzg0N2VtO1xufVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdC8qIFNlcGFyYXRlIHRoZSBsYWJlbCBmcm9tIHRoZSBzd2l0Y2ggKi9cblx0XHRcdG1hcmdpbi1yaWdodDogY2FsYygyKnZhcigtLWNrLXNwYWNpbmctbGFyZ2UpKVxuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0LyogU2VwYXJhdGUgdGhlIGxhYmVsIGZyb20gdGhlIHN3aXRjaCAqL1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGMoMip2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSlcblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbi5jay1kaXNhYmxlZCAuY2stYnV0dG9uX190b2dnbGUge1xuXHRcdG9wYWNpdHk6IHZhcigtLWNrLWRpc2FibGVkLW9wYWNpdHkpO1xuXHR9XG5cbi5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMFxuXHR9XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlLCAuY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKVxuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlIHtcblx0XHRcdC8qIE1ha2Ugc3VyZSB0aGUgdG9nZ2xlIGlzIGFsd2F5cyB0byB0aGUgcmlnaHQgYXMgZmFyIGFzIHBvc3NpYmxlLiAqL1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG9cblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZSB7XG5cdFx0XHQvKiBNYWtlIHN1cmUgdGhlIHRvZ2dsZSBpcyBhbHdheXMgdG8gdGhlIGxlZnQgYXMgZmFyIGFzIHBvc3NpYmxlLiAqL1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvXG5cdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlIHtcblxuXHRcdC8qIEdlbnRseSBhbmltYXRlIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB0b2dnbGUgc3dpdGNoICovXG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCA0MDBtcyBlYXNlO1xuXG5cdFx0d2lkdGg6IHZhcigtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLXdpZHRoKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLW9mZi1iYWNrZ3JvdW5kKVxuXHR9XG5cbi5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZTpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLW9mZi1ob3Zlci1iYWNrZ3JvdW5kKVxuXHRcdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlOmhvdmVyIC5jay1idXR0b25fX3RvZ2dsZV9faW5uZXIge1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCA1cHggdmFyKC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1pbm5lci1zaGFkb3cpO1xuXHRcdFx0fVxuXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUgLmNrLWJ1dHRvbl9fdG9nZ2xlX19pbm5lciB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdH1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUgLmNrLWJ1dHRvbl9fdG9nZ2xlX19pbm5lciwgLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlIC5jay1idXR0b25fX3RvZ2dsZV9faW5uZXIuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogY2FsYyguNSp2YXIoLS1jay1ib3JkZXItcmFkaXVzKSk7XG5cdFx0fVxuXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUgLmNrLWJ1dHRvbl9fdG9nZ2xlX19pbm5lciB7XG5cblx0XHRcdC8qIExlYXZlIHNvbWUgdGlueSBiaXQgb2Ygc3BhY2UgYXJvdW5kIHRoZSBpbm5lciBwYXJ0IG9mIHRoZSBzd2l0Y2ggKi9cblx0XHRcdG1hcmdpbjogdmFyKC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtc3BhY2luZyk7XG5cdFx0XHR3aWR0aDogdmFyKC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtaW5uZXItc2l6ZSk7XG5cdFx0XHRoZWlnaHQ6IHZhcigtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLWlubmVyLXNpemUpO1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1pbm5lci1iYWNrZ3JvdW5kKTtcblxuXHRcdFx0LyogR2VudGx5IGFuaW1hdGUgdGhlIGlubmVyIHBhcnQgb2YgdGhlIHRvZ2dsZSBzd2l0Y2ggKi9cblx0XHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuXHRcdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24uY2stb24gLmNrLWJ1dHRvbl9fdG9nZ2xlIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLW9uLWJhY2tncm91bmQpXG5cdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24uY2stb24gLmNrLWJ1dHRvbl9fdG9nZ2xlOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24tb24taG92ZXItYmFja2dyb3VuZCk7XG5cdFx0fVxuXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbi5jay1vbiAuY2stYnV0dG9uX190b2dnbGUgLmNrLWJ1dHRvbl9fdG9nZ2xlX19pbm5lciB7XG5cdFx0XHQvKlxuXHRcdFx0ICogTW92ZSB0aGUgdG9nZ2xlIHN3aXRjaCB0byB0aGUgcmlnaHQuIEl0IHdpbGwgYmUgYW5pbWF0ZWQuXG5cdFx0XHQgKlxuXHRcdFx0ICogRWRnZSBpcyBub3Qgc3VwcG9ydGluZyBjYWxjKCkgaW4gdGhlIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCB3ZSBuZWVkIHRvIGhhcmRjb2RlIHRoaXMgdmFsdWUgKHNlZSBja2VkaXRvcjUtdWkjNDMzKS5cblx0XHRcdCAqIEl0IGJvaWxzIGRvd24gdG86XG5cdFx0XHQgKlxuXHRcdFx0ICogXHRjYWxjKFxuXHRcdFx0ICogXHRcdHZhcigtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLXdpZHRoKSAtXG5cdFx0XHQgKiBcdFx0dmFyKC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtaW5uZXItc2l6ZSkgLVxuXHRcdFx0ICogXHRcdDIqdmFyKC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtc3BhY2luZykgKVxuXHRcdFx0ICogXHQpXG5cdFx0XHQgKi9cblx0XHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24uY2stb24gLmNrLWJ1dHRvbl9fdG9nZ2xlIC5jay1idXR0b25fX3RvZ2dsZV9faW5uZXIge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIHZhciggLS1jay1zd2l0Y2gtYnV0dG9uLXRyYW5zbGF0aW9uICkgKVxuXHRcdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbi5jay1vbiAuY2stYnV0dG9uX190b2dnbGUgLmNrLWJ1dHRvbl9fdG9nZ2xlX19pbm5lciB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCggY2FsYyggLTEgKiB2YXIoIC0tY2stc3dpdGNoLWJ1dHRvbi10cmFuc2xhdGlvbiApICkgKVxuXHRcdH1cbiIsIi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxkcm9wZG93blxcdG9vbGJhcmRyb3Bkb3duLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay10b29sYmFyLWRyb3Bkb3duIC5jay10b29sYmFyIHtcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0fVxuXG4uY2suY2stdG9vbGJhci1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1idXR0b246Zm9jdXMge1xuXHRcdFx0ei1pbmRleDogY2FsYyh2YXIoLS1jay16LWRlZmF1bHQpICsgMSk7XG5cdFx0fVxuXG4vKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGNvbXBvbmVudHNcXGRyb3Bkb3duXFx0b29sYmFyZHJvcGRvd24uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXRvb2xiYXItZHJvcGRvd24gLmNrLXRvb2xiYXIge1xuXHRib3JkZXI6IDA7XG59XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXVpXFx0aGVtZVxcY29tcG9uZW50c1xcZHJvcGRvd25cXGxpc3Rkcm9wZG93bi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogTm90ZTogVGhpcyBmaWxlIHNob3VsZCBjb250YWluIHRoZSB3aXJlZnJhbWUgc3R5bGVzIG9ubHkuIEJ1dCBzaW5jZSB0aGVyZSBhcmUgbm8gc3VjaCBzdHlsZXMsXG4gKiBpdCBhY3RzIGFzIGEgbWVzc2FnZSB0byB0aGUgYnVpbGRlciB0ZWxsaW5nIHRoYXQgaXQgc2hvdWxkIGxvb2sgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHN0eWxlc1xuICogKippbiB0aGUgdGhlbWUqKiB3aGVuIGNvbXBpbGluZyB0aGUgZWRpdG9yLlxuICovXG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcZHJvcGRvd25cXGxpc3Rkcm9wZG93bi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1saXN0IHtcblx0LyogRGlzYWJsZWQgcmFkaXVzIG9mIHRvcC1sZWZ0IGJvcmRlciB0byBiZSBjb25zaXN0ZW50IHdpdGggLmRyb3Bkb3duX19idXR0b25cblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvODE2ICovXG5cdGJvcmRlci1yYWRpdXM6IDBcbn1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCAuY2stbGlzdCwgLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwgLmNrLWxpc3QuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwXG59XG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1saXN0IHtcblxuXHQvKiBNYWtlIHN1cmUgdGhlIGJ1dHRvbiBiZWxvbmdpbmcgdG8gdGhlIGZpcnN0L2xhc3QgY2hpbGQgb2YgdGhlIGxpc3QgZ29lcyB3ZWxsIHdpdGggdGhlXG5cdGJvcmRlciByYWRpdXMgb2YgdGhlIGVudGlyZSBwYW5lbC4gKi9cbn1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwgLmNrLWxpc3QgLmNrLWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQgLmNrLWJ1dHRvbiB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwXG5cdFx0fVxuXG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1saXN0IC5jay1saXN0X19pdGVtOmZpcnN0LWNoaWxkIC5jay1idXR0b24sIC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1saXN0IC5jay1saXN0X19pdGVtOmZpcnN0LWNoaWxkIC5jay1idXR0b24uY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBcblx0XHR9XG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1saXN0IC5jay1saXN0X19pdGVtOmxhc3QtY2hpbGQgLmNrLWJ1dHRvbiB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwXG5cdFx0fVxuXG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1saXN0IC5jay1saXN0X19pdGVtOmxhc3QtY2hpbGQgLmNrLWJ1dHRvbiwgLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwgLmNrLWxpc3QgLmNrLWxpc3RfX2l0ZW06bGFzdC1jaGlsZCAuY2stYnV0dG9uLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdFx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwXG5cdFx0fVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS1lbmdpbmVcXHRoZW1lXFxwbGFjZWhvbGRlci5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKiBTZWUgY2tlZGl0b3IvY2tlZGl0b3I1IzkzNi4gKi9cblxuLmNrLmNrLXBsYWNlaG9sZGVyOjpiZWZvcmUsIC5jayAuY2stcGxhY2Vob2xkZXI6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogYXR0cihkYXRhLXBsYWNlaG9sZGVyKTtcblxuXHRcdC8qIFNlZSBja2VkaXRvci9ja2VkaXRvcjUjNDY5LiAqL1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS1lbmdpbmVcXHBsYWNlaG9sZGVyLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qIFNlZSBja2VkaXRvci9ja2VkaXRvcjUjOTM2LiAqL1xuXG4uY2suY2stcGxhY2Vob2xkZXI6OmJlZm9yZSwgLmNrIC5jay1wbGFjZWhvbGRlcjo6YmVmb3JlIHtcblx0XHRjdXJzb3I6IHRleHQ7XG5cdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWVuZ2luZS1wbGFjZWhvbGRlci10ZXh0KTtcblx0fVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGNvbXBvbmVudHNcXGVkaXRvcnVpXFxlZGl0b3J1aS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogTm90ZTogVGhpcyBmaWxlIHNob3VsZCBjb250YWluIHRoZSB3aXJlZnJhbWUgc3R5bGVzIG9ubHkuIEJ1dCBzaW5jZSB0aGVyZSBhcmUgbm8gc3VjaCBzdHlsZXMsXG4gKiBpdCBhY3RzIGFzIGEgbWVzc2FnZSB0byB0aGUgYnVpbGRlciB0ZWxsaW5nIHRoYXQgaXQgc2hvdWxkIGxvb2sgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHN0eWxlc1xuICogKippbiB0aGUgdGhlbWUqKiB3aGVuIGNvbXBpbGluZyB0aGUgZWRpdG9yLlxuICovXG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcZWRpdG9ydWlcXGVkaXRvcnVpLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgY2xhc3Mgd2hpY2ggaW5kaWNhdGVzIHRoYXQgYW4gZWxlbWVudCBob2xkaW5nIGl0IGlzIGRpc2FibGVkLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIGhlbHBlciB0byBjb21iaW5lIG11bHRpcGxlIHNoYWRvd3MuXG4gKi9cblxuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBib3JkZXIuXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgYSBidXR0b24gb2YgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4gKiBAcGFyYW0ge1N0cmluZ30gJGJvcmRlciAtIEJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuICovXG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlOm5vdCguY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGUpIHtcblx0Ym9yZGVyLXJhZGl1czogMFxufVxuXG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlOm5vdCguY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGUpLCAuY2suY2stZWRpdG9yX19lZGl0YWJsZTpub3QoLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlKS5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpXG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlOm5vdCguY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGUpLmNrLWZvY3VzZWQge1xuXHRcdC8qIERpc2FibGUgbmF0aXZlIG91dGxpbmUuICovXG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3JkZXI6IHZhcigtLWNrLWZvY3VzLXJpbmcpO1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLWNrLWlubmVyLXNoYWRvdyksIDAgMDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUge1xuXHRvdmVyZmxvdzogYXV0bztcblx0cGFkZGluZzogMCB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnRcbn1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lW2Rpcj1cImx0clwiXSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmVbZGlyPVwicnRsXCJdIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUge1xuXG5cdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvMTE2ICovXG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZSA+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZSB7XG5cblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvODQ3ICovXG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZSA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdH1cblxuLyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy8xMTEgKi9cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stdG9vbGJhci1jb250YWluZXJbY2xhc3MqPVwiYXJyb3dfblwiXTo6YWZ0ZXIge1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtZm9yZWdyb3VuZCk7XG5cdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stdG9vbGJhci1jb250YWluZXJbY2xhc3MqPVwiYXJyb3dfc1wiXTo6YWZ0ZXIge1xuXHRcdGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtZm9yZWdyb3VuZCk7XG5cdH1cbiIsIi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxsYWJlbFxcbGFiZWwuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5jay5jay12b2ljZS1sYWJlbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcbGFiZWxcXGxhYmVsLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGNvbXBvbmVudHNcXHBhbmVsXFxzdGlja3lwYW5lbC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stc3RpY2t5LXBhbmVsIC5jay1zdGlja3ktcGFuZWxfX2NvbnRlbnRfc3RpY2t5IHtcblx0XHR6LWluZGV4OiB2YXIoLS1jay16LW1vZGFsKTsgLyogIzMxNSAqL1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdH1cblxuLmNrLmNrLXN0aWNreS1wYW5lbCAuY2stc3RpY2t5LXBhbmVsX19jb250ZW50X3N0aWNreV9ib3R0b20tbGltaXQge1xuXHRcdHRvcDogYXV0bztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdH1cblxuLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXVpXFxjb21wb25lbnRzXFxwYW5lbFxcc3RpY2t5cGFuZWwuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuXG4vKipcbiAqIEdpdmVzIGFuIGVsZW1lbnQgYSBkcm9wIHNoYWRvdyBzbyBpdCBsb29rcyBsaWtlIGEgZmxvYXRpbmcgcGFuZWwuXG4gKi9cblxuLmNrLmNrLXN0aWNreS1wYW5lbCAuY2stc3RpY2t5LXBhbmVsX19jb250ZW50X3N0aWNreSB7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tY2stZHJvcC1zaGFkb3cpLCAwIDA7XG5cblx0XHRib3JkZXItd2lkdGg6IDAgMXB4IDFweDtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWVkaXRvci1jbGFzc2ljXFx0aGVtZVxcY2xhc3NpY2VkaXRvci5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZWRpdG9yIHtcblx0LyogQWxsIHRoZSBlbGVtZW50cyB3aXRoaW4gYC5jay1lZGl0b3JgIGFyZSBwb3NpdGlvbmVkIHJlbGF0aXZlbHkgdG8gaXQuXG5cdCBJZiBhbnkgZWxlbWVudCBuZWVkcyB0byBiZSBwb3NpdGlvbmVkIHdpdGggcmVzcGVjdCB0byB0aGUgPGJvZHk+LCBldGMuLFxuXHQgaXQgbXVzdCBsYW5kIG91dHNpZGUgb2YgdGhlIGAuY2stZWRpdG9yYCBpbiBET00uICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZVxufVxuXG4uY2suY2stZWRpdG9yIC5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay10b29sYmFyIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWVkaXRvci1jbGFzc2ljL2lzc3Vlcy82MiAqL1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotbW9kYWwpO1xuXHR9XG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS1lZGl0b3ItY2xhc3NpY1xcY2xhc3NpY2VkaXRvci5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG5cbi5jay5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay10b29sYmFyIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0fVxuXG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay10b29sYmFyLCAuY2suY2stZWRpdG9yX190b3AgLmNrLXN0aWNreS1wYW5lbCAuY2stdG9vbGJhci5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcblx0XHR9XG5cbi5jay5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay10b29sYmFyIHtcblxuXHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMDtcblx0XHR9XG5cbi5jay5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay1zdGlja3ktcGFuZWxfX2NvbnRlbnRfc3RpY2t5IC5jay10b29sYmFyIHtcblx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMFxuXHRcdH1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stZWRpdG9yX190b3AgLmNrLXN0aWNreS1wYW5lbCAuY2stc3RpY2t5LXBhbmVsX19jb250ZW50X3N0aWNreSAuY2stdG9vbGJhciwgLmNrLmNrLWVkaXRvcl9fdG9wIC5jay1zdGlja3ktcGFuZWwgLmNrLXN0aWNreS1wYW5lbF9fY29udGVudF9zdGlja3kgLmNrLXRvb2xiYXIuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMFxuXHRcdH1cblxuLyogTm90ZTogVXNlIGNrLWVkaXRvcl9fbWFpbiB0byBtYWtlIHN1cmUgdGhlc2Ugc3R5bGVzIGRvbid0IGFwcGx5IHRvIG90aGVyIGVkaXRvciB0eXBlcyAqL1xuXG4uY2suY2stZWRpdG9yX19tYWluID4gLmNrLWVkaXRvcl9fZWRpdGFibGUge1xuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzExMyAqL1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXG5cdGJvcmRlci1yYWRpdXM6IDBcbn1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stZWRpdG9yX19tYWluID4gLmNrLWVkaXRvcl9fZWRpdGFibGUsIC5jay5jay1lZGl0b3JfX21haW4gPiAuY2stZWRpdG9yX19lZGl0YWJsZS5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBcbn1cblxuLmNrLmNrLWVkaXRvcl9fbWFpbiA+IC5jay1lZGl0b3JfX2VkaXRhYmxlOm5vdCguY2stZm9jdXNlZCkge1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHR9XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWhlYWRpbmdcXHRoZW1lXFxoZWFkaW5nLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1oZWFkaW5nX2hlYWRpbmcxIHtcblx0Zm9udC1zaXplOiAyMHB4O1xufVxuXG4uY2suY2staGVhZGluZ19oZWFkaW5nMiB7XG5cdGZvbnQtc2l6ZTogMTdweDtcbn1cblxuLmNrLmNrLWhlYWRpbmdfaGVhZGluZzMge1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5ja1tjbGFzcyo9XCJjay1oZWFkaW5nX2hlYWRpbmdcIl0ge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LWhlYWRpbmdcXGhlYWRpbmcuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyogUmVzaXplIGRyb3Bkb3duJ3MgYnV0dG9uIGxhYmVsLiAqL1xuXG4uY2suY2stZHJvcGRvd24uY2staGVhZGluZy1kcm9wZG93biAuY2stZHJvcGRvd25fX2J1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0d2lkdGg6IDhlbTtcblx0fVxuXG4uY2suY2stZHJvcGRvd24uY2staGVhZGluZy1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1saXN0X19pdGVtIHtcblx0XHRtaW4td2lkdGg6IDE4ZW07XG5cdH1cbiIsIi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtbGlua1xcdGhlbWVcXGxpbmsuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIE5vdGU6IFRoaXMgZmlsZSBzaG91bGQgY29udGFpbiB0aGUgd2lyZWZyYW1lIHN0eWxlcyBvbmx5LiBCdXQgc2luY2UgdGhlcmUgYXJlIG5vIHN1Y2ggc3R5bGVzLFxuICogaXQgYWN0cyBhcyBhIG1lc3NhZ2UgdG8gdGhlIGJ1aWxkZXIgdGVsbGluZyB0aGF0IGl0IHNob3VsZCBsb29rIGZvciB0aGUgY29ycmVzcG9uZGluZyBzdHlsZXNcbiAqICoqaW4gdGhlIHRoZW1lKiogd2hlbiBjb21waWxpbmcgdGhlIGVkaXRvci5cbiAqL1xuXG4vKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtbGlua1xcbGluay5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKiBDbGFzcyBhZGRlZCB0byBzcGFuIGVsZW1lbnQgc3Vycm91bmRpbmcgY3VycmVudGx5IHNlbGVjdGVkIGxpbmsuICovXG5cbi5jayAuY2stbGlua19zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpbmstc2VsZWN0ZWQtYmFja2dyb3VuZCk7XG59XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXVpXFx0aGVtZVxcY29tcG9uZW50c1xccGFuZWxcXGJhbGxvb25wYW5lbC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC8qIE1ha2Ugc3VyZSB0aGUgYmFsbG9vbiBhcnJvdyBkb2VzIG5vdCBmbG9hdCBvdmVyIGl0cyBjaGlsZHJlbi4gKi9cblx0LS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXg6IGNhbGModmFyKC0tY2stei1kZWZhdWx0KSAtIDMpO1xufVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHR6LWluZGV4OiB2YXIoLS1jay16LW1vZGFsKVxufVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX3dpdGgtYXJyb3c6OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX3dpdGgtYXJyb3c6OmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX3dpdGgtYXJyb3c6OmJlZm9yZSB7XG5cdFx0XHR6LWluZGV4OiB2YXIoLS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXgpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF93aXRoLWFycm93OjphZnRlciB7XG5cdFx0XHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLWJhbGxvb24tcGFuZWwtYXJyb3ctei1pbmRleCkgKyAxKTtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X25cIl06OmJlZm9yZSB7XG5cdFx0XHR6LWluZGV4OiB2YXIoLS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXgpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWxbY2xhc3MqPVwiYXJyb3dfblwiXTo6YWZ0ZXIge1xuXHRcdFx0ei1pbmRleDogY2FsYyh2YXIoLS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXgpICsgMSk7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19zXCJdOjpiZWZvcmUge1xuXHRcdFx0ei1pbmRleDogdmFyKC0tY2stYmFsbG9vbi1wYW5lbC1hcnJvdy16LWluZGV4KTtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X3NcIl06OmFmdGVyIHtcblx0XHRcdHotaW5kZXg6IGNhbGModmFyKC0tY2stYmFsbG9vbi1wYW5lbC1hcnJvdy16LWluZGV4KSArIDEpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF92aXNpYmxlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG4vKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGNvbXBvbmVudHNcXHBhbmVsXFxiYWxsb29ucGFuZWwuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG5cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stYmFsbG9vbi1hcnJvdy1vZmZzZXQ6IDJweDtcblx0LS1jay1iYWxsb29uLWFycm93LWhlaWdodDogMTBweDtcblx0LS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGg6IDhweDtcbn1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwge1xuXHRib3JkZXItcmFkaXVzOiAwXG59XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWJhbGxvb24tcGFuZWwsIC5jay5jay1iYWxsb29uLXBhbmVsLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cylcbn1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwge1xuXHRib3gtc2hhZG93OiB2YXIoLS1jay1kcm9wLXNoYWRvdyksIDAgMDtcblxuXHRtaW4taGVpZ2h0OiAxNXB4O1xuXG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1wYW5lbC1ib3JkZXIpXG59XG5cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfd2l0aC1hcnJvdzo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfd2l0aC1hcnJvdzo6YWZ0ZXIge1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWxbY2xhc3MqPVwiYXJyb3dfblwiXTo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X25cIl06OmFmdGVyIHtcblx0XHRcdGJvcmRlci13aWR0aDogMCB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWxbY2xhc3MqPVwiYXJyb3dfblwiXTo6YmVmb3JlIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tY2stY29sb3ItcGFuZWwtYm9yZGVyKSB0cmFuc3BhcmVudDtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X25cIl06OmFmdGVyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tY2stY29sb3ItcGFuZWwtYmFja2dyb3VuZCkgdHJhbnNwYXJlbnQ7XG5cdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1iYWxsb29uLWFycm93LW9mZnNldCk7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19zXCJdOjpiZWZvcmUsXG5cdFx0LmNrLmNrLWJhbGxvb24tcGFuZWxbY2xhc3MqPVwiYXJyb3dfc1wiXTo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkgdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSAwIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCk7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19zXCJdOjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jay1jb2xvci1wYW5lbC1ib3JkZXIpIHRyYW5zcGFyZW50ICB0cmFuc3BhcmVudDtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X3NcIl06OmFmdGVyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItcGFuZWwtYmFja2dyb3VuZCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1jay1iYWxsb29uLWFycm93LW9mZnNldCk7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X246OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X246OmFmdGVyIHtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHR0b3A6IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19udzo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfbnc6OmFmdGVyIHtcblx0XHRcdGxlZnQ6IGNhbGMoMiAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfbmU6OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X25lOjphZnRlciB7XG5cdFx0XHRyaWdodDogY2FsYygyICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHR0b3A6IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zOjpiZWZvcmUsXG5cdFx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zOjphZnRlciB7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0Ym90dG9tOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc3c6OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X3N3OjphZnRlciB7XG5cdFx0XHRsZWZ0OiBjYWxjKDIgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdGJvdHRvbTogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X3NlOjpiZWZvcmUsXG5cdFx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zZTo6YWZ0ZXIge1xuXHRcdFx0cmlnaHQ6IGNhbGMoMiAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0Ym90dG9tOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXVpXFx0aGVtZVxcY29tcG9uZW50c1xccGFuZWxcXGJhbGxvb25yb3RhdG9yLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jayAuY2stYmFsbG9vbi1yb3RhdG9yX19uYXZpZ2F0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEJ1dHRvbnMgaW5zaWRlIGEgdG9vbGJhciBzaG91bGQgYmUgY2VudGVyZWQgd2hlbiByb3RhdG9yIGJhciBpcyB3aWRlci5cbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS11aS9pc3N1ZXMvNDk1XG4gKi9cblxuLmNrIC5jay1iYWxsb29uLXJvdGF0b3JfX2NvbnRlbnQgLmNrLXRvb2xiYXIge1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXVpXFxjb21wb25lbnRzXFxwYW5lbFxcYmFsbG9vbnJvdGF0b3IuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrIC5jay1iYWxsb29uLXJvdGF0b3JfX25hdmlnYXRpb24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci10b29sYmFyLWJhY2tncm91bmQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItdG9vbGJhci1ib3JkZXIpO1xuXHRwYWRkaW5nOiAwIHZhcigtLWNrLXNwYWNpbmctc21hbGwpXG5cblx0LyogTGV0J3Mga2VlcCBzaW1pbGFyIGFwcGVhcmFuY2UgdG8gYGNrLXRvb2xiYXJgLiAqL1xufVxuXG4uY2sgLmNrLWJhbGxvb24tcm90YXRvcl9fbmF2aWdhdGlvbiA+ICoge1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cblxuLmNrIC5jay1iYWxsb29uLXJvdGF0b3JfX25hdmlnYXRpb24ge1xuXG5cdC8qIEdpdmVzIGNvdW50ZXIgbW9yZSBicmVhdGggdGhhbiBidXR0b25zLiAqL1xufVxuXG4uY2sgLmNrLWJhbGxvb24tcm90YXRvcl9fbmF2aWdhdGlvbiAuY2stYmFsbG9vbi1yb3RhdG9yX19jb3VudGVyIHtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0LyogV2UgbmVlZCB0byB1c2Ugc21hbGxlciBtYXJnaW4gYmVjYXVzZSBvZiBwcmV2aW91cyBidXR0b24ncyByaWdodCBtYXJnaW4uICovXG5cdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG5cbi5jayAuY2stYmFsbG9vbi1yb3RhdG9yX19jb250ZW50IHtcblxuXHQvKiBEaXNhYmxlIGRlZmF1bHQgYW5ub3RhdGlvbiBzaGFkb3cgaW5zaWRlIHJvdGF0b3Igd2l0aCBmYWtlIHBhbmVscy4gKi9cbn1cblxuLmNrIC5jay1iYWxsb29uLXJvdGF0b3JfX2NvbnRlbnQgLmNrLmNrLWFubm90YXRpb24td3JhcHBlciB7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGNvbXBvbmVudHNcXHBhbmVsXFxmYWtlcGFuZWwuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrIC5jay1mYWtlLXBhbmVsIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdC8qIEZha2UgcGFuZWxzIHNob3VsZCBiZSBwbGFjZWQgdW5kZXIgbWFpbiBiYWxsb29uIGNvbnRlbnQuICovXG5cdHotaW5kZXg6IGNhbGModmFyKC0tY2stei1tb2RhbCkgLSAxKTtcbn1cblxuLmNrIC5jay1mYWtlLXBhbmVsIGRpdiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmNrIC5jay1mYWtlLXBhbmVsIGRpdjpudGgtY2hpbGQoIDEgKSB7XG5cdHotaW5kZXg6IDI7XG59XG5cbi5jayAuY2stZmFrZS1wYW5lbCBkaXY6bnRoLWNoaWxkKCAyICkge1xuXHR6LWluZGV4OiAxO1xufVxuXG4vKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGNvbXBvbmVudHNcXHBhbmVsXFxmYWtlcGFuZWwuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuXG4vKipcbiAqIEdpdmVzIGFuIGVsZW1lbnQgYSBkcm9wIHNoYWRvdyBzbyBpdCBsb29rcyBsaWtlIGEgZmxvYXRpbmcgcGFuZWwuXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWJhbGxvb24tZmFrZS1wYW5lbC1vZmZzZXQtaG9yaXpvbnRhbDogNnB4O1xuXHQtLWNrLWJhbGxvb24tZmFrZS1wYW5lbC1vZmZzZXQtdmVydGljYWw6IDZweDtcbn1cblxuLyogTGV0J3MgdXNlIGAuY2stYmFsbG9vbi1wYW5lbGAgYXBwZWFyYW5jZS4gU2VlOiBiYWxsb29ucGFuZWwuY3NzLiAqL1xuXG4uY2sgLmNrLWZha2UtcGFuZWwgZGl2IHtcblx0Ym94LXNoYWRvdzogdmFyKC0tY2stZHJvcC1zaGFkb3cpLCAwIDA7XG5cblx0bWluLWhlaWdodDogMTVweDtcblxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItcGFuZWwtYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmNrIC5jay1mYWtlLXBhbmVsIGRpdjpudGgtY2hpbGQoIDEgKSB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1iYWxsb29uLWZha2UtcGFuZWwtb2Zmc2V0LWhvcml6b250YWwpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1jay1iYWxsb29uLWZha2UtcGFuZWwtb2Zmc2V0LXZlcnRpY2FsKTtcbn1cblxuLmNrIC5jay1mYWtlLXBhbmVsIGRpdjpudGgtY2hpbGQoIDIgKSB7XG5cdG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWNrLWJhbGxvb24tZmFrZS1wYW5lbC1vZmZzZXQtaG9yaXpvbnRhbCkgKiAyKTtcblx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jay1iYWxsb29uLWZha2UtcGFuZWwtb2Zmc2V0LXZlcnRpY2FsKSAqIDIpO1xufVxuXG4uY2sgLmNrLWZha2UtcGFuZWwgZGl2Om50aC1jaGlsZCggMyApIHtcblx0bWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC1ob3Jpem9udGFsKSAqIDMpO1xuXHRtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNrLWJhbGxvb24tZmFrZS1wYW5lbC1vZmZzZXQtdmVydGljYWwpICogMyk7XG59XG5cbi8qIElmIGJhbGxvb24gaXMgcG9zaXRpb25lZCBhYm92ZSBlbGVtZW50LCB3ZSBuZWVkIHRvIG1vdmUgZmFrZSBwYW5lbCB0byB0aGUgdG9wLiAqL1xuXG4uY2sgLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfcyArIC5jay1mYWtlLXBhbmVsLFxuLmNrIC5jay1iYWxsb29uLXBhbmVsX2Fycm93X3NlICsgLmNrLWZha2UtcGFuZWwsXG4uY2sgLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc3cgKyAuY2stZmFrZS1wYW5lbCB7XG5cdC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC12ZXJ0aWNhbDogLTZweDtcbn1cbiIsIi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxsYWJlbGVkaW5wdXRcXGxhYmVsZWRpbnB1dC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogTm90ZTogVGhpcyBmaWxlIHNob3VsZCBjb250YWluIHRoZSB3aXJlZnJhbWUgc3R5bGVzIG9ubHkuIEJ1dCBzaW5jZSB0aGVyZSBhcmUgbm8gc3VjaCBzdHlsZXMsXG4gKiBpdCBhY3RzIGFzIGEgbWVzc2FnZSB0byB0aGUgYnVpbGRlciB0ZWxsaW5nIHRoYXQgaXQgc2hvdWxkIGxvb2sgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHN0eWxlc1xuICogKippbiB0aGUgdGhlbWUqKiB3aGVuIGNvbXBpbGluZyB0aGUgZWRpdG9yLlxuICovXG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcbGFiZWxlZGlucHV0XFxsYWJlbGVkaW5wdXQuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWxhYmVsZWQtaW5wdXQgLmNrLWxhYmVsZWQtaW5wdXRfX3N0YXR1cyB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tY2stZm9udC1zaXplLXNtYWxsKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cblx0LyogTGV0IHRoZSBpbmZvIHdyYXAgdG8gdGhlIG5leHQgbGluZSB0byBhdm9pZCBzdHJldGNoaW5nIHRoZSBsYXlvdXQgaG9yaXpvbnRhbGx5LlxuXHRUaGUgc3RhdHVzIGNvdWxkIGJlIHZlcnkgbG9uZy4gKi9cblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLmNrLmNrLWxhYmVsZWQtaW5wdXQgLmNrLWxhYmVsZWQtaW5wdXRfX3N0YXR1c19lcnJvciB7XG5cdGNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWVycm9yKTtcbn1cbiIsIi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxpbnB1dHRleHRcXGlucHV0dGV4dC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogTm90ZTogVGhpcyBmaWxlIHNob3VsZCBjb250YWluIHRoZSB3aXJlZnJhbWUgc3R5bGVzIG9ubHkuIEJ1dCBzaW5jZSB0aGVyZSBhcmUgbm8gc3VjaCBzdHlsZXMsXG4gKiBpdCBhY3RzIGFzIGEgbWVzc2FnZSB0byB0aGUgYnVpbGRlciB0ZWxsaW5nIHRoYXQgaXQgc2hvdWxkIGxvb2sgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHN0eWxlc1xuICogKippbiB0aGUgdGhlbWUqKiB3aGVuIGNvbXBpbGluZyB0aGUgZWRpdG9yLlxuICovXG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcaW5wdXR0ZXh0XFxpbnB1dHRleHQuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSB2aXN1YWwgc3R5bGUgb2YgZm9jdXNlZCBlbGVtZW50J3MgYm9yZGVyLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIGhlbHBlciB0byBjb21iaW5lIG11bHRpcGxlIHNoYWRvd3MuXG4gKi9cblxuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG5cbjpyb290IHtcblx0LS1jay1pbnB1dC10ZXh0LXdpZHRoOiAxOGVtO1xufVxuXG4uY2suY2staW5wdXQtdGV4dCB7XG5cdGJvcmRlci1yYWRpdXM6IDBcbn1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2staW5wdXQtdGV4dCwgLmNrLmNrLWlucHV0LXRleHQuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKVxufVxuXG4uY2suY2staW5wdXQtdGV4dCB7XG5cdGJveC1zaGFkb3c6IHZhcigtLWNrLWlubmVyLXNoYWRvdyksIDAgMDtcblxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1pbnB1dC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItaW5wdXQtYm9yZGVyKTtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1leHRyYS10aW55KSB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdG1pbi13aWR0aDogdmFyKC0tY2staW5wdXQtdGV4dC13aWR0aCk7XG5cblx0LyogVGhpcyBpcyBpbXBvcnRhbnQgdG8gc3RheSBvZiB0aGUgc2FtZSBoZWlnaHQgYXMgc3Vycm91bmRpbmcgYnV0dG9ucyAqL1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodCk7XG5cblx0LyogQXBwbHkgc29tZSBzbW9vdGggdHJhbnNpdGlvbiB0byB0aGUgYm94LXNoYWRvdyBhbmQgYm9yZGVyLiAqL1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93LCBib3JkZXI7XG5cdHRyYW5zaXRpb246IC4ycyBlYXNlLWluLW91dFxufVxuXG4uY2suY2staW5wdXQtdGV4dDpmb2N1cyB7XG5cdFx0LyogRGlzYWJsZSBuYXRpdmUgb3V0bGluZS4gKi9cblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlcjogdmFyKC0tY2stZm9jdXMtcmluZyk7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93KSwgdmFyKC0tY2staW5uZXItc2hhZG93KTtcblx0fVxuXG4uY2suY2staW5wdXQtdGV4dFtyZWFkb25seV0ge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLWJvcmRlcik7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItaW5wdXQtZGlzYWJsZWQtYmFja2dyb3VuZCk7XG5cdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLXRleHQpXG5cdH1cblxuLmNrLmNrLWlucHV0LXRleHRbcmVhZG9ubHldOmZvY3VzIHtcblx0XHRcdC8qIFRoZSByZWFkLW9ubHkgaW5wdXQgc2hvdWxkIGhhdmUgYSBzbGlnaHRseSBsZXNzIHZpc2libGUgc2hhZG93IHdoZW4gZm9jdXNlZC4gKi9cblx0XHRcdGJveC1zaGFkb3c6IHZhcigtLWNrLWZvY3VzLWRpc2FibGVkLW91dGVyLXNoYWRvdyksIHZhcigtLWNrLWlubmVyLXNoYWRvdyk7XG5cdFx0fVxuXG4uY2suY2staW5wdXQtdGV4dC5jay1lcnJvciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jay1jb2xvci1pbnB1dC1lcnJvci1ib3JkZXIpO1xuXHRcdGFuaW1hdGlvbjogY2stdGV4dC1pbnB1dC1zaGFrZSAuM3MgZWFzZSBib3RoXG5cdH1cblxuLmNrLmNrLWlucHV0LXRleHQuY2stZXJyb3I6Zm9jdXMge1xuXHRcdFx0Ym94LXNoYWRvdzogdmFyKC0tY2stZm9jdXMtZXJyb3Itb3V0ZXItc2hhZG93KSwgdmFyKC0tY2staW5uZXItc2hhZG93KTtcblx0XHR9XG5cbkBrZXlmcmFtZXMgY2stdGV4dC1pbnB1dC1zaGFrZSB7XG5cdDIwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpO1xuXHR9XG5cblx0NDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTtcblx0fVxuXG5cdDYwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpO1xuXHR9XG5cblx0ODAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTtcblx0fVxufVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS1saW5rXFx0aGVtZVxcbGlua2Zvcm0uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stbGluay1mb3JtIHtcblx0ZGlzcGxheTogZmxleFxufVxuXG4uY2suY2stbGluay1mb3JtIC5jay1sYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXG4uY2suY2stbGluay1mb3JtIHtcblx0XHRmbGV4LXdyYXA6IHdyYXBcbn1cblxuXHRcdC5jay5jay1saW5rLWZvcm0gLmNrLWxhYmVsZWQtaW5wdXQge1xuXHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHR9XG5cblx0XHQuY2suY2stbGluay1mb3JtIC5jay1idXR0b24ge1xuXHRcdFx0ZmxleC1iYXNpczogNTAlO1xuXHRcdH1cblx0fVxuXG4vKlxuICogU3R5bGUgbGluayBmb3JtIGRpZmZlcmVudGx5IHdoZW4gbWFudWFsIGRlY29yYXRvcnMgYXJlIGF2YWlsYWJsZS5cbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1saW5rL2lzc3Vlcy8xODYuXG4gKi9cblxuLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LWxpbmtcXGxpbmtmb3JtLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stbGluay1mb3JtIHtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZClcbn1cblxuLmNrLmNrLWxpbmstZm9ybTpmb2N1cyB7XG5cdFx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1saW5rL2lzc3Vlcy85MCAqL1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stbGluay1mb3JtID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWxpbmstZm9ybSA+IDpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHR9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cbi5jay5jay1saW5rLWZvcm0ge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0d2lkdGg6IGNhbGMoLjggKiB2YXIoLS1jay1pbnB1dC10ZXh0LXdpZHRoKSlcbn1cblxuXHRcdC5jay5jay1saW5rLWZvcm0gLmNrLWxhYmVsZWQtaW5wdXQge1xuXHRcdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSAwXG5cdFx0fVxuXG5cdFx0XHQuY2suY2stbGluay1mb3JtIC5jay1sYWJlbGVkLWlucHV0IC5jay1pbnB1dC10ZXh0IHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdC5jay5jay1saW5rLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKVxuXHRcdH1cblxuXHRcdFtkaXI9XCJsdHJcIl0gLmNrLmNrLWxpbmstZm9ybSAuY2stYnV0dG9uIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBcblx0XHR9XG5cblx0XHRcdFx0W2Rpcj1cImx0clwiXSAuY2suY2stbGluay1mb3JtIC5jay1idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0XHR9XG5cblx0XHRbZGlyPVwicnRsXCJdIC5jay5jay1saW5rLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwXG5cdFx0fVxuXG5cdFx0XHRcdFtkaXI9XCJydGxcIl0gLmNrLmNrLWxpbmstZm9ybSAuY2stYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0XHR9XG5cdH1cblxuLypcbiAqIFN0eWxlIGxpbmsgZm9ybSBkaWZmZXJlbnRseSB3aGVuIG1hbnVhbCBkZWNvcmF0b3JzIGFyZSBhdmFpbGFibGUuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbGluay9pc3N1ZXMvMTg2LlxuICovXG5cbi5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsIHtcblx0cGFkZGluZzogMDtcblx0bWluLXdpZHRoOiB2YXIoLS1jay1pbnB1dC10ZXh0LXdpZHRoKVxufVxuXG4uY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCAuY2stbGFiZWxlZC1pbnB1dCB7XG5cdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKVxuXHR9XG5cbi5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsIC5jay1sYWJlbGVkLWlucHV0IC5jay1pbnB1dC10ZXh0IHtcblx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblxuLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwgLmNrLWJ1dHRvbiB7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0d2lkdGg6IDUwJVxuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwgLmNrLWJ1dHRvbiB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMFxuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwgLmNrLWJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsIC5jay1idXR0b24ge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDBcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsIC5jay1idXR0b246bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0fVxuXG4uY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCB7XG5cblx0LyogVXNpbmcgYWRkaXRpb25hbCBgLmNrYCBjbGFzcyBmb3Igc3Ryb25nZXIgQ1NTIHNwZWNpZmljaXR5IHRoYW4gYC5jay5jay1saW5rLWZvcm0gPiA6bm90KDpmaXJzdC1jaGlsZClgLiAqL1xufVxuXG4uY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCAuY2suY2stbGlzdCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDBcblx0fVxuXG4uY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCAuY2suY2stbGlzdCAuY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiB7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR3aWR0aDogMTAwJVxuXHRcdH1cblxuLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwgLmNrLmNrLWxpc3QgLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b246aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0fVxuXG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWxpbmtcXHRoZW1lXFxsaW5rYWN0aW9ucy5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1saW5rLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcFxufVxuXG4uY2suY2stbGluay1hY3Rpb25zIC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9ja1xuXHR9XG5cbi5jay5jay1saW5rLWFjdGlvbnMgLmNrLWxpbmstYWN0aW9uc19fcHJldmlldyAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblxuLmNrLmNrLWxpbmstYWN0aW9ucyB7XG5cdFx0ZmxleC13cmFwOiB3cmFwXG59XG5cblx0XHQuY2suY2stbGluay1hY3Rpb25zIC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcge1xuXHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHR9XG5cblx0XHQuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b246bm90KC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcpIHtcblx0XHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0XHR9XG5cdH1cblxuLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LWxpbmtcXGxpbmthY3Rpb25zLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBFbmFibGVzIHRoZSB0b29sdGlwLCB3aGljaCBpcyB0aGUgdG9vbHRpcCBpcyBpbiBET00gYnV0XG4gKiBub3QgeWV0IGRpc3BsYXllZC5cbiAqL1xuXG4vKipcbiAqIERpc2FibGVzIHRoZSB0b29sdGlwIG1ha2luZyBpdCBkaXNhcHBlYXIgZnJvbSBET00uXG4gKi9cblxuLyoqXG4gKiBTaG93cyB0aGUgdG9vbHRpcCwgd2hpY2ggaXMgYWxyZWFkeSBpbiBET00uXG4gKiBSZXF1aXJlcyBgY2stdG9vbHRpcF9lbmFibGVkYCBmaXJzdC5cbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogTWFrZXMgZWxlbWVudCB1bnNlbGVjdGFibGUuXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSB2aXN1YWwgc3R5bGUgb2YgZm9jdXNlZCBlbGVtZW50J3MgYm9yZGVyLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIGhlbHBlciB0byBjb21iaW5lIG11bHRpcGxlIHNoYWRvd3MuXG4gKi9cblxuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWxpbmstYWN0aW9ucyB7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpXG59XG5cbi5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcge1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwXG5cdH1cblxuLmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uLmNrLWxpbmstYWN0aW9uc19fcHJldmlldyxcblx0XHQuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b24uY2stbGluay1hY3Rpb25zX19wcmV2aWV3OmhvdmVyLFxuXHRcdC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXc6Zm9jdXMsXG5cdFx0LmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uLmNrLWxpbmstYWN0aW9uc19fcHJldmlldzphY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHR9XG5cbi5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXc6YWN0aXZlIHtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXG4uY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b24uY2stbGluay1hY3Rpb25zX19wcmV2aWV3OmZvY3VzIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cbi5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0cGFkZGluZzogMCB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItbGluay1kZWZhdWx0KTtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0XHQvKiBNYXRjaCB0aGUgYm94IG1vZGVsIG9mIHRoZSBsaW5rIGVkaXRvciBmb3JtJ3MgaW5wdXQgc28gdGhlIGJhbGxvb25cblx0XHRcdGRvZXMgbm90IGNoYW5nZSB3aWR0aCB3aGVuIG1vdmluZyBiZXR3ZWVuIGFjdGlvbnMgYW5kIHRoZSBmb3JtLiAqL1xuXHRcdFx0bWF4LXdpZHRoOiB2YXIoLS1jay1pbnB1dC10ZXh0LXdpZHRoKTtcblx0XHRcdG1pbi13aWR0aDogM2VtO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyXG5cdFx0fVxuXG4uY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b24uY2stbGluay1hY3Rpb25zX19wcmV2aWV3IC5jay1idXR0b25fX2xhYmVsOmhvdmVyIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cbi5jay5jay1saW5rLWFjdGlvbnM6Zm9jdXMge1xuXHRcdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbGluay9pc3N1ZXMvOTAgKi9cblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblxuLmNrLmNrLWxpbmstYWN0aW9ucyB7XG5cdFx0cGFkZGluZzogMDtcblx0XHR3aWR0aDogY2FsYyguOCAqIHZhcigtLWNrLWlucHV0LXRleHQtd2lkdGgpKVxufVxuXG5cdFx0LmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uLmNrLWxpbmstYWN0aW9uc19fcHJldmlldyB7XG5cdFx0XHRtYXJnaW46IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpIHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpIDBcblx0XHR9XG5cblx0XHRcdC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbjpub3QoLmNrLWxpbmstYWN0aW9uc19fcHJldmlldykge1xuXHRcdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcilcblx0XHR9XG5cblx0XHRbZGlyPVwibHRyXCJdIC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbjpub3QoLmNrLWxpbmstYWN0aW9uc19fcHJldmlldykge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMFxuXHRcdH1cblxuXHRcdFx0XHRbZGlyPVwibHRyXCJdIC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbjpub3QoLmNrLWxpbmstYWN0aW9uc19fcHJldmlldyk6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0XHR9XG5cblx0XHRbZGlyPVwicnRsXCJdIC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbjpub3QoLmNrLWxpbmstYWN0aW9uc19fcHJldmlldykge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMFxuXHRcdH1cblxuXHRcdFx0XHRbZGlyPVwicnRsXCJdIC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbjpub3QoLmNrLWxpbmstYWN0aW9uc19fcHJldmlldyk6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0XHRcdH1cblx0fVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS1pbWFnZVxcdGhlbWVcXHRleHRhbHRlcm5hdGl2ZWZvcm0uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiBub3dyYXBcbn1cblxuLmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSAuY2stbGFiZWxlZC1pbnB1dCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cbi5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0gLmNrLWxhYmVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cbi5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0ge1xuXHRcdGZsZXgtd3JhcDogd3JhcFxufVxuXG5cdFx0LmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSAuY2stbGFiZWxlZC1pbnB1dCB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuXHRcdC5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdFx0fVxuXHR9XG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS1pbWFnZVxcdGV4dGFsdGVybmF0aXZlZm9ybS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSB7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpXG59XG5cbi5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm06Zm9jdXMge1xuXHRcdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbGluay9pc3N1ZXMvOTAgKi9cblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0gPiA6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0fVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXG4uY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHdpZHRoOiBjYWxjKC44ICogdmFyKC0tY2staW5wdXQtdGV4dC13aWR0aCkpXG59XG5cblx0XHQuY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIC5jay1sYWJlbGVkLWlucHV0IHtcblx0XHRcdG1hcmdpbjogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgMFxuXHRcdH1cblxuXHRcdFx0LmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSAuY2stbGFiZWxlZC1pbnB1dCAuY2staW5wdXQtdGV4dCB7XG5cdFx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHQuY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIC5jay1idXR0b24ge1xuXHRcdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcilcblx0XHR9XG5cblx0XHRbZGlyPVwibHRyXCJdIC5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwXG5cdFx0fVxuXG5cdFx0XHRcdFtkaXI9XCJsdHJcIl0gLmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSAuY2stYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdFx0fVxuXG5cdFx0W2Rpcj1cInJ0bFwiXSAuY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIC5jay1idXR0b24ge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMFxuXHRcdH1cblxuXHRcdFx0XHRbZGlyPVwicnRsXCJdIC5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0gLmNrLWJ1dHRvbjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdFx0fVxuXHR9XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWltYWdlXFx0aGVtZVxcaW1hZ2UuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWNvbnRlbnQgLmltYWdlIHtcblx0ZGlzcGxheTogdGFibGU7XG5cdGNsZWFyOiBib3RoO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LyogTWFrZSBzdXJlIHRoZXJlIGlzIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGUgY29udGVudCBhbmQgdGhlIGltYWdlLiBDZW50ZXIgaW1hZ2UgYnkgZGVmYXVsdC4gKi9cblx0bWFyZ2luOiAxZW0gYXV0b1xufVxuXG4uY2stY29udGVudCAuaW1hZ2UgPiBpbWcge1xuXHRcdC8qIFByZXZlbnQgdW5uZWNlc3NhcnkgbWFyZ2lucyBjYXVzZWQgYnkgbGluZS1oZWlnaHQgKHNlZSAjNDQpLiAqL1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0LyogQ2VudGVyIHRoZSBpbWFnZSBpZiBpdHMgd2lkdGggaXMgc21hbGxlciB0aGFuIHRoZSBjb250ZW50J3Mgd2lkdGguICovXG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cblx0XHQvKiBNYWtlIHN1cmUgdGhlIGltYWdlIG5ldmVyIGV4Y2VlZHMgdGhlIHNpemUgb2YgdGhlIHBhcmVudCBjb250YWluZXIgKGNrZWRpdG9yL2NrZWRpdG9yNS11aSM2NykuICovXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXG5cdFx0LyogTWFrZSBzdXJlIHRoZSBjYXB0aW9uIHdpbGwgYmUgZGlzcGxheWVkIHByb3Blcmx5IChTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE4NzApLiAqL1xuXHRcdG1pbi13aWR0aDogNTBweDtcblx0fVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS1pbWFnZVxcdGhlbWVcXGltYWdlY2FwdGlvbi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2stY29udGVudCAuaW1hZ2UgPiBmaWdjYXB0aW9uIHtcblx0ZGlzcGxheTogdGFibGUtY2FwdGlvbjtcblx0Y2FwdGlvbi1zaWRlOiBib3R0b207XG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdGNvbG9yOiBoc2woMCwgMCUsIDIwJSk7XG5cdGJhY2tncm91bmQtY29sb3I6IGhzbCgwLCAwJSwgOTclKTtcblx0cGFkZGluZzogLjZlbTtcblx0Zm9udC1zaXplOiAuNzVlbTtcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XG59XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWltYWdlXFx0aGVtZVxcaW1hZ2VzdHlsZS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2staW1hZ2Utc3R5bGUtc3BhY2luZzogMS41ZW07XG59XG5cbi5jay1jb250ZW50IC5pbWFnZS1zdHlsZS1zaWRlOm5vdCguaW1hZ2VfcmVzaXplZCksIC5jay1jb250ZW50IC5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0Om5vdCguaW1hZ2VfcmVzaXplZCksIC5jay1jb250ZW50IC5pbWFnZS1zdHlsZS1hbGlnbi1jZW50ZXI6bm90KC5pbWFnZV9yZXNpemVkKSwgLmNrLWNvbnRlbnQgLmltYWdlLXN0eWxlLWFsaWduLXJpZ2h0Om5vdCguaW1hZ2VfcmVzaXplZCkge1xuXHRcdFx0bWF4LXdpZHRoOiA1MCU7XG5cdFx0fVxuXG4uY2stY29udGVudCAuaW1hZ2Utc3R5bGUtc2lkZSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nKTtcblx0fVxuXG4uY2stY29udGVudCAuaW1hZ2Utc3R5bGUtYWxpZ24tbGVmdCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nKTtcblx0fVxuXG4uY2stY29udGVudCAuaW1hZ2Utc3R5bGUtYWxpZ24tY2VudGVyIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cblxuLmNrLWNvbnRlbnQgLmltYWdlLXN0eWxlLWFsaWduLXJpZ2h0IHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLWltYWdlLXN0eWxlLXNwYWNpbmcpO1xuXHR9XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWltYWdlXFx0aGVtZVxcaW1hZ2VyZXNpemUuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWNvbnRlbnQgLmltYWdlLmltYWdlX3Jlc2l6ZWQge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdC8qXG5cdFRoZSBmaWd1cmUgZWxlbWVudCBmb3IgcmVzaXplZCBpbWFnZXMgbXVzdCBub3QgdXNlIGBkaXNwbGF5OnRhYmxlYCBhcyBicm93c2VycyBkb2Vzbid0IHN1cHBvcnQgYG1heC13aWR0aGAgZm9yIGl0IHdlbGwuXG5cdFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80MDE5NjA0L2Nocm9tZS1zYWZhcmktaWdub3JpbmctbWF4LXdpZHRoLWluLXRhYmxlLzE0NDIwNjkxIzE0NDIwNjkxIGZvciBtb3JlLlxuXHRGb3J0dW5hdGVseSwgc2luY2Ugd2UgY29udHJvbCB3aWR0aCwgdGhlcmUncyBubyByaXNrIHRoYXQgdGhlIGltYWdlIHdpbGwgbG9vayBiYWQuXG5cdCovXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94XG59XG5cbi5jay1jb250ZW50IC5pbWFnZS5pbWFnZV9yZXNpemVkIGltZyB7XG5cdFx0LyogRm9yIHJlc2l6ZWQgaW1hZ2VzIGl0J3MgdGhlIGZpZ3VyZSB0aGF0IGRldGVybWluZXMgdGhlIGltYWdlJ3Mgd2lkdGguICovXG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuLmNrLWNvbnRlbnQgLmltYWdlLmltYWdlX3Jlc2l6ZWQgPiBmaWdjYXB0aW9uIHtcblx0XHQvKiBGaWd1cmUgdXNlcyBkaXNwbGF5IGJsb2NrLCBzbyBmaWdjYXB0aW9uIGFsc28gaGFzIHRvLiAqL1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWltYWdlXFx0aGVtZVxcaW1hZ2V1cGxvYWRwcm9ncmVzcy5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFVwbG9hZCBwcm9ncmVzcyBiYXIuICovXG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5pbWFnZSAuY2stcHJvZ3Jlc3MtYmFyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG59XG5cbi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS1pbWFnZVxcaW1hZ2V1cGxvYWRwcm9ncmVzcy5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2Uge1xuXHQvKiBTaG93aW5nIGFuaW1hdGlvbi4gKi9cbn1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmltYWdlLmNrLWFwcGVhciB7XG5cdFx0YW5pbWF0aW9uOiBmYWRlSW4gNzAwbXM7XG5cdH1cblxuLyogVXBsb2FkIHByb2dyZXNzIGJhci4gKi9cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmltYWdlIC5jay1wcm9ncmVzcy1iYXIge1xuXHRoZWlnaHQ6IDJweDtcblx0d2lkdGg6IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXVwbG9hZC1iYXItYmFja2dyb3VuZCk7XG5cdHRyYW5zaXRpb246IHdpZHRoIDEwMG1zO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG5cdGZyb20geyBvcGFjaXR5OiAwOyB9XG5cdHRvICAgeyBvcGFjaXR5OiAxOyB9XG59XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWltYWdlXFx0aGVtZVxcaW1hZ2V1cGxvYWRpY29uLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay1pbWFnZS11cGxvYWQtY29tcGxldGUtaWNvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTBweDtcblx0cmlnaHQ6IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJVxufVxuXG4uY2staW1hZ2UtdXBsb2FkLWNvbXBsZXRlLWljb246OmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxuXG4vKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtaW1hZ2VcXGltYWdldXBsb2FkaWNvbi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3ItaW1hZ2UtdXBsb2FkLWljb246IGhzbCgwLCAwJSwgMTAwJSk7XG5cdC0tY2stY29sb3ItaW1hZ2UtdXBsb2FkLWljb24tYmFja2dyb3VuZDogaHNsKDEyMCwgMTAwJSwgMjclKTtcblxuXHQtLWNrLWltYWdlLXVwbG9hZC1pY29uLXNpemU6IDIwcHg7XG5cdC0tY2staW1hZ2UtdXBsb2FkLWljb24td2lkdGg6IDJweDtcbn1cblxuLmNrLWltYWdlLXVwbG9hZC1jb21wbGV0ZS1pY29uIHtcblx0d2lkdGg6IHZhcigtLWNrLWltYWdlLXVwbG9hZC1pY29uLXNpemUpO1xuXHRoZWlnaHQ6IHZhcigtLWNrLWltYWdlLXVwbG9hZC1pY29uLXNpemUpO1xuXHRvcGFjaXR5OiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1pbWFnZS11cGxvYWQtaWNvbi1iYWNrZ3JvdW5kKTtcblx0YW5pbWF0aW9uLW5hbWU6IGNrLXVwbG9hZC1jb21wbGV0ZS1pY29uLXNob3csIGNrLXVwbG9hZC1jb21wbGV0ZS1pY29uLWhpZGU7XG5cdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzLCBmb3J3YXJkcztcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcywgNTAwbXM7XG5cblx0LyogVG8gbWFrZSBhbmltYXRpb24gc2NhbGFibGUuICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tY2staW1hZ2UtdXBsb2FkLWljb24tc2l6ZSk7XG5cblx0LyogSGlkZSBjb21wbGV0ZWQgdXBsb2FkIGljb24gYWZ0ZXIgMyBzZWNvbmRzLiAqL1xuXHRhbmltYXRpb24tZGVsYXk6IDBtcywgMzAwMG1zXG5cblx0LyogVGhpcyBpcyBjaGVjayBpY29uIGVsZW1lbnQgbWFkZSBmcm9tIGJvcmRlci13aWR0aCBtaXhlZCB3aXRoIGFuaW1hdGlvbnMuICovXG59XG5cbi5jay1pbWFnZS11cGxvYWQtY29tcGxldGUtaWNvbjo6YWZ0ZXIge1xuXHRcdC8qIEJlY2F1c2Ugb2YgYm9yZGVyIHRyYW5zZm9ybWF0aW9uIHdlIG5lZWQgdG8gXCJoYXJkIGNvZGVcIiBsZWZ0IHBvc2l0aW9uLiAqL1xuXHRcdGxlZnQ6IDI1JTtcblxuXHRcdHRvcDogNTAlO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdHdpZHRoOiAwO1xuXG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoLTEpIHJvdGF0ZSgxMzVkZWcpO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuXHRcdGJvcmRlci10b3A6IHZhcigtLWNrLWltYWdlLXVwbG9hZC1pY29uLXdpZHRoKSBzb2xpZCB2YXIoLS1jay1jb2xvci1pbWFnZS11cGxvYWQtaWNvbik7XG5cdFx0Ym9yZGVyLXJpZ2h0OiB2YXIoLS1jay1pbWFnZS11cGxvYWQtaWNvbi13aWR0aCkgc29saWQgdmFyKC0tY2stY29sb3ItaW1hZ2UtdXBsb2FkLWljb24pO1xuXG5cdFx0YW5pbWF0aW9uLW5hbWU6IGNrLXVwbG9hZC1jb21wbGV0ZS1pY29uLWNoZWNrO1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG5cdFx0YW5pbWF0aW9uLWRlbGF5OiA1MDBtcztcblx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcblxuXHRcdC8qICMxMDk1LiBXaGlsZSByZXNldCBpcyBub3QgcHJvdmlkaW5nIHByb3BlciBib3gtc2l6aW5nIGZvciBwc2V1ZG9lbGVtZW50cywgd2UgbmVlZCB0byBoYW5kbGUgaXQuICovXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXG5Aa2V5ZnJhbWVzIGNrLXVwbG9hZC1jb21wbGV0ZS1pY29uLXNob3cge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBjay11cGxvYWQtY29tcGxldGUtaWNvbi1oaWRlIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgY2stdXBsb2FkLWNvbXBsZXRlLWljb24tY2hlY2sge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR3aWR0aDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdH1cblx0MzMlIHtcblx0XHR3aWR0aDogMC4zZW07XG5cdFx0aGVpZ2h0OiAwO1xuXHR9XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0d2lkdGg6IDAuM2VtO1xuXHRcdGhlaWdodDogMC40NWVtO1xuXHR9XG59XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWltYWdlXFx0aGVtZVxcaW1hZ2V1cGxvYWRsb2FkZXIuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrIC5jay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwXG59XG5cbi5jayAuY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlcjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LWltYWdlXFxpbWFnZXVwbG9hZGxvYWRlci5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3ItdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlcjogaHNsKDAsIDAlLCA3MCUpO1xuXHQtLWNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXItc2l6ZTogMzJweDtcbn1cblxuLmNrIC5jay1pbWFnZS11cGxvYWQtcGxhY2Vob2xkZXIge1xuXHQvKiBXZSBuZWVkIHRvIGNvbnRyb2wgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIFNWRyBncmF5IGJhY2tncm91bmQuICovXG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW46IDA7XG59XG5cbi5jayAuY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCVcbn1cblxuLmNrIC5jay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyOjpiZWZvcmUge1xuXHRcdHdpZHRoOiB2YXIoLS1jay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyLXNpemUpO1xuXHRcdGhlaWdodDogdmFyKC0tY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlci1zaXplKTtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0Ym9yZGVyLXRvcDogM3B4IHNvbGlkIHZhcigtLWNrLWNvbG9yLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXIpO1xuXHRcdGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGFuaW1hdGlvbjogY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlciAxcyBsaW5lYXIgaW5maW5pdGU7XG5cdH1cblxuQGtleWZyYW1lcyBjay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyIHtcblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKCAzNjBkZWcgKTtcblx0fVxufVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS1tZWRpYS1lbWJlZFxcdGhlbWVcXG1lZGlhZW1iZWRlZGl0aW5nLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBFbmFibGVzIHRoZSB0b29sdGlwLCB3aGljaCBpcyB0aGUgdG9vbHRpcCBpcyBpbiBET00gYnV0XG4gKiBub3QgeWV0IGRpc3BsYXllZC5cbiAqL1xuXG4vKipcbiAqIERpc2FibGVzIHRoZSB0b29sdGlwIG1ha2luZyBpdCBkaXNhcHBlYXIgZnJvbSBET00uXG4gKi9cblxuLyoqXG4gKiBTaG93cyB0aGUgdG9vbHRpcCwgd2hpY2ggaXMgYWxyZWFkeSBpbiBET00uXG4gKiBSZXF1aXJlcyBgY2stdG9vbHRpcF9lbmFibGVkYCBmaXJzdC5cbiAqL1xuXG4uY2stbWVkaWFfX3dyYXBwZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXJcblx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmwgLmNrLXRvb2x0aXAge1xuXHRcdGRpc3BsYXk6IGJsb2NrXG5cblx0XHQvKlxuXHRcdCAqIERvbid0IGRpc3BsYXkgdG9vbHRpcHMgaW4gZGV2aWNlcyB3aGljaCBkb24ndCBzdXBwb3J0IDpob3Zlci5cblx0XHQgKiBJbiBmYWN0LCBpdCdzIGFsbCBhYm91dCBpT1MsIHdoaWNoIGZvcmNlcyB1c2VyIHRvIGNsaWNrIFVJIGVsZW1lbnRzIHR3aWNlIHRvIGV4ZWN1dGVcblx0XHQgKiB0aGUgcHJpbWFyeSBhY3Rpb24sIHdoZW4gdG9vbHRpcHMgYXJlIGVuYWJsZWQuXG5cdFx0ICpcblx0XHQgKiBROiBPSywgYnV0IHdoeSBub3QgdGhlIGZvbGxvd2luZyBxdWVyeT9cblx0XHQgKlxuXHRcdCAqICAgQG1lZGlhIChob3Zlcikge1xuXHRcdCAqICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdCAqICAgfVxuXHRcdCAqXG5cdFx0ICogQTogQmVjYXVzZSBGRiBkb2VzIG5vdCBzdXBwb3J0IGl0IGFuZCBpdCB3b3VsZCBjb21wbGV0ZWx5IGRpc2FibGUgdG9vbHRpcHNcblx0XHQgKiBpbiB0aGF0IGJyb3dzZXIuXG5cdFx0ICpcblx0XHQgKiBNb3JlIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzkyMC5cblx0XHQgKi9cblx0fVxuXG5AbWVkaWEgKGhvdmVyOm5vbmUpIHtcblxuLmNrLW1lZGlhX193cmFwcGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsIC5jay10b29sdGlwIHtcblx0XHRcdGRpc3BsYXk6IG5vbmVcblx0fVxuXHRcdH1cblxuLmNrLW1lZGlhX193cmFwcGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsIHtcblxuXHRcdFx0LyogT3RoZXJ3aXNlIHRoZSBVUkwgd2lsbCBvdmVyZmxvdyB3aGVuIHRoZSBjb250ZW50IGlzIHZlcnkgbmFycm93LiAqL1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmVcblx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybDpob3ZlciAuY2stdG9vbHRpcCB7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybCAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQge1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJ0d2l0dGVyLmNvbVwiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uICosIC5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiZ29vZ2xlLmNvbS9tYXBzXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24gKiwgLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJmYWNlYm9vay5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiAqLCAuY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cImluc3RhZ3JhbS5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiAqIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG4vKiBEaXNhYmxlIGFsbCBtb3VzZSBpbnRlcmFjdGlvbiBhcyBsb25nIGFzIHRoZSBlZGl0b3IgaXMgbm90IHJlYWTigJNvbmx5LlxuICAgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1tZWRpYS1lbWJlZC9pc3N1ZXMvNTggKi9cblxuLmNrLWVkaXRvcl9fZWRpdGFibGU6bm90KC5jay1yZWFkLW9ubHkpIC5jay1tZWRpYV9fd3JhcHBlciA+ICo6bm90KC5jay1tZWRpYV9fcGxhY2Vob2xkZXIpIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIERpc2FibGUgYWxsIG1vdXNlIGludGVyYWN0aW9uIHdoZW4gdGhlIHdpZGdldCBpcyBub3Qgc2VsZWN0ZWQgKGUuZy4gdG8gYXZvaWQgb3BlbmluZyBsaW5rcyBieSBhY2NpZGVudCkuXG4gICBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LW1lZGlhLWVtYmVkL2lzc3Vlcy8xOCAqL1xuXG4uY2stZWRpdG9yX19lZGl0YWJsZTpub3QoLmNrLXJlYWQtb25seSkgLmNrLXdpZGdldDpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCkgLmNrLW1lZGlhX19wbGFjZWhvbGRlciB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtbWVkaWEtZW1iZWRcXG1lZGlhZW1iZWRlZGl0aW5nLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1tZWRpYS1lbWJlZC1wbGFjZWhvbGRlci1pY29uLXNpemU6IDNlbTtcblxuXHQtLWNrLWNvbG9yLW1lZGlhLWVtYmVkLXBsYWNlaG9sZGVyLXVybC10ZXh0OiBoc2woMCwgMCUsIDQ2JSk7XG5cdC0tY2stY29sb3ItbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItdXJsLXRleHQtaG92ZXI6IHZhcigtLWNrLWNvbG9yLWJhc2UtdGV4dCk7XG59XG5cbi5jay1tZWRpYV9fd3JhcHBlciB7XG5cdG1hcmdpbjogMCBhdXRvXG59XG5cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIHtcblx0XHRwYWRkaW5nOiBjYWxjKCAzICogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpXG5cdH1cblxuLmNrLW1lZGlhX193cmFwcGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiB7XG5cdFx0XHRtaW4td2lkdGg6IHZhcigtLWNrLW1lZGlhLWVtYmVkLXBsYWNlaG9sZGVyLWljb24tc2l6ZSk7XG5cdFx0XHRoZWlnaHQ6IHZhcigtLWNrLW1lZGlhLWVtYmVkLXBsYWNlaG9sZGVyLWljb24tc2l6ZSk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXJcblx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24gLmNrLWljb24ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmwgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0IHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLW1lZGlhLWVtYmVkLXBsYWNlaG9sZGVyLXVybC10ZXh0KTtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzXG5cdFx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybCAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQ6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1tZWRpYS1lbWJlZC1wbGFjZWhvbGRlci11cmwtdGV4dC1ob3Zlcik7XG5cdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwib3Blbi5zcG90aWZ5LmNvbVwiXSB7XG5cdFx0bWF4LXdpZHRoOiAzMDBweDtcblx0XHRtYXgtaGVpZ2h0OiAzODBweDtcblx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cInR3aXR0ZXIuY29tXCJdIC5jay5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXHRcdFx0LyogVXNlIGdyYWRpZW50IHRvIGNvbnRyYXN0IHdpdGggZm9jdXNlZCB3aWRnZXQgKGNrZWRpdG9yL2NrZWRpdG9yNS1tZWRpYS1lbWJlZCMyMikuICovXG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIHRvIHJpZ2h0LCBoc2woMjAxLCA4NSUsIDcwJSksIGhzbCgyMDEsIDg1JSwgMzUlKSApXG5cdFx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cInR3aXR0ZXIuY29tXCJdIC5jay5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWxkb2FYUmxJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjRQU0l3Y0hnaUlIazlJakJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRFF3TUNBME1EQWlJSE4wZVd4bFBTSmxibUZpYkdVdFltRmphMmR5YjNWdVpEcHVaWGNnTUNBd0lEUXdNQ0EwTURBN0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4YzNSNWJHVWdkSGx3WlQwaWRHVjRkQzlqYzNNaVBpNXpkREI3Wm1sc2JEb2pSa1pHUmtaR08zMDhMM04wZVd4bFBqeHdZWFJvSUdOc1lYTnpQU0p6ZERBaUlHUTlJazAwTURBc01qQXdZekFzTVRFd0xqVXRPRGt1TlN3eU1EQXRNakF3TERJd01GTXdMRE14TUM0MUxEQXNNakF3VXpnNUxqVXNNQ3d5TURBc01GTTBNREFzT0RrdU5TdzBNREFzTWpBd2VpQk5NVFl6TGpRc016QTFMalZqT0RndU55d3dMREV6Tnk0eUxUY3pMalVzTVRNM0xqSXRNVE0zTGpKak1DMHlMakVzTUMwMExqSXRNQzR4TFRZdU1tTTVMalF0Tmk0NExERTNMall0TVRVdU15d3lOQzR4TFRJMVl5MDRMallzTXk0NExURTNMamtzTmk0MExUSTNMamNzTnk0Mll6RXdMVFlzTVRjdU5pMHhOUzQwTERJeExqSXRNall1TjJNdE9TNHpMRFV1TlMweE9TNDJMRGt1TlMwek1DNDJMREV4TGpkakxUZ3VPQzA1TGpRdE1qRXVNeTB4TlM0eUxUTTFMakl0TVRVdU1tTXRNall1Tml3d0xUUTRMaklzTWpFdU5pMDBPQzR5TERRNExqSmpNQ3d6TGpnc01DNDBMRGN1TlN3eExqTXNNVEZqTFRRd0xqRXRNaTAzTlM0MkxUSXhMakl0T1RrdU5DMDFNQzQwWXkwMExqRXNOeTR4TFRZdU5Td3hOUzQwTFRZdU5Td3lOQzR5WXpBc01UWXVOeXc0TGpVc016RXVOU3d5TVM0MUxEUXdMakZqTFRjdU9TMHdMakl0TVRVdU15MHlMalF0TWpFdU9DMDJZekFzTUM0eUxEQXNNQzQwTERBc01DNDJZekFzTWpNdU5Dd3hOaTQyTERReUxqZ3NNemd1Tnl3ME55NHpZeTAwTERFdU1TMDRMak1zTVM0M0xURXlMamNzTVM0M1l5MHpMakVzTUMwMkxqRXRNQzR6TFRrdU1TMHdMamxqTmk0eExERTVMaklzTWpNdU9Td3pNeTR4TERRMUxETXpMalZqTFRFMkxqVXNNVEl1T1Mwek55NHpMREl3TGpZdE5Ua3VPU3d5TUM0Mll5MHpMamtzTUMwM0xqY3RNQzR5TFRFeExqVXRNQzQzUXpFeE1DNDRMREk1Tnk0MUxERXpOaTR5TERNd05TNDFMREUyTXk0MExETXdOUzQxSWk4K1BDOXpkbWMrKTtcblx0XHRcdH1cblxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJ0d2l0dGVyLmNvbVwiXSAuY2suY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybF9fdGV4dCB7XG5cdFx0XHRcdGNvbG9yOiBoc2woMjAxLCAxMDAlLCA4NiUpXG5cdFx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwidHdpdHRlci5jb21cIl0gLmNrLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQ6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiBoc2woMCwgMCUsIDEwMCUpO1xuXHRcdFx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiZ29vZ2xlLmNvbS9tYXBzXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24ge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5UQXVNemM0SWlCb1pXbG5hSFE5SWpJMU5DNHhOamNpSUhacFpYZENiM2c5SWpBZ01DQTJOaTR5TkRZZ05qY3VNalE0SWo0OFp5QjBjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2d0TVRjeUxqVXpNU0F0TWpFNExqUTFOU2tnYzJOaGJHVW9Mams0TURFeUtTSStQSEpsWTNRZ2NuazlJalV1TWpNNElpQnllRDBpTlM0eU16Z2lJSGs5SWpJek1TNHpPVGtpSUhnOUlqRTNOaTR3TXpFaUlHaGxhV2RvZEQwaU5qQXVNRGs1SWlCM2FXUjBhRDBpTmpBdU1EazVJaUJtYVd4c1BTSWpNelJoTmpZNElpQndZV2x1ZEMxdmNtUmxjajBpYldGeWEyVnljeUJ6ZEhKdmEyVWdabWxzYkNJdlBqeHdZWFJvSUdROUlrMHlNRFl1TkRjM0lESTJNQzQ1YkMweU9DNDVPRGNnTWpndU9UZzNZVFV1TWpFNElEVXVNakU0SURBZ01DQXdJRE11TnpnZ01TNDJNV2cwT1M0Mk1qRmpNUzQyT1RRZ01DQXpMakU1TFM0M09UZ2dOQzR4TkRZdE1pNHdNemQ2SWlCbWFXeHNQU0lqTldNNE9HTTFJaTgrUEhCaGRHZ2daRDBpVFRJeU5pNDNORElnTWpJeUxqazRPR010T1M0eU5qWWdNQzB4Tmk0M056Y2dOeTR4TnkweE5pNDNOemNnTVRZdU1ERTBMakF3TnlBeUxqYzJNaTQyTmpNZ05TNDBOelFnTWk0d09UTWdOeTQ0TnpVdU5ETXVOekF6TGpneklERXVOREE0SURFdU1Ua2dNaTR4TURjdU16TXpMalV3TWk0Mk5TQXhMakF3TlM0NU5TQXhMalV3T0M0ek5ETXVORGMzTGpZM015NDVOVGN1T1RnNElERXVORFFnTVM0ek1TQXhMamMyT1NBeUxqVWdNeTQxTURJZ015NDJNemNnTlM0eE5qZ3VOemt6SURFdU1qYzFJREV1TmpneklESXVOalFnTWk0ME5qWWdNeTQ1T1NBeUxqTTJNeUEwTGpBNU5DQTBMakF3TnlBNExqQTVNaUEwTGpZZ01UTXVPVEUwZGk0d01USmpMakU0TWk0ME1USXVOVEUyTGpZMk5pNDROemt1TmpZM0xqUXdNeTB1TURBeExqYzJPQzB1TXpFMExqa3pMUzQzT1RrdU5qQXpMVFV1TnpVMklESXVNak00TFRrdU56STVJRFF1TlRnMUxURXpMamM1TkM0M09ESXRNUzR6TlNBeExqWTNNeTB5TGpjeE5TQXlMalEyTlMwekxqazVJREV1TVRNM0xURXVOalkySURJdU16STRMVE11TkNBekxqWXpPQzAxTGpFMk9TNHpNVFV0TGpRNE1pNDJORFV0TGprMk1pNDVPRGd0TVM0ME16a3VNeTB1TlRBekxqWXhOeTB4TGpBd05pNDVOUzB4TGpVd09DNHpOVGt0TGpjdU56WXRNUzQwTURRZ01TNHhPUzB5TGpFd055QXhMalF5TmkweUxqUXdNaUF5TFRVdU1URTBJREl1TURBMExUY3VPRGMxSURBdE9DNDRORFF0Tnk0MU1URXRNVFl1TURFMExURTJMamMzTmkweE5pNHdNVFI2SWlCbWFXeHNQU0lqWkdRMFlqTmxJaUJ3WVdsdWRDMXZjbVJsY2owaWJXRnlhMlZ5Y3lCemRISnZhMlVnWm1sc2JDSXZQanhsYkd4cGNITmxJSEo1UFNJMUxqVTJOQ0lnY25nOUlqVXVPREk0SWlCamVUMGlNak01TGpBd01pSWdZM2c5SWpJeU5pNDNORElpSUdacGJHdzlJaU00TURKa01qY2lJSEJoYVc1MExXOXlaR1Z5UFNKdFlYSnJaWEp6SUhOMGNtOXJaU0JtYVd4c0lpOCtQSEJoZEdnZ1pEMGlUVEU1TUM0ek1ERWdNak0zTGpJNE0yTXROQzQyTnlBd0xUZ3VORFUzSURNdU9EVXpMVGd1TkRVM0lEZ3VOakEyY3pNdU56ZzJJRGd1TmpBM0lEZ3VORFUzSURndU5qQTNZek11TURReklEQWdOQzQ0TURZdExqazFPQ0EyTGpNek55MHlMalV4TmlBeExqVXpMVEV1TlRVM0lESXVNRGczTFRNdU9URXpJREl1TURnM0xUWXVNamtnTUMwdU16WXlMUzR3TWpNdExqY3lNaTB1TURZMExURXVNRGM1YUMwNExqSTFOM1l6TGpBME0yZzBMamcxWXkwdU1UazNMamMxT1MwdU5UTXhJREV1TkRVdE1TNHdOVGdnTVM0NU9EWXRMamswTWk0NU5UZ3RNaTR3TWpnZ01TNDFORGd0TXk0NU1ERWdNUzQxTkRndE1pNDROellnTUMwMUxqSXdPQzB5TGpNM01pMDFMakl3T0MwMUxqSTVPU0F3TFRJdU9USTJJREl1TXpNeUxUVXVNams1SURVdU1qQTRMVFV1TWprNUlERXVNems1SURBZ01pNDJNVGd1TkRBM0lETXVOVGcwSURFdU1qa3piREl1TXpneExUSXVNemhqTUMwdU1EQXlMUzR3TURNdExqQXdOQzB1TURBMExTNHdNRFV0TVM0MU9EZ3RNUzQxTWpRdE15NDJNaTB5TGpJeE5TMDFMamsxTlMweUxqSXhOWHB0TkM0ME15QTFMalkyYkM0d01ETXVNREEyZGkwdU1EQXplaUlnWm1sc2JEMGlJMlptWmlJZ2NHRnBiblF0YjNKa1pYSTlJbTFoY210bGNuTWdjM1J5YjJ0bElHWnBiR3dpTHo0OGNHRjBhQ0JrUFNKTk1qRTFMakU0TkNBeU5URXVPVEk1YkMwM0xqazRJRGN1T1RjNUlESTRMalEzTnlBeU9DNDBOelZqTGpJNE55MHVOalE1TGpRME9TMHhMak0yTmk0ME5Ea3RNaTR4TWpOMkxUTXhMakUyTldNdExqUTJPUzQyTnpVdExqa3pOQ0F4TGpNME9TMHhMak00TWlBeUxqQXdOUzB1TnpreUlERXVNamMxTFRFdU5qZ3lJREl1TmpRdE1pNDBOalVnTXk0NU9TMHlMak0wTnlBMExqQTJOUzB6TGprNE1pQTRMakF6T0MwMExqVTROU0F4TXk0M09UUXRMakUyTWk0ME9EVXRMalV5Tnk0M09UZ3RMamt6TGpjNU9TMHVNell6TFM0d01ERXRMalk1TnkwdU1qVTFMUzQ0TnprdExqWTJOM1l0TGpBeE1tTXRMalU1TXkwMUxqZ3lNaTB5TGpJek55MDVMamd5TFRRdU5pMHhNeTQ1TVRRdExqYzRNeTB4TGpNMUxURXVOamN6TFRJdU56RTFMVEl1TkRZMkxUTXVPVGt0TVM0eE16Y3RNUzQyTmpZdE1pNHpNamN0TXk0MExUTXVOak0zTFRVdU1UWTViQzB1TURBeUxTNHdNRE42SWlCbWFXeHNQU0lqWXpOak0yTXpJaTgrUEhCaGRHZ2daRDBpVFRJeE1pNDVPRE1nTWpRNExqUTVOV3d0TXpZdU9UVXlJRE0yTGprMU0zWXVPREV5WVRVdU1qSTNJRFV1TWpJM0lEQWdNQ0F3SURVdU1qTTRJRFV1TWpNNGFERXVNREUxYkRNMUxqWTJOaTB6TlM0Mk5qWmhNVE0yTGpJM05TQXhNell1TWpjMUlEQWdNQ0F3TFRJdU56WTBMVE11T1NBek55NDFOelVnTXpjdU5UYzFJREFnTUNBd0xTNDVPRGt0TVM0ME5HTXRMakk1T1MwdU5UQXpMUzQyTVRZdE1TNHdNRFl0TGprMUxURXVOVEE0TFM0d09ETXRMakUyTWkwdU1UYzJMUzR6TWpZdExqSTJOQzB1TkRnNWVpSWdabWxzYkQwaUkyWmtaR00wWmlJZ2NHRnBiblF0YjNKa1pYSTlJbTFoY210bGNuTWdjM1J5YjJ0bElHWnBiR3dpTHo0OGNHRjBhQ0JrUFNKTk1qRXhMams1T0NBeU5qRXVNRGd6YkMwMkxqRTFNaUEyTGpFMU1TQXlOQzR5TmpRZ01qUXVNalkwYUM0M09ERmhOUzR5TWpjZ05TNHlNamNnTUNBd0lEQWdOUzR5TXprdE5TNHlNemgyTFRFdU1EUTFlaUlnWm1sc2JEMGlJMlptWmlJZ2NHRnBiblF0YjNKa1pYSTlJbTFoY210bGNuTWdjM1J5YjJ0bElHWnBiR3dpTHo0OEwyYytQQzl6ZG1jKyk7XG5cdFx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cImZhY2Vib29rLmNvbVwiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIHtcblx0XHRcdGJhY2tncm91bmQ6IGhzbCgyMjAsIDQ2JSwgNDglKVxuXHRcdH1cblxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJmYWNlYm9vay5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uIHtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpUHo0OGMzWm5JSGRwWkhSb1BTSXhNREkwY0hnaUlHaGxhV2RvZEQwaU1UQXlOSEI0SWlCMmFXVjNRbTk0UFNJd0lEQWdNVEF5TkNBeE1ESTBJaUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpUGlBZ0lDQWdJQ0FnUEhScGRHeGxQa1pwYkd3Z01Ud3ZkR2wwYkdVK0lDQWdJRHhrWlhOalBrTnlaV0YwWldRZ2QybDBhQ0JUYTJWMFkyZ3VQQzlrWlhOalBpQWdJQ0E4WkdWbWN6NDhMMlJsWm5NK0lDQWdJRHhuSUdsa1BTSlFZV2RsTFRFaUlITjBjbTlyWlQwaWJtOXVaU0lnYzNSeWIydGxMWGRwWkhSb1BTSXhJaUJtYVd4c1BTSnViMjVsSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaVBpQWdJQ0FnSUNBZ1BHY2dhV1E5SW1aTWIyZHZYMWRvYVhSbElpQm1hV3hzUFNJalJrWkdSa1pGSWo0Z0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5PVFkzTGpRNE5Dd3dJRXcxTmk0MU1UY3NNQ0JETWpVdU16QTBMREFnTUN3eU5TNHpNRFFnTUN3MU5pNDFNVGNnVERBc09UWTNMalE0TXlCRE1DdzVPVGd1TmprMElESTFMakk1Tnl3eE1ESTBJRFUyTGpVeU1pd3hNREkwSUV3MU5EY3NNVEF5TkNCTU5UUTNMRFl5T0NCTU5ERTBMRFl5T0NCTU5ERTBMRFEzTXlCTU5UUTNMRFEzTXlCTU5UUTNMRE0xT1M0d01qa2dRelUwTnl3eU1qWXVOelkzSURZeU55NDNOek1zTVRVMExqYzBOeUEzTkRVdU56VTJMREUxTkM0M05EY2dRemd3TWk0eU5qa3NNVFUwTGpjME55QTROVEF1T0RReUxERTFPQzQ1TlRVZ09EWTFMREUyTUM0NE16WWdURGcyTlN3eU9Ua2dURGM0TXk0ek9EUXNNams1TGpBek55QkROekU1TGpNNU1Td3lPVGt1TURNM0lEY3dOeXd6TWprdU5USTVJRGN3Tnl3ek56UXVNamN6SUV3M01EY3NORGN6SUV3NE5qQXVORGczTERRM015Qk1PRFF3TGpVd01TdzJNamdnVERjd055dzJNamdnVERjd055d3hNREkwSUV3NU5qY3VORGcwTERFd01qUWdRems1T0M0Mk9UY3NNVEF5TkNBeE1ESTBMRGs1T0M0Mk9UY2dNVEF5TkN3NU5qY3VORGcwSUV3eE1ESTBMRFUyTGpVeE5TQkRNVEF5TkN3eU5TNHpNRE1nT1RrNExqWTVOeXd3SURrMk55NDBPRFFzTUNJZ2FXUTlJa1pwYkd3dE1TSStQQzl3WVhSb1BpQWdJQ0FnSUNBZ1BDOW5QaUFnSUNBOEwyYytQQzl6ZG1jKyk7XG5cdFx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiZmFjZWJvb2suY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0IHtcblx0XHRcdFx0Y29sb3I6IGhzbCgyMjAsIDEwMCUsIDkwJSlcblx0XHRcdH1cblxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJmYWNlYm9vay5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQ6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiBoc2woMCwgMCUsIDEwMCUpO1xuXHRcdFx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiaW5zdGFncmFtLmNvbVwiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIHtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMTM1ZGVnLCMxNDAwYzgsI2I5MDBiNCwjZjUwMDAwKVxuXHRcdH1cblxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJpbnN0YWdyYW0uY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NDhjM1puSUhkcFpIUm9QU0kxTURSd2VDSWdhR1ZwWjJoMFBTSTFNRFJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRFV3TkNBMU1EUWlJSFpsY25OcGIyNDlJakV1TVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUkrSUNBZ0lDQWdJQ0E4ZEdsMGJHVStaMng1Y0dndGJHOW5iMTlOWVhreU1ERTJQQzkwYVhSc1pUNGdJQ0FnUEdSbGMyTStRM0psWVhSbFpDQjNhWFJvSUZOclpYUmphQzQ4TDJSbGMyTStJQ0FnSUR4a1pXWnpQaUFnSUNBZ0lDQWdQSEJ2YkhsbmIyNGdhV1E5SW5CaGRHZ3RNU0lnY0c5cGJuUnpQU0l3SURBdU1UVTVJRFV3TXk0NE5ERWdNQzR4TlRrZ05UQXpMamcwTVNBMU1ETXVPVFFnTUNBMU1ETXVPVFFpUGp3dmNHOXNlV2R2Ymo0Z0lDQWdQQzlrWldaelBpQWdJQ0E4WnlCcFpEMGlaMng1Y0dndGJHOW5iMTlOWVhreU1ERTJJaUJ6ZEhKdmEyVTlJbTV2Ym1VaUlITjBjbTlyWlMxM2FXUjBhRDBpTVNJZ1ptbHNiRDBpYm05dVpTSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJajRnSUNBZ0lDQWdJRHhuSUdsa1BTSkhjbTkxY0MweklqNGdJQ0FnSUNBZ0lDQWdJQ0E4YldGemF5QnBaRDBpYldGemF5MHlJaUJtYVd4c1BTSjNhR2wwWlNJK0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNCaGRHZ3RNU0krUEM5MWMyVStJQ0FnSUNBZ0lDQWdJQ0FnUEM5dFlYTnJQaUFnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0pEYkdsd0xUSWlQand2Wno0Z0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5NalV4TGpreU1Td3dMakUxT1NCRE1UZ3pMalV3TXl3d0xqRTFPU0F4TnpRdU9USTBMREF1TkRRNUlERTBPQzR3TlRRc01TNDJOelVnUXpFeU1TNHlOQ3d5TGpnNU9DQXhNREl1T1RJM0xEY3VNVFUzSURnMkxqa3dNeXd4TXk0ek9EVWdRemN3TGpNek55d3hPUzQ0TWpJZ05UWXVNamc0TERJNExqUXpOaUEwTWk0eU9ESXNOREl1TkRReElFTXlPQzR5Tnpjc05UWXVORFEzSURFNUxqWTJNeXczTUM0ME9UWWdNVE11TWpJMkxEZzNMakEyTWlCRE5pNDVPVGdzTVRBekxqQTROaUF5TGpjek9Td3hNakV1TXprNUlERXVOVEUyTERFME9DNHlNVE1nUXpBdU1qa3NNVGMxTGpBNE15QXdMREU0TXk0Mk5qSWdNQ3d5TlRJdU1EZ2dRekFzTXpJd0xqUTVOeUF3TGpJNUxETXlPUzR3TnpZZ01TNDFNVFlzTXpVMUxqazBOaUJETWk0M016a3NNemd5TGpjMklEWXVPVGs0TERRd01TNHdOek1nTVRNdU1qSTJMRFF4Tnk0d09UY2dRekU1TGpZMk15dzBNek11TmpZeklESTRMakkzTnl3ME5EY3VOekV5SURReUxqSTRNaXcwTmpFdU56RTRJRU0xTmk0eU9EZ3NORGMxTGpjeU15QTNNQzR6TXpjc05EZzBMak16TnlBNE5pNDVNRE1zTkRrd0xqYzNOU0JETVRBeUxqa3lOeXcwT1RjdU1EQXlJREV5TVM0eU5DdzFNREV1TWpZeElERTBPQzR3TlRRc05UQXlMalE0TkNCRE1UYzBMamt5TkN3MU1ETXVOekVnTVRnekxqVXdNeXcxTURRZ01qVXhMamt5TVN3MU1EUWdRek15TUM0ek16Z3NOVEEwSURNeU9DNDVNVGNzTlRBekxqY3hJRE0xTlM0M09EY3NOVEF5TGpRNE5DQkRNemd5TGpZd01TdzFNREV1TWpZeElEUXdNQzQ1TVRRc05EazNMakF3TWlBME1UWXVPVE00TERRNU1DNDNOelVnUXpRek15NDFNRFFzTkRnMExqTXpOeUEwTkRjdU5UVXpMRFEzTlM0M01qTWdORFl4TGpVMU9TdzBOakV1TnpFNElFTTBOelV1TlRZMExEUTBOeTQzTVRJZ05EZzBMakUzT0N3ME16TXVOall6SURRNU1DNDJNVFlzTkRFM0xqQTVOeUJETkRrMkxqZzBNeXcwTURFdU1EY3pJRFV3TVM0eE1ESXNNemd5TGpjMklEVXdNaTR6TWpVc016VTFMamswTmlCRE5UQXpMalUxTVN3ek1qa3VNRGMySURVd015NDROREVzTXpJd0xqUTVOeUExTURNdU9EUXhMREkxTWk0d09DQkROVEF6TGpnME1Td3hPRE11TmpZeUlEVXdNeTQxTlRFc01UYzFMakE0TXlBMU1ESXVNekkxTERFME9DNHlNVE1nUXpVd01TNHhNRElzTVRJeExqTTVPU0EwT1RZdU9EUXpMREV3TXk0d09EWWdORGt3TGpZeE5pdzROeTR3TmpJZ1F6UTROQzR4Tnpnc056QXVORGsySURRM05TNDFOalFzTlRZdU5EUTNJRFEyTVM0MU5Ua3NOREl1TkRReElFTTBORGN1TlRVekxESTRMalF6TmlBME16TXVOVEEwTERFNUxqZ3lNaUEwTVRZdU9UTTRMREV6TGpNNE5TQkROREF3TGpreE5DdzNMakUxTnlBek9ESXVOakF4TERJdU9EazRJRE0xTlM0M09EY3NNUzQyTnpVZ1F6TXlPQzQ1TVRjc01DNDBORGtnTXpJd0xqTXpPQ3d3TGpFMU9TQXlOVEV1T1RJeExEQXVNVFU1SUZvZ1RUSTFNUzQ1TWpFc05EVXVOVFVnUXpNeE9TNHhPRFlzTkRVdU5UVWdNekkzTGpFMU5DdzBOUzQ0TURjZ016VXpMamN4T0N3ME55NHdNVGtnUXpNM09DNHlPQ3cwT0M0eE16a2dNemt4TGpZeE9TdzFNaTR5TkRNZ05EQXdMalE1Tml3MU5TNDJPVE1nUXpReE1pNHlOVFVzTmpBdU1qWXpJRFF5TUM0Mk5EY3NOalV1TnpJeUlEUXlPUzQwTmpJc056UXVOVE00SUVNME16Z3VNamM0TERnekxqTTFNeUEwTkRNdU56TTNMRGt4TGpjME5TQTBORGd1TXpBM0xERXdNeTQxTURRZ1F6UTFNUzQzTlRjc01URXlMak00TVNBME5UVXVPRFl4TERFeU5TNDNNaUEwTlRZdU9UZ3hMREUxTUM0eU9ESWdRelExT0M0eE9UTXNNVGMyTGpnME5pQTBOVGd1TkRVc01UZzBMamd4TkNBME5UZ3VORFVzTWpVeUxqQTRJRU0wTlRndU5EVXNNekU1TGpNME5TQTBOVGd1TVRrekxETXlOeTR6TVRNZ05EVTJMams0TVN3ek5UTXVPRGMzSUVNME5UVXVPRFl4TERNM09DNDBNemtnTkRVeExqYzFOeXd6T1RFdU56YzRJRFEwT0M0ek1EY3NOREF3TGpZMU5TQkRORFF6TGpjek55dzBNVEl1TkRFMElEUXpPQzR5Tnpnc05ESXdMamd3TmlBME1qa3VORFl5TERReU9TNDJNakVnUXpReU1DNDJORGNzTkRNNExqUXpOeUEwTVRJdU1qVTFMRFEwTXk0NE9UWWdOREF3TGpRNU5pdzBORGd1TkRZMklFTXpPVEV1TmpFNUxEUTFNUzQ1TVRZZ016YzRMakk0TERRMU5pNHdNaUF6TlRNdU56RTRMRFExTnk0eE5DQkRNekkzTGpFMU9DdzBOVGd1TXpVeUlETXhPUzR4T1RFc05EVTRMall3T1NBeU5URXVPVEl4TERRMU9DNDJNRGtnUXpFNE5DNDJOU3cwTlRndU5qQTVJREUzTmk0Mk9EUXNORFU0TGpNMU1pQXhOVEF1TVRJekxEUTFOeTR4TkNCRE1USTFMalUyTVN3ME5UWXVNRElnTVRFeUxqSXlNaXcwTlRFdU9URTJJREV3TXk0ek5EVXNORFE0TGpRMk5pQkRPVEV1TlRnMkxEUTBNeTQ0T1RZZ09ETXVNVGswTERRek9DNDBNemNnTnpRdU16YzVMRFF5T1M0Mk1qRWdRelkxTGpVMk5DdzBNakF1T0RBMklEWXdMakV3TkN3ME1USXVOREUwSURVMUxqVXpOQ3cwTURBdU5qVTFJRU0xTWk0d09EUXNNemt4TGpjM09DQTBOeTQ1T0N3ek56Z3VORE01SURRMkxqZzJMRE0xTXk0NE56Y2dRelExTGpZME9Dd3pNamN1TXpFeklEUTFMak01TVN3ek1Ua3VNelExSURRMUxqTTVNU3d5TlRJdU1EZ2dRelExTGpNNU1Td3hPRFF1T0RFMElEUTFMalkwT0N3eE56WXVPRFEySURRMkxqZzJMREUxTUM0eU9ESWdRelEzTGprNExERXlOUzQzTWlBMU1pNHdPRFFzTVRFeUxqTTRNU0ExTlM0MU16UXNNVEF6TGpVd05DQkROakF1TVRBMExEa3hMamMwTlNBMk5TNDFOak1zT0RNdU16VXpJRGMwTGpNM09TdzNOQzQxTXpnZ1F6Z3pMakU1TkN3Mk5TNDNNaklnT1RFdU5UZzJMRFl3TGpJMk15QXhNRE11TXpRMUxEVTFMalk1TXlCRE1URXlMakl5TWl3MU1pNHlORE1nTVRJMUxqVTJNU3cwT0M0eE16a2dNVFV3TGpFeU15dzBOeTR3TVRrZ1F6RTNOaTQyT0Rjc05EVXVPREEzSURFNE5DNDJOVFVzTkRVdU5UVWdNalV4TGpreU1TdzBOUzQxTlNCYUlpQnBaRDBpUm1sc2JDMHhJaUJtYVd4c1BTSWpSa1pHUmtaR0lpQnRZWE5yUFNKMWNtd29JMjFoYzJzdE1pa2lQand2Y0dGMGFENGdJQ0FnSUNBZ0lEd3ZaejRnSUNBZ0lDQWdJRHh3WVhSb0lHUTlJazB5TlRFdU9USXhMRE16Tmk0d05UTWdRekl3TlM0MU5ETXNNek0yTGpBMU15QXhOamN1T1RRM0xESTVPQzQwTlRjZ01UWTNMamswTnl3eU5USXVNRGdnUXpFMk55NDVORGNzTWpBMUxqY3dNaUF5TURVdU5UUXpMREUyT0M0eE1EWWdNalV4TGpreU1Td3hOamd1TVRBMklFTXlPVGd1TWprNExERTJPQzR4TURZZ016TTFMamc1TkN3eU1EVXVOekF5SURNek5TNDRPVFFzTWpVeUxqQTRJRU16TXpVdU9EazBMREk1T0M0ME5UY2dNams0TGpJNU9Dd3pNell1TURVeklESTFNUzQ1TWpFc016TTJMakExTXlCYUlFMHlOVEV1T1RJeExERXlNaTQzTVRVZ1F6RTRNQzQwTnpRc01USXlMamN4TlNBeE1qSXVOVFUyTERFNE1DNDJNek1nTVRJeUxqVTFOaXd5TlRJdU1EZ2dRekV5TWk0MU5UWXNNekl6TGpVeU5pQXhPREF1TkRjMExETTRNUzQwTkRRZ01qVXhMamt5TVN3ek9ERXVORFEwSUVNek1qTXVNelkzTERNNE1TNDBORFFnTXpneExqSTROU3d6TWpNdU5USTJJRE00TVM0eU9EVXNNalV5TGpBNElFTXpPREV1TWpnMUxERTRNQzQyTXpNZ016SXpMak0yTnl3eE1qSXVOekUxSURJMU1TNDVNakVzTVRJeUxqY3hOU0JhSWlCcFpEMGlSbWxzYkMwMElpQm1hV3hzUFNJalJrWkdSa1pHSWo0OEwzQmhkR2crSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTkRFMkxqWXlOeXd4TVRjdU5qQTBJRU0wTVRZdU5qSTNMREV6TkM0eklEUXdNeTR3T1RJc01UUTNMamd6TkNBek9EWXVNemsyTERFME55NDRNelFnUXpNMk9TNDNNREVzTVRRM0xqZ3pOQ0F6TlRZdU1UWTJMREV6TkM0eklETTFOaTR4TmpZc01URTNMall3TkNCRE16VTJMakUyTml3eE1EQXVPVEE0SURNMk9TNDNNREVzT0RjdU16Y3pJRE00Tmk0ek9UWXNPRGN1TXpjeklFTTBNRE11TURreUxEZzNMak0zTXlBME1UWXVOakkzTERFd01DNDVNRGdnTkRFMkxqWXlOeXd4TVRjdU5qQTBJaUJwWkQwaVJtbHNiQzAxSWlCbWFXeHNQU0lqUmtaR1JrWkdJajQ4TDNCaGRHZytJQ0FnSUR3dlp6NDhMM04yWno0PSk7XG5cdFx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiaW5zdGFncmFtLmNvbVwiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybF9fdGV4dCB7XG5cdFx0XHRcdGNvbG9yOiBoc2woMzAyLCAxMDAlLCA5NCUpXG5cdFx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiaW5zdGFncmFtLmNvbVwiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybF9fdGV4dDpob3ZlciB7XG5cdFx0XHRcdFx0Y29sb3I6IGhzbCgwLCAwJSwgMTAwJSk7XG5cdFx0XHRcdH1cbiIsIi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtbWVkaWEtZW1iZWRcXHRoZW1lXFxtZWRpYWZvcm0uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stbWVkaWEtZm9ybSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcFxufVxuXG4uY2suY2stbWVkaWEtZm9ybSAuY2stbGFiZWxlZC1pbnB1dCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cbi5jay5jay1tZWRpYS1mb3JtIC5jay1sYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXG4uY2suY2stbWVkaWEtZm9ybSB7XG5cdFx0ZmxleC13cmFwOiB3cmFwXG59XG5cblx0XHQuY2suY2stbWVkaWEtZm9ybSAuY2stbGFiZWxlZC1pbnB1dCB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuXHRcdC5jay5jay1tZWRpYS1mb3JtIC5jay1idXR0b24ge1xuXHRcdFx0ZmxleC1iYXNpczogNTAlO1xuXHRcdH1cblx0fVxuXG4vKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtbWVkaWEtZW1iZWRcXG1lZGlhZm9ybS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLW1lZGlhLWZvcm0ge1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKVxufVxuXG4uY2suY2stbWVkaWEtZm9ybTpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1tZWRpYS1mb3JtID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLW1lZGlhLWZvcm0gPiA6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0fVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXG4uY2suY2stbWVkaWEtZm9ybSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHR3aWR0aDogY2FsYyguOCAqIHZhcigtLWNrLWlucHV0LXRleHQtd2lkdGgpKVxufVxuXG5cdFx0LmNrLmNrLW1lZGlhLWZvcm0gLmNrLWxhYmVsZWQtaW5wdXQge1xuXHRcdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSAwXG5cdFx0fVxuXG5cdFx0XHQuY2suY2stbWVkaWEtZm9ybSAuY2stbGFiZWxlZC1pbnB1dCAuY2staW5wdXQtdGV4dCB7XG5cdFx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHQuY2suY2stbWVkaWEtZm9ybSAuY2stbGFiZWxlZC1pbnB1dCB7XG5cblx0XHRcdC8qIExldCB0aGUgbG9uZyBlcnJvciBtZXNzYWdlcyB3cmFwIGluIHRoZSBuYXJyb3cgZm9ybS4gKi9cblx0XHR9XG5cdFx0XHQuY2suY2stbWVkaWEtZm9ybSAuY2stbGFiZWxlZC1pbnB1dCAuY2stbGFiZWxlZC1pbnB1dF9fZXJyb3Ige1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdFx0fVxuXG5cdFx0LmNrLmNrLW1lZGlhLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKVxuXHRcdH1cblxuXHRcdFtkaXI9XCJsdHJcIl0gLmNrLmNrLW1lZGlhLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwXG5cdFx0fVxuXG5cdFx0XHRcdFtkaXI9XCJsdHJcIl0gLmNrLmNrLW1lZGlhLWZvcm0gLmNrLWJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0XHRcdH1cblxuXHRcdFtkaXI9XCJydGxcIl0gLmNrLmNrLW1lZGlhLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwXG5cdFx0fVxuXG5cdFx0XHRcdFtkaXI9XCJydGxcIl0gLmNrLmNrLW1lZGlhLWZvcm0gLmNrLWJ1dHRvbjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdFx0fVxuXHR9XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LW1lZGlhLWVtYmVkXFx0aGVtZVxcbWVkaWFlbWJlZC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2stY29udGVudCAubWVkaWEge1xuXHQvKiBEb24ndCBhbGxvdyBmbG9hdGVkIGNvbnRlbnQgb3ZlcmxhcCB0aGUgbWVkaWEuXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbWVkaWEtZW1iZWQvaXNzdWVzLzUzICovXG5cdGNsZWFyOiBib3RoO1xuXG5cdC8qIE1ha2Ugc3VyZSB0aGVyZSBpcyBzb21lIHNwYWNlIGJldHdlZW4gdGhlIGNvbnRlbnQgYW5kIHRoZSBtZWRpYS4gKi9cblx0bWFyZ2luOiAxZW0gMDtcblxuXHQvKiBNYWtlIHN1cmUgbWVkaWEgaXMgbm90IG92ZXJyaWRlbiB3aXRoIEJvb3RzdHJhcCBkZWZhdWx0IGBmbGV4YCB2YWx1ZS5cblx0U2VlOiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xMzczLiAqL1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHQvKiBHaXZlIHRoZSBtZWRpYSBzb21lIG1pbmltYWwgd2lkdGggaW4gdGhlIGNvbnRlbnQgdG8gcHJldmVudCB0aGVtXG5cdGZyb20gYmVpbmcgXCJzcXVhc2hlZFwiIGluIHRpZ2h0IHNwYWNlcywgZS5nLiBpbiB0YWJsZSBjZWxscyAoIzQ0KSAqL1xuXHRtaW4td2lkdGg6IDE1ZW07XG59XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRhYmxlXFx0aGVtZVxcdGFibGVlZGl0aW5nLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBOb3RlOiBUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gdGhlIHdpcmVmcmFtZSBzdHlsZXMgb25seS4gQnV0IHNpbmNlIHRoZXJlIGFyZSBubyBzdWNoIHN0eWxlcyxcbiAqIGl0IGFjdHMgYXMgYSBtZXNzYWdlIHRvIHRoZSBidWlsZGVyIHRlbGxpbmcgdGhhdCBpdCBzaG91bGQgbG9vayBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3R5bGVzXG4gKiAqKmluIHRoZSB0aGVtZSoqIHdoZW4gY29tcGlsaW5nIHRoZSBlZGl0b3IuXG4gKi9cblxuLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXRhYmxlXFx0YWJsZWVkaXRpbmcuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLXRhYmxlLWZvY3VzZWQtY2VsbC1iYWNrZ3JvdW5kOiBoc2woMjA4LCA5MCUsIDk4JSk7XG59XG5cbi5jay13aWRnZXQudGFibGUgdGQuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGUuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGVfZm9jdXNlZCwgLmNrLXdpZGdldC50YWJsZSB0aC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZS5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZV9mb2N1c2VkIHtcblx0XHRcdC8qIEEgdmVyeSBzbGlnaHQgYmFja2dyb3VuZCB0byBoaWdobGlnaHQgdGhlIGZvY3VzZWQgY2VsbCAqL1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItdGFibGUtZm9jdXNlZC1jZWxsLWJhY2tncm91bmQpO1xuXG5cdFx0XHQvKiBGaXhlcyB0aGUgcHJvYmxlbSB3aGVyZSBzdXJyb3VuZGluZyBjZWxscyBjb3ZlciB0aGUgZm9jdXNlZCBjZWxsJ3MgYm9yZGVyLlxuXHRcdFx0SXQgZG9lcyBub3QgZml4IHRoZSBwcm9ibGVtIGluIGFsbCBwbGFjZXMgYnV0IHRoZSBVWCBpcyBpbXByb3ZlZC5cblx0XHRcdFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRhYmxlL2lzc3Vlcy8yOS4gKi9cblx0XHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHRcdG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7IC8qIHByb2dyZXNzaXZlIGVuaGFuY2VtZW50IC0gbm8gSUUgc3VwcG9ydCAqL1xuXHRcdH1cbiIsIi8qIEY6XFxsYXJhZ29uXFx3d3dcXHNpcml1cy10cmFuc2xhdGlvbnNcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGFibGVcXHRoZW1lXFxpbnNlcnR0YWJsZS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLXBhZGRpbmc6IDEwcHg7XG5cdC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1oZWlnaHQ6IDExcHg7XG5cdC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC13aWR0aDogMTJweDtcblx0LS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LW1hcmdpbjogMXB4O1xuXHQtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtYm9yZGVyLWNvbG9yOiBoc2woMCwgMCUsIDc1JSk7XG5cdC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1ib3JkZXItYWN0aXZlLWNvbG9yOiBoc2woMjA4LCA3MyUsIDYxJSk7XG5cdC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1hY3RpdmUtYmFja2dyb3VuZDogaHNsKDIwOCwgMTAwJSwgODklKTtcbn1cblxuLmNrIC5jay1pbnNlcnQtdGFibGUtZHJvcGRvd25fX2dyaWQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdC8qIFRoZSB3aWR0aCBvZiBhIGNvbnRhaW5lciBzaG91bGQgbWF0Y2ggMTAgaXRlbXMgaW4gYSByb3cgc28gdGhlcmUgd2lsbCBiZSBhIDEweDEwIGdyaWQuICovXG5cdHdpZHRoOiBjYWxjKHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtd2lkdGgpICogMTAgKyB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LW1hcmdpbikgKiAyMCArIHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1wYWRkaW5nKSAqIDIpO1xuXHRwYWRkaW5nOiB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tcGFkZGluZykgdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLXBhZGRpbmcpIDA7XG59XG5cbi5jayAuY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duX19sYWJlbCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNrIC5jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tZ3JpZC1ib3gge1xuXHR3aWR0aDogdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC13aWR0aCk7XG5cdGhlaWdodDogdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1oZWlnaHQpO1xuXHRtYXJnaW46IHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtbWFyZ2luKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1ib3JkZXItY29sb3IpO1xuXHRib3JkZXItcmFkaXVzOiAxcHhcbn1cblxuLmNrIC5jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tZ3JpZC1ib3guY2stb24ge1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1ib3JkZXItYWN0aXZlLWNvbG9yKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0fVxuXG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRhYmxlXFx0aGVtZVxcdGFibGUuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWNvbnRlbnQgLnRhYmxlIHtcblx0LyogR2l2ZSB0aGUgdGFibGUgd2lkZ2V0IHNvbWUgYWlyIGFuZCBjZW50ZXIgaXQgaG9yaXpvbnRhbGx5ICovXG5cdG1hcmdpbjogMWVtIGF1dG87XG5cdGRpc3BsYXk6IHRhYmxlXG59XG5cbi5jay1jb250ZW50IC50YWJsZSB0YWJsZSB7XG5cdFx0LyogVGhlIHRhYmxlIGNlbGxzIHNob3VsZCBoYXZlIHNsaWdodCBib3JkZXJzICovXG5cdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0XHRib3JkZXItc3BhY2luZzogMDtcblxuXHRcdC8qIFRoZSBvdXRlciBib3JkZXIgb2YgdGhlIHRhYmxlIHNob3VsZCBiZSBzbGlnaHRseSBkYXJrZXIgdGhhbiB0aGUgaW5uZXIgbGluZXMuXG5cdFx0QWxzbyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10YWJsZS9pc3N1ZXMvNTAuICovXG5cdFx0Ym9yZGVyOiAxcHggZG91YmxlIGhzbCgwLCAwJSwgNzAlKVxuXHR9XG5cbi5jay1jb250ZW50IC50YWJsZSB0YWJsZSB0ZCxcblx0XHQuY2stY29udGVudCAudGFibGUgdGFibGUgdGgge1xuXHRcdFx0bWluLXdpZHRoOiAyZW07XG5cdFx0XHRwYWRkaW5nOiAuNGVtO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBoc2woMCwgMCUsIDg1JSk7XG5cdFx0fVxuXG4uY2stY29udGVudCAudGFibGUgdGFibGUgdGgge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiBoc2woMCwgMCUsIDk4JSk7XG5cdFx0fVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS1ibG9jay1xdW90ZVxcdGhlbWVcXGJsb2NrcXVvdGUuY3NzICovXG5cbi8qKlxuICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay1jb250ZW50IGJsb2NrcXVvdGUge1xuXHQvKiBTZWUgIzEyICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1ibG9jay1xdW90ZS9pc3N1ZXMvMTUgKi9cblx0cGFkZGluZy1yaWdodDogMS41ZW07XG5cdHBhZGRpbmctbGVmdDogMS41ZW07XG5cblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRib3JkZXItbGVmdDogc29saWQgNXB4IGhzbCgwLCAwJSwgODAlKTtcbn1cblxuLmNrLWNvbnRlbnRbZGlyPVwicnRsXCJdIGJsb2NrcXVvdGUge1xuXHRib3JkZXItbGVmdDogMDtcblx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCA1cHggaHNsKDAsIDAlLCA4MCUpO1xufVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGNvbXBvbmVudHNcXGNvbG9yZ3JpZFxcY29sb3JncmlkLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1jb2xvci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcbn1cblxuLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXVpXFxjb21wb25lbnRzXFxjb2xvcmdyaWRcXGNvbG9yZ3JpZC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG5cbjpyb290IHtcblx0LS1jay1jb2xvci1ncmlkLXRpbGUtc2l6ZTogMjBweDtcbn1cblxuLmNrLmNrLWNvbG9yLWdyaWQge1xuXHRncmlkLWdhcDogY2FsYyggdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgLyAyICk7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xufVxuXG4uY2suY2stY29sb3ItZ3JpZF9fdGlsZSB7XG5cdGJvcmRlci1yYWRpdXM6IDBcbn1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stY29sb3ItZ3JpZF9fdGlsZSwgLmNrLmNrLWNvbG9yLWdyaWRfX3RpbGUuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKVxufVxuXG4uY2suY2stY29sb3ItZ3JpZF9fdGlsZSB7XG5cblx0d2lkdGg6IHZhcigtLWNrLWNvbG9yLWdyaWQtdGlsZS1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jay1jb2xvci1ncmlkLXRpbGUtc2l6ZSk7XG5cdG1pbi13aWR0aDogdmFyKC0tY2stY29sb3ItZ3JpZC10aWxlLXNpemUpO1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1jay1jb2xvci1ncmlkLXRpbGUtc2l6ZSk7XG5cdHBhZGRpbmc6IDA7XG5cdHRyYW5zaXRpb246IDIwMG1zIGVhc2UgYm94LXNoYWRvdztcblx0Ym9yZGVyOiAwXG59XG5cbi5jay5jay1jb2xvci1ncmlkX190aWxlLmNrLWRpc2FibGVkIHtcblx0XHRjdXJzb3I6IHVuc2V0O1xuXHRcdHRyYW5zaXRpb246IHVuc2V0O1xuXHR9XG5cbi5jay5jay1jb2xvci1ncmlkX190aWxlLmNrLWNvbG9yLXRhYmxlX19jb2xvci10aWxlX2JvcmRlcmVkIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHR9XG5cbi5jay5jay1jb2xvci1ncmlkX190aWxlIC5jay5jay1pY29uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cbi5jay5jay1jb2xvci1ncmlkX190aWxlLmNrLW9uIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKSwgMCAwIDAgMnB4IHZhcigtLWNrLWNvbG9yLWJhc2UtdGV4dClcblx0fVxuXG4uY2suY2stY29sb3ItZ3JpZF9fdGlsZS5jay1vbiAuY2suY2staWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cbi5jay5jay1jb2xvci1ncmlkX190aWxlOmhvdmVyOm5vdCggLmNrLWRpc2FibGVkICkge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHR9XG5cbi5jay5jay1jb2xvci1ncmlkX19sYWJlbCB7XG5cdHBhZGRpbmc6IDAgdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG59XG4iLCIvKiBGOlxcbGFyYWdvblxcd3d3XFxzaXJpdXMtdHJhbnNsYXRpb25zXFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWZvbnRcXHRoZW1lXFxmb250Y29sb3IuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrIC5jay1idXR0b24uY2stY29sb3ItdGFibGVfX3JlbW92ZS1jb2xvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG5sYWJlbC5jay5jay1jb2xvci1ncmlkX19sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiB1bnNldDtcbn1cblxuLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LWZvbnRcXGZvbnRjb2xvci5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jayAuY2stYnV0dG9uLmNrLWNvbG9yLXRhYmxlX19yZW1vdmUtY29sb3Ige1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRwYWRkaW5nOiBjYWxjKHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpIC8gMiApIHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMFxufVxuXG5bZGlyPVwibHRyXCJdIC5jayAuY2stYnV0dG9uLmNrLWNvbG9yLXRhYmxlX19yZW1vdmUtY29sb3IgLmNrLmNrLWljb24ge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKVxuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrIC5jay1idXR0b24uY2stY29sb3ItdGFibGVfX3JlbW92ZS1jb2xvciAuY2suY2staWNvbiB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZClcblx0fVxuIiwiLyogRjpcXGxhcmFnb25cXHd3d1xcc2lyaXVzLXRyYW5zbGF0aW9uc1xcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS1mb250XFx0aGVtZVxcZm9udHNpemUuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLnRleHQtdGlueSB7XG5cdGZvbnQtc2l6ZTogLjdlbTtcbn1cblxuLnRleHQtc21hbGwge1xuXHRmb250LXNpemU6IC44NWVtO1xufVxuXG4udGV4dC1iaWcge1xuXHRmb250LXNpemU6IDEuNGVtO1xufVxuXG4udGV4dC1odWdlIHtcblx0Zm9udC1zaXplOiAxLjhlbTtcbn1cbiIsIi8qISBQaWNrciAxLjQuMiBNSVQgfCBodHRwczovL2dpdGh1Yi5jb20vU2ltb253ZXAvcGlja3IgKi8ucGlja3J7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6dmlzaWJsZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ucGlja3IgKntib3gtc2l6aW5nOmJvcmRlci1ib3g7b3V0bGluZTpub25lO2JvcmRlcjpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lfS5waWNrciAucGNyLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MmVtO3dpZHRoOjJlbTtwYWRkaW5nOi41ZW07Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsU2Vnb2UgVUksUm9ib3RvLEhlbHZldGljYSBOZXVlLEFyaWFsLHNhbnMtc2VyaWY7Ym9yZGVyLXJhZGl1czouMTVlbTtiYWNrZ3JvdW5kOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTAgNTBcIiBzdHJva2U9XCIlMjM0MjQ0NUFcIiBzdHJva2Utd2lkdGg9XCI1cHhcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCI+PHBhdGggZD1cIk00NSw0NUw1LDVcIj48L3BhdGg+PHBhdGggZD1cIk00NSw1TDUsNDVcIj48L3BhdGg+PC9zdmc+Jykgbm8tcmVwZWF0IDUwJTtiYWNrZ3JvdW5kLXNpemU6MDt0cmFuc2l0aW9uOmFsbCAuM3N9LnBpY2tyIC5wY3ItYnV0dG9uOmJlZm9yZXtiYWNrZ3JvdW5kOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZTouNWVtO3otaW5kZXg6LTE7ei1pbmRleDphdXRvfS5waWNrciAucGNyLWJ1dHRvbjphZnRlciwucGlja3IgLnBjci1idXR0b246YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6XCJcIjt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOi4xNWVtfS5waWNrciAucGNyLWJ1dHRvbjphZnRlcnt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjNzO2JhY2tncm91bmQ6Y3VycmVudENvbG9yfS5waWNrciAucGNyLWJ1dHRvbi5jbGVhcntiYWNrZ3JvdW5kLXNpemU6NzAlfS5waWNrciAucGNyLWJ1dHRvbi5jbGVhcjpiZWZvcmV7b3BhY2l0eTowfS5waWNrciAucGNyLWJ1dHRvbi5jbGVhcjpmb2N1c3tib3gtc2hhZG93OjAgMCAwIDFweCBoc2xhKDAsMCUsMTAwJSwuODUpLDAgMCAwIDNweCBjdXJyZW50Q29sb3J9LnBpY2tyIC5wY3ItYnV0dG9uLmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZH0ucGNyLWFwcCAqLC5waWNrciAqe2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnBjci1hcHAgYnV0dG9uLnBjci1hY3RpdmUsLnBjci1hcHAgYnV0dG9uOmZvY3VzLC5wY3ItYXBwIGlucHV0LnBjci1hY3RpdmUsLnBjci1hcHAgaW5wdXQ6Zm9jdXMsLnBpY2tyIGJ1dHRvbi5wY3ItYWN0aXZlLC5waWNrciBidXR0b246Zm9jdXMsLnBpY2tyIGlucHV0LnBjci1hY3RpdmUsLnBpY2tyIGlucHV0OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgMXB4IGhzbGEoMCwwJSwxMDAlLC44NSksMCAwIDAgM3B4IGN1cnJlbnRDb2xvcn0ucGNyLWFwcCAucGNyLXBhbGV0dGUsLnBjci1hcHAgLnBjci1zbGlkZXIsLnBpY2tyIC5wY3ItcGFsZXR0ZSwucGlja3IgLnBjci1zbGlkZXJ7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zc30ucGNyLWFwcCAucGNyLXBhbGV0dGU6Zm9jdXMsLnBjci1hcHAgLnBjci1zbGlkZXI6Zm9jdXMsLnBpY2tyIC5wY3ItcGFsZXR0ZTpmb2N1cywucGlja3IgLnBjci1zbGlkZXI6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAxcHggaHNsYSgwLDAlLDEwMCUsLjg1KSwwIDAgMCAzcHggcmdiYSgwLDAsMCwuMjUpfS5wY3ItYXBwe3Bvc2l0aW9uOmZpeGVkO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ei1pbmRleDoxMDAwMDtib3JkZXItcmFkaXVzOi4xZW07YmFja2dyb3VuZDojZmZmO29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzLHZpc2liaWxpdHkgMHMgLjNzO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFNlZ29lIFVJLFJvYm90byxIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxzYW5zLXNlcmlmO2JveC1zaGFkb3c6MCAuMTVlbSAxLjVlbSAwIHJnYmEoMCwwLDAsLjEpLDAgMCAxZW0gMCByZ2JhKDAsMCwwLC4wMyk7bGVmdDowO3RvcDowfS5wY3ItYXBwLnZpc2libGV7dHJhbnNpdGlvbjpvcGFjaXR5IC4zczt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxfS5wY3ItYXBwIC5wY3Itc3dhdGNoZXN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi10b3A6Ljc1ZW19LnBjci1hcHAgLnBjci1zd2F0Y2hlcy5wY3ItbGFzdHttYXJnaW46MH1Ac3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCl7LnBjci1hcHAgLnBjci1zd2F0Y2hlc3tkaXNwbGF5OmdyaWQ7YWxpZ24taXRlbXM6Y2VudGVyO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsMS43NWVtKX19LnBjci1hcHAgLnBjci1zd2F0Y2hlcz5idXR0b257Zm9udC1zaXplOjFlbTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDpjYWxjKDEuNzVlbSAtIDVweCk7aGVpZ2h0OmNhbGMoMS43NWVtIC0gNXB4KTtib3JkZXItcmFkaXVzOi4xNWVtO2N1cnNvcjpwb2ludGVyO21hcmdpbjoyLjVweDtmbGV4LXNocmluazowO2p1c3RpZnktc2VsZjpjZW50ZXI7dHJhbnNpdGlvbjphbGwgLjE1cztvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp0cmFuc3BhcmVudDt6LWluZGV4OjF9LnBjci1hcHAgLnBjci1zd2F0Y2hlcz5idXR0b246YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6XCJcIjt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZTo2cHg7Ym9yZGVyLXJhZGl1czouMTVlbTt6LWluZGV4Oi0xfS5wY3ItYXBwIC5wY3Itc3dhdGNoZXM+YnV0dG9uOmFmdGVye2NvbnRlbnQ6XCJcIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA1KTtib3JkZXItcmFkaXVzOi4xNWVtO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ucGNyLWFwcCAucGNyLXN3YXRjaGVzPmJ1dHRvbjpob3Zlcnstd2Via2l0LWZpbHRlcjpicmlnaHRuZXNzKDEuMDUpO2ZpbHRlcjpicmlnaHRuZXNzKDEuMDUpfS5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb257ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46MCAtLjJlbX0ucGNyLWFwcCAucGNyLWludGVyYWN0aW9uPip7bWFyZ2luOjAgLjJlbX0ucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIGlucHV0e2xldHRlci1zcGFjaW5nOi4wN2VtO2ZvbnQtc2l6ZTouNzVlbTt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtjb2xvcjojNzU3OTdlO2JhY2tncm91bmQ6I2YxZjNmNDtib3JkZXItcmFkaXVzOi4xNWVtO3RyYW5zaXRpb246YWxsIC4xNXM7cGFkZGluZzouNDVlbSAuNWVtO21hcmdpbi10b3A6Ljc1ZW19LnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiBpbnB1dDpob3Zlcnstd2Via2l0LWZpbHRlcjpicmlnaHRuZXNzKC45NzUpO2ZpbHRlcjpicmlnaHRuZXNzKC45NzUpfS5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gaW5wdXQ6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAxcHggaHNsYSgwLDAlLDEwMCUsLjg1KSwwIDAgMCAzcHggcmdiYSg2NiwxMzMsMjQ0LC43NSl9LnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXJlc3VsdHtjb2xvcjojNzU3OTdlO3RleHQtYWxpZ246bGVmdDtmbGV4OjEgMSA4ZW07bWluLXdpZHRoOjhlbTt0cmFuc2l0aW9uOmFsbCAuMnM7Ym9yZGVyLXJhZGl1czouMTVlbTtiYWNrZ3JvdW5kOiNmMWYzZjQ7Y3Vyc29yOnRleHR9LnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXJlc3VsdDo6LW1vei1zZWxlY3Rpb257YmFja2dyb3VuZDojNDI4NWY0O2NvbG9yOiNmZmZ9LnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXJlc3VsdDo6c2VsZWN0aW9ue2JhY2tncm91bmQ6IzQyODVmNDtjb2xvcjojZmZmfS5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci10eXBlLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzQyODVmNH0ucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2FuY2VsLC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1jbGVhciwucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3Itc2F2ZXt3aWR0aDphdXRvO2NvbG9yOiNmZmZ9LnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNhbmNlbDpob3ZlciwucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2xlYXI6aG92ZXIsLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXNhdmU6aG92ZXJ7LXdlYmtpdC1maWx0ZXI6YnJpZ2h0bmVzcyguOTI1KTtmaWx0ZXI6YnJpZ2h0bmVzcyguOTI1KX0ucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3Itc2F2ZXtiYWNrZ3JvdW5kOiM0Mjg1ZjR9LnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNhbmNlbCwucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2xlYXJ7YmFja2dyb3VuZDojZjQ0MjUwfS5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1jYW5jZWw6Zm9jdXMsLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNsZWFyOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgMXB4IGhzbGEoMCwwJSwxMDAlLC44NSksMCAwIDAgM3B4IHJnYmEoMjQ0LDY2LDgwLC43NSl9LnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1waWNrZXJ7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtib3JkZXI6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czoxMDAlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucGNyLWFwcCAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLWNob29zZXIsLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5LC5wY3ItYXBwIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcGFsZXR0ZXtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtjdXJzb3I6Z3JhYjtjdXJzb3I6LXdlYmtpdC1ncmFifS5wY3ItYXBwIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlcjphY3RpdmUsLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5OmFjdGl2ZSwucGNyLWFwcCAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXBhbGV0dGU6YWN0aXZle2N1cnNvcjpncmFiYmluZztjdXJzb3I6LXdlYmtpdC1ncmFiYmluZ30ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNde3dpZHRoOjI4LjVlbTttYXgtd2lkdGg6OTV2dztwYWRkaW5nOi44ZW19LnBjci1hcHBbZGF0YS10aGVtZT1jbGFzc2ljXSAucGNyLXNlbGVjdGlvbntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZmxleC1ncm93OjF9LnBjci1hcHBbZGF0YS10aGVtZT1jbGFzc2ljXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXByZXZpZXd7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO3dpZHRoOjJlbTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbi1yaWdodDouNzVlbX0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcHJldmlldzpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDpcIlwiO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6dXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyIDJcIj48cGF0aCBmaWxsPVwid2hpdGVcIiBkPVwiTTEsMEgyVjFIMVYwWk0wLDFIMVYySDBWMVpcIi8+PHBhdGggZmlsbD1cImdyYXlcIiBkPVwiTTAsMEgxVjFIMFYwWk0xLDFIMlYySDFWMVpcIi8+PC9zdmc+Jyk7YmFja2dyb3VuZC1zaXplOi41ZW07Ym9yZGVyLXJhZGl1czouMTVlbTt6LWluZGV4Oi0xfS5wY3ItYXBwW2RhdGEtdGhlbWU9Y2xhc3NpY10gLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1wcmV2aWV3IC5wY3ItbGFzdC1jb2xvcntjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzLGJveC1zaGFkb3cgLjNzO2JvcmRlci1yYWRpdXM6LjE1ZW0gLjE1ZW0gMCAwO3otaW5kZXg6Mn0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcHJldmlldyAucGNyLWN1cnJlbnQtY29sb3J7Ym9yZGVyLXJhZGl1czowIDAgLjE1ZW0gLjE1ZW19LnBjci1hcHBbZGF0YS10aGVtZT1jbGFzc2ljXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXByZXZpZXcgLnBjci1jdXJyZW50LWNvbG9yLC5wY3ItYXBwW2RhdGEtdGhlbWU9Y2xhc3NpY10gLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1wcmV2aWV3IC5wY3ItbGFzdC1jb2xvcntiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjt3aWR0aDoxMDAlO2hlaWdodDo1MCV9LnBjci1hcHBbZGF0YS10aGVtZT1jbGFzc2ljXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXBhbGV0dGV7d2lkdGg6MTAwJTtoZWlnaHQ6OGVtO3otaW5kZXg6MX0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcGFsZXR0ZSAucGNyLXBhbGV0dGV7ZmxleC1ncm93OjE7Ym9yZGVyLXJhZGl1czouMTVlbX0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcGFsZXR0ZSAucGNyLXBhbGV0dGU6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6XCJcIjt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZTouNWVtO2JvcmRlci1yYWRpdXM6LjE1ZW07ei1pbmRleDotMX0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciwucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3Itb3BhY2l0eXttYXJnaW4tbGVmdDouNzVlbX0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciAucGNyLXBpY2tlciwucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3Itb3BhY2l0eSAucGNyLXBpY2tlcntsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciAucGNyLXNsaWRlciwucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3Itb3BhY2l0eSAucGNyLXNsaWRlcnt3aWR0aDo4cHg7ZmxleC1ncm93OjE7Ym9yZGVyLXJhZGl1czo1MGVtfS5wY3ItYXBwW2RhdGEtdGhlbWU9Y2xhc3NpY10gLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1jaG9vc2VyIC5wY3Itc2xpZGVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZWQsI2ZmMCwjMGYwLCMwZmYsIzAwZiwjZjBmLHJlZCl9LnBjci1hcHBbZGF0YS10aGVtZT1jbGFzc2ljXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLW9wYWNpdHkgLnBjci1zbGlkZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50LCMwMDApLHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZToxMDAlLDUwJX0iXSwic291cmNlUm9vdCI6IiJ9*/