html {
  box-sizing: border-box; }

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

button, input[type="button"], input[type="reset"], input[type="submit"],
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  -webkit-font-smoothing: antialiased;
  background-color: #E40028;
  border-radius: 3px;
  border: none;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1em;
  font-weight: 600;
  line-height: 1;
  padding: 0.75em 1em;
  text-decoration: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: middle;
  white-space: nowrap; }
  button:hover, button:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="reset"]:hover, input[type="reset"]:focus, input[type="submit"]:hover, input[type="submit"]:focus,
  button:hover,
  button:focus {
    background-color: #98001b;
    color: #fff; }
  button:disabled, input[type="button"]:disabled, input[type="reset"]:disabled, input[type="submit"]:disabled,
  button:disabled {
    cursor: not-allowed;
    opacity: 0.5; }

fieldset {
  background-color: #545351;
  border: 1px solid #3A3938;
  margin: 0 0 0.75em;
  padding: 1.5em; }

input,
label,
select {
  display: block;
  font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1em; }

label {
  font-weight: 600; }
  label.required::after {
    content: "*"; }
  label abbr {
    display: none; }

input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], textarea,
select[multiple=multiple],
textarea {
  background-color: #fff;
  border: 1px solid #3A3938;
  border-radius: 3px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
  font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1em;
  margin-bottom: 0.75em;
  padding: 0.5em;
  transition: border-color;
  width: 100%; }
  input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="email"]:hover, input[type="month"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="time"]:hover, input[type="url"]:hover, input[type="week"]:hover, textarea:hover,
  select[multiple=multiple]:hover,
  textarea:hover {
    border-color: #20201f; }
  input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, textarea:focus,
  select[multiple=multiple]:focus,
  textarea:focus {
    border-color: #E40028;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(203, 0, 36, 0.7);
    outline: none; }

textarea {
  resize: vertical; }

input[type="search"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none; }

input[type="file"] {
  padding-bottom: 0.75em;
  width: 100%; }

select {
  margin-bottom: 1.5em;
  max-width: 100%;
  width: auto; }

ul,
ol {
  list-style-type: none;
  margin: 0;
  padding: 0; }
dl {
  margin-bottom: 0.75em; }
  dl dt {
    font-weight: bold;
    margin-top: 0.75em; }
  dl dd {
    margin: 0; }

table {
  -ms-font-feature-settings: "kern", "liga", "tnum";
  font-feature-settings: "kern", "liga", "tnum";
  border-collapse: collapse;
  margin: 0.75em 0;
  table-layout: fixed;
  width: 100%; }

th {
  border-bottom: 1px solid #131312;
  font-weight: 600;
  padding: 0.75em 0;
  text-align: left; }

td {
  border-bottom: 1px solid #3A3938;
  padding: 0.75em 0; }

tr,
td,
th {
  vertical-align: middle; }

body {
  color: #000;
  font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1em;
  line-height: 1.5; }

h1 {
  font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1.5625em;
  color: #E40028;
  margin-left: 4px;
  margin-bottom: 0;
  z-index: 999;
  font-weight: 500; }

h2 {
  font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1.5625em;
  color: #E40028;
  margin-left: 4px;
  margin-bottom: 0;
  z-index: 999;
  font-weight: 500; }

h3 {
  font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1.375em;
  margin: 0 0 0.3125em 0;
  line-height: 1em; }

.special h3, h3.special {
  margin-top: 0.9375em; }

p {
  margin: 0 0 0.75em; }

a {
  color: #000;
  text-decoration: none; }
  a:active, a:focus, a:hover, a.trail {
    color: #E40028; }
  a:active, a:focus, a.trail {
    outline: none; }

span.active, span.trail {
  color: #E40028;
  outline: none; }

img,
picture {
  display: block;
  max-width: 100%;
  margin: 0;
  height: auto; }

hr {
  color: #000;
  border-bottom: 1px;
  border-left: 0;
  border-right: 0;
  border-style: solid;
  border-top: 0;
  margin: 10px 0 23px 0; }

.invisible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.ce_text h2 {
  margin-left: 0; }

h3 {
  font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1.5625em; }

p {
  margin: 0; }

.ce_image figure, .ce_hyperlink figure {
  margin: 0 0 0.5em 0;
  overflow: hidden; }

img {
  min-width: 100%; }

#wrapper {
  padding: 0 1.875em; }
  @media screen and (min-width: 68.125em) {
    #wrapper {
      padding: 0; } }

#container {
  margin-top: 6.25em; }
  #container .inside {
    max-width: 68.125em;
    margin-left: auto;
    margin-right: auto; }
    #container .inside::after {
      clear: both;
      content: "";
      display: table; }

.ce_text, .description {
  margin-bottom: 1.875em; }

.image-container {
  float: left;
  display: block;
  margin-right: 0.78125%;
  width: 100%; }
  .image-container:last-child {
    margin-right: 0; }
  .image-container .ce_image figure img, .image-container .ce_hyperlink figure img {
    margin: 0 auto; }

.half {
  float: left;
  display: block;
  margin-right: 0.78125%;
  width: 100%; }
  .half:last-child {
    margin-right: 0; }
  @media screen and (min-width: 48.75em) {
    .half {
      float: left;
      display: block;
      margin-right: 0.78125%;
      width: 49.60938%; }
      .half:last-child {
        margin-right: 0; }
      .half:nth-child(2n) {
        margin-right: 0; }
      .half:nth-child(2n+1) {
        clear: left; } }

.ce_hyperlink a {
  display: block;
  position: relative; }
  .ce_hyperlink a .caption {
    display: block;
    background-color: rgba(0, 0, 0, 0.8);
    position: absolute;
    padding-left: 0.1875em;
    bottom: 0;
    width: 100%;
    height: 100px;
    color: #fff;
    margin: 0 auto;
    font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-size: 1.5625em; }
    .ce_hyperlink a .caption::after {
      bottom: -0.75em;
      color: #fff;
      content: "\f105";
      display: block;
      font-family: FontAwesome, sans-serif;
      font-size: 48px;
      height: 100px;
      position: absolute;
      right: 0.125em; }
  .ce_hyperlink a .caption, .ce_hyperlink a span {
    visibility: hidden; }
  .ce_hyperlink a:hover .caption, .ce_hyperlink a:hover span {
    visibility: visible; }

.ce_image, .ce_hyperlink, .mod_team, #header .inside, #footer .inside, .mod_reference_detail, .ce_text, .description, .ce_dlh_googlemaps, .ce_form {
  padding-right: 0.25em;
  padding-left: 0.25em; }

.half:nth-of-type(odd) {
  padding-right: 0; }
.half:nth-of-type(even) {
  padding-left: 0; }

.grid {
  margin-bottom: 1.875em; }

.grid .item {
  float: left;
  width: 25%;
  margin: 0 4px 8px; }
  .grid .item.red {
    background-color: #E40028; }
  .grid .item.green {
    background-color: #15990f; }
  .grid .item.blue {
    background-color: #2945ff; }
  .grid .item.yellow {
    background-color: #ffda3a; }
  .grid .item a {
    width: 100%;
    height: 100%;
    display: block; }
  .grid .item p {
    font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-size: 1em;
    font-weight: 500;
    color: #fff;
    padding: 0 0.3125em; }
    @media screen and (min-width: 48.75em) {
      .grid .item p {
        font-size: 1.5625em; } }
  .grid .item figure {
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden; }
    .grid .item figure img {
      min-width: 100%;
      min-height: 100%; }
  .grid .item figcaption, .grid .item span {
    visibility: hidden; }
  .grid .item:hover figcaption {
    visibility: visible;
    position: absolute;
    padding: 0 0 0 0.3125em;
    font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-size: 1em;
    font-weight: 500;
    color: #fff;
    bottom: 0;
    height: 60px;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.8); }
    @media screen and (min-width: 48.75em) {
      .grid .item:hover figcaption {
        font-size: 1.5625em;
        height: 100px; } }
  .grid .item:hover span {
    visibility: visible; }
    .grid .item:hover span::after {
      bottom: -8px;
      color: #fff;
      content: "\f105";
      display: block;
      font-family: FontAwesome, sans-serif;
      font-size: 32px;
      height: 60px;
      position: absolute;
      right: 0.125em; }
      @media screen and (min-width: 48.75em) {
        .grid .item:hover span::after {
          bottom: 0;
          font-size: 80px;
          height: 100px; } }

.grid .item-w2 {
  width: 50%; }

.isotope .isotope-item {
  transition-duration: 0.8s;
  transition-property: transform, opacity; }

.scroll-to-top {
  display: none;
  position: fixed;
  bottom: 0.625em;
  right: 0.625em;
  background-color: #E40028;
  height: 2.5em;
  width: 2.5em; }
  .scroll-to-top i {
    color: #fff;
    width: 100%;
    text-align: center;
    font-size: 30px;
    margin-top: 2px; }

.anchor .ce_text h2 {
  color: #000; }
.anchor .ce_download {
  margin-bottom: 1.875em; }
  .anchor .ce_download img {
    display: inline;
    min-width: 0;
    position: relative;
    top: 3px; }

a.anchor {
  display: block;
  position: relative;
  top: -60px;
  visibility: hidden; }

.anchor-menu {
  margin-bottom: 0; }
  .anchor-menu li {
    font-size: 1.17em;
    font-weight: bold; }
  .anchor-menu li a::before {
    content: "\203A";
    font-size: 1.188em;
    padding-right: 5px; }

.mod_team {
  float: left;
  display: block;
  margin-right: 0.78125%;
  width: 100%; }
  .mod_team:last-child {
    margin-right: 0; }
  .mod_team .member {
    float: left;
    display: block;
    margin-right: 0.78125%;
    width: 49.60938%;
    display: block;
    margin-bottom: 1.875em; }
    .mod_team .member:last-child {
      margin-right: 0; }
    .mod_team .member:nth-child(2n) {
      margin-right: 0; }
    .mod_team .member:nth-child(2n+1) {
      clear: left; }
    @media screen and (min-width: 30em) {
      .mod_team .member {
        float: left;
        display: block;
        margin-right: 0.78125%;
        width: 32.8125%; }
        .mod_team .member:last-child {
          margin-right: 0; }
        .mod_team .member:nth-child(2n) {
          margin-right: 0.78125%; }
        .mod_team .member:nth-child(2n+1) {
          clear: none; }
        .mod_team .member:nth-child(3n) {
          margin-right: 0; }
        .mod_team .member:nth-child(3n+1) {
          clear: left; } }
    @media screen and (min-width: 48.75em) {
      .mod_team .member {
        float: left;
        display: block;
        margin-right: 0.78125%;
        width: 24.41406%; }
        .mod_team .member:last-child {
          margin-right: 0; }
        .mod_team .member:nth-child(3n) {
          margin-right: 0.78125%; }
        .mod_team .member:nth-child(3n+1) {
          clear: none; }
        .mod_team .member:nth-child(4n) {
          margin-right: 0; }
        .mod_team .member:nth-child(4n+1) {
          clear: left; } }
    .mod_team .member figure {
      margin: 0;
      position: relative; }
      .mod_team .member figure img {
        margin: 0;
        display: block; }
      .mod_team .member figure figcaption {
        background-color: rgba(0, 0, 0, 0.8);
        bottom: 0;
        color: #fff;
        height: auto;
        padding: 0.9375em;
        position: absolute;
        width: 100%;
        visibility: hidden; }
        .mod_team .member figure figcaption span {
          display: block; }
          .mod_team .member figure figcaption span.name {
            font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
            font-size: 1.09375em; }
            @media screen and (min-width: 48.75em) {
              .mod_team .member figure figcaption span.name {
                font-size: 1.5625em; } }
          .mod_team .member figure figcaption span.graduation {
            font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
            font-size: 0.75em; }
      .mod_team .member figure:hover figcaption {
        visibility: visible; }

.mod_reference_detail .ref_gallery {
  margin-top: 1.875em; }
  .mod_reference_detail .ref_gallery figure {
    margin: 0 0 0.5em 0; }
    .mod_reference_detail .ref_gallery figure img {
      min-width: 100%;
      width: 100%; }
  .mod_reference_detail .ref_gallery .landscape {
    float: left;
    display: block;
    margin-right: 0.78125%;
    width: 100%; }
    .mod_reference_detail .ref_gallery .landscape:last-child {
      margin-right: 0; }
  .mod_reference_detail .ref_gallery .cube {
    float: left;
    display: block;
    margin-right: 0.78125%;
    width: 49.60938%; }
    .mod_reference_detail .ref_gallery .cube:last-child {
      margin-right: 0; }
    .mod_reference_detail .ref_gallery .cube.second {
      margin-right: 0; }
.mod_reference_detail .close-ref {
  background-color: #E40028;
  display: block;
  height: 2.5em;
  position: absolute;
  top: 6.4375em;
  width: 2.5em;
  right: 0; }
  @media screen and (min-width: 30em) {
    .mod_reference_detail .close-ref {
      right: 0.3125em; } }
  @media screen and (min-width: 48.75em) {
    .mod_reference_detail .close-ref {
      right: 0.625em; } }
  @media screen and (min-width: 61.875em) {
    .mod_reference_detail .close-ref {
      right: 0em; } }
  .mod_reference_detail .close-ref i {
    color: #fff;
    width: 100%;
    text-align: center;
    font-size: 30px;
    margin-top: 3px; }
.mod_reference_detail .pre-ref, .mod_reference_detail .next-ref {
  position: absolute;
  top: 10.625em; }
  .mod_reference_detail .pre-ref i, .mod_reference_detail .next-ref i {
    color: #E40028;
    font-size: 30px; }
  .mod_reference_detail .pre-ref.hidden, .mod_reference_detail .next-ref.hidden {
    pointer-events: none;
    cursor: default; }
    .mod_reference_detail .pre-ref.hidden i, .mod_reference_detail .next-ref.hidden i {
      color: #E2E2E2; }
  @media screen and (min-width: 30em) {
    .mod_reference_detail .pre-ref, .mod_reference_detail .next-ref {
      top: 11.875em; } }
  @media screen and (min-width: 48.75em) {
    .mod_reference_detail .pre-ref, .mod_reference_detail .next-ref {
      top: 15.625em; } }
  @media screen and (min-width: 61.875em) {
    .mod_reference_detail .pre-ref, .mod_reference_detail .next-ref {
      top: 18.75em; } }
  @media screen and (min-width: 75em) {
    .mod_reference_detail .pre-ref, .mod_reference_detail .next-ref {
      top: 21.875em; } }
.mod_reference_detail .pre-ref {
  left: 0; }
  @media screen and (min-width: 30em) {
    .mod_reference_detail .pre-ref {
      left: 0.3125em; } }
  @media screen and (min-width: 48.75em) {
    .mod_reference_detail .pre-ref {
      left: 0.625em; } }
  @media screen and (min-width: 61.875em) {
    .mod_reference_detail .pre-ref {
      left: 0em; } }
.mod_reference_detail .next-ref {
  right: 0; }
  @media screen and (min-width: 30em) {
    .mod_reference_detail .next-ref {
      right: 0.3125em; } }
  @media screen and (min-width: 48.75em) {
    .mod_reference_detail .next-ref {
      right: 0.625em; } }
  @media screen and (min-width: 61.875em) {
    .mod_reference_detail .next-ref {
      right: 0em; } }
.mod_reference_detail .pre-ref, .mod_reference_detail .next-ref, .mod_reference_detail .close-ref {
  display: none; }

.contact .ce_image figure {
  max-height: none; }
.contact .ce_dlh_googlemaps {
  margin-bottom: 1.875em; }
.contact .ce_form {
  float: left;
  display: block;
  margin-right: 0.78125%;
  width: 100%;
  margin-bottom: 1.875em; }
  .contact .ce_form:last-child {
    margin-right: 0; }
  @media screen and (min-width: 48.75em) {
    .contact .ce_form {
      float: left;
      display: block;
      margin-right: 0.78125%;
      width: 49.60938%; }
      .contact .ce_form:last-child {
        margin-right: 0; } }
  .contact .ce_form form {
    padding: 0.9375em;
    background-color: #E2E2E2;
    margin: 0px; }
  .contact .ce_form .widget label {
    font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-weight: normal; }
  .contact .ce_form .widget input, .contact .ce_form .widget textarea {
    border: 0px none;
    border-radius: 0px; }
  .contact .ce_form .widget textarea {
    margin-bottom: 0.9375em; }
  .contact .ce_form .widget.widget-checkbox {
    margin: 1.875em 0 1.25em 0; }
    .contact .ce_form .widget.widget-checkbox fieldset {
      background-color: transparent;
      border: 0px none;
      margin: 0px;
      padding: 0px; }
      .contact .ce_form .widget.widget-checkbox fieldset span input[type="checkbox"] {
        display: none; }
      .contact .ce_form .widget.widget-checkbox fieldset span label {
        display: inline-block;
        cursor: pointer; }
        .contact .ce_form .widget.widget-checkbox fieldset span label::before {
          content: "";
          display: inline-block;
          width: 1.875em;
          height: 1.875em;
          vertical-align: middle;
          background-color: #fff;
          color: #000;
          margin-right: 0.9375em;
          text-align: center; }
      .contact .ce_form .widget.widget-checkbox fieldset span input[type="checkbox"]:checked + label::before {
        content: "\f00c";
        font-family: FontAwesome, serif;
        font-size: 1em;
        padding: 3px; }
  .contact .ce_form input[type="submit"] {
    background-color: #fff;
    color: #000;
    font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-weight: normal; }
    .contact .ce_form input[type="submit"]:hover {
      background-color: #E40028;
      color: #fff; }

.kundenzufriedenheitForm fieldset {
  background-color: #E2E2E2;
  border: none; }
  .kundenzufriedenheitForm fieldset .widget-explanation {
    margin-bottom: 0.9375em; }
  .kundenzufriedenheitForm fieldset .widget-text {
    float: left;
    display: block;
    margin-right: 0.78125%;
    width: 100%; }
    .kundenzufriedenheitForm fieldset .widget-text:last-child {
      margin-right: 0; }
    @media screen and (min-width: 48.75em) {
      .kundenzufriedenheitForm fieldset .widget-text {
        float: left;
        display: block;
        margin-right: 0.78125%;
        width: 49.60938%; }
        .kundenzufriedenheitForm fieldset .widget-text:last-child {
          margin-right: 0; }
        .kundenzufriedenheitForm fieldset .widget-text:nth-child(2n) {
          margin-right: 0; }
        .kundenzufriedenheitForm fieldset .widget-text:nth-child(2n+1) {
          clear: left; } }
  .kundenzufriedenheitForm fieldset .widget-radio fieldset {
    border: 1px solid #fff; }
  @media screen and (min-width: 48.75em) {
    .kundenzufriedenheitForm fieldset .widget-radio legend {
      float: left;
      display: block;
      margin-right: 0.78125%;
      width: 49.60938%; }
      .kundenzufriedenheitForm fieldset .widget-radio legend:last-child {
        margin-right: 0; } }
  .kundenzufriedenheitForm fieldset .widget-radio span {
    float: left;
    display: block;
    margin-right: 0.78125%;
    width: 16.01563%; }
    .kundenzufriedenheitForm fieldset .widget-radio span:last-child {
      margin-right: 0; }
    @media screen and (min-width: 48.75em) {
      .kundenzufriedenheitForm fieldset .widget-radio span {
        float: left;
        display: block;
        margin-right: 0.78125%;
        width: 7.61719%; }
        .kundenzufriedenheitForm fieldset .widget-radio span:last-child {
          margin-right: 0; } }
  .kundenzufriedenheitForm fieldset .widget-radio span:nth-of-type(1) label:before, .kundenzufriedenheitForm fieldset .widget-radio span:nth-of-type(1) label::before {
    content: '1'; }
  .kundenzufriedenheitForm fieldset .widget-radio span:nth-of-type(2) label:before, .kundenzufriedenheitForm fieldset .widget-radio span:nth-of-type(2) label::before {
    content: '2'; }
  .kundenzufriedenheitForm fieldset .widget-radio span:nth-of-type(3) label:before, .kundenzufriedenheitForm fieldset .widget-radio span:nth-of-type(3) label::before {
    content: '3'; }
  .kundenzufriedenheitForm fieldset .widget-radio span:nth-of-type(4) label:before, .kundenzufriedenheitForm fieldset .widget-radio span:nth-of-type(4) label::before {
    content: '4'; }
  .kundenzufriedenheitForm fieldset .widget-radio span:nth-of-type(5) label:before, .kundenzufriedenheitForm fieldset .widget-radio span:nth-of-type(5) label::before {
    content: '5'; }
  .kundenzufriedenheitForm fieldset .widget-radio span:nth-of-type(6) label:before, .kundenzufriedenheitForm fieldset .widget-radio span:nth-of-type(6) label::before {
    content: '6'; }
  .kundenzufriedenheitForm fieldset .widget-radio span input[type="radio"] {
    display: none; }
  .kundenzufriedenheitForm fieldset .widget-radio span label {
    display: inline-block;
    cursor: pointer;
    color: #E2E2E2; }
    .kundenzufriedenheitForm fieldset .widget-radio span label::before {
      display: inline-block;
      width: 1.875em;
      height: 1.875em;
      vertical-align: middle;
      background-color: #fff;
      color: #E2E2E2;
      margin-right: 0.9375em;
      text-align: center;
      padding: 3px;
      font-size: 1em; }
  .kundenzufriedenheitForm fieldset .widget-radio span input[type="radio"]:checked + label::before {
    color: #E40028;
    font-weight: bold; }
  .kundenzufriedenheitForm fieldset label {
    font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-weight: normal; }
  .kundenzufriedenheitForm fieldset input, .kundenzufriedenheitForm fieldset textarea {
    border: 0px none;
    border-radius: 0px; }

#aktuell .ce_text h2 {
  color: #000;
  font-size: 0.83em;
  font-weight: bold;
  margin: 20px 0; }

#header {
  background-color: #fff;
  min-height: 6.25em;
  z-index: 999;
  position: fixed;
  width: 100%;
  top: 0; }
  #header .inside {
    max-width: 68.125em;
    margin-left: auto;
    margin-right: auto; }
    #header .inside::after {
      clear: both;
      content: "";
      display: table; }
  #header .navigation-wrapper {
    float: left;
    display: block;
    margin-right: 0.78125%;
    width: 58.00781%;
    position: relative;
    z-index: 9999; }
    #header .navigation-wrapper::after {
      clear: both;
      content: "";
      display: table; }
    #header .navigation-wrapper:last-child {
      margin-right: 0; }
  #header .logo {
    height: 103px;
    float: left;
    display: block;
    margin-right: 0.78125%;
    width: 41.21094%; }
    #header .logo:last-child {
      margin-right: 0; }
    #header .logo img {
      float: right;
      padding: 0.9375em 0;
      display: block;
      max-height: 103px;
      min-width: 100px;
      margin-right: 4em; }
      @media screen and (min-width: 61.875em) {
        #header .logo img {
          margin-top: 0; } }
      @media screen and (min-width: 68.125em) {
        #header .logo img {
          margin-right: 0; } }
  #header .navigation-menu-button {
    color: #000;
    display: block;
    float: left;
    font-weight: 700;
    line-height: 6.25em;
    margin: 0;
    text-transform: uppercase; }
    @media screen and (min-width: 61.875em) {
      #header .navigation-menu-button {
        display: none; } }
    #header .navigation-menu-button:focus, #header .navigation-menu-button:hover {
      color: #E40028; }
  #header nav {
    float: none;
    min-height: 6.25em;
    z-index: 9999999; }
    @media screen and (min-width: 61.875em) {
      #header nav {
        float: left; } }
  #header ul.navigation-menu {
    clear: both;
    display: none;
    margin: 0 auto;
    overflow: visible;
    padding: 0;
    width: 100%;
    z-index: 9999; }
    #header ul.navigation-menu.show {
      display: block; }
    @media screen and (min-width: 61.875em) {
      #header ul.navigation-menu {
        display: inline;
        margin: 0;
        padding: 0; } }
  #header ul li.nav-link {
    background: #fff;
    display: block;
    overflow: hidden;
    text-align: left;
    width: 100%;
    z-index: 9999; }
    @media screen and (min-width: 61.875em) {
      #header ul li.nav-link {
        background: transparent;
        padding-left: 0;
        display: inline;
        line-height: 6.25em;
        text-decoration: none;
        width: auto; } }
    #header ul li.nav-link a {
      color: #000;
      display: inline-block;
      font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
      font-size: 1.5625em;
      text-decoration: none;
      font-weight: 500; }
      @media screen and (min-width: 61.875em) {
        #header ul li.nav-link a {
          padding-right: 1em;
          font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
          font-size: 1.5625em; } }
      #header ul li.nav-link a:focus, #header ul li.nav-link a:hover {
        color: #E40028; }
  #header .active-nav-item a {
    border-bottom: 1px solid #E40028;
    padding-bottom: 3px; }
  #header li.more.nav-link {
    padding-right: 0; }
    @media screen and (min-width: 61.875em) {
      #header li.more.nav-link {
        padding-right: 0.5em; } }
    #header li.more.nav-link a {
      margin-right: 0.5em; }
    #header li.more.nav-link > a {
      padding-right: 0.6em; }
  #header li.more {
    overflow: visible;
    padding-right: 0; }
    #header li.more a {
      padding-right: 0.8em; }
    #header li.more > a {
      padding-right: 1.6em;
      position: relative; }
      @media screen and (min-width: 61.875em) {
        #header li.more > a {
          margin-right: 0.5em; } }
    #header li.more:focus > .submenu, #header li.more:hover > .submenu {
      display: block; }
    @media screen and (min-width: 61.875em) {
      #header li.more {
        padding-right: 0.8em;
        position: relative; } }
  #header ul.submenu {
    display: none;
    padding-left: 0;
    background-color: #fff;
    webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.25);
    box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.25); }
    @media screen and (min-width: 61.875em) {
      #header ul.submenu {
        position: absolute;
        top: 1.875em;
        left: 0; } }
    @media screen and (min-width: 61.875em) {
      #header ul.submenu .submenu {
        left: 11.8em;
        top: 0; } }
    #header ul.submenu li {
      display: block;
      padding-right: 0;
      border-bottom: 1px solid #E2E2E2; }
      @media screen and (min-width: 61.875em) {
        #header ul.submenu li {
          line-height: 1.875em; } }
      #header ul.submenu li a {
        color: #000;
        background-color: #fff;
        display: block;
        font-size: 1.25em;
        text-align: left;
        width: 100%;
        padding-left: 0.4em;
        padding-top: 0.3125em;
        padding-bottom: 0.3125em; }
        @media screen and (min-width: 61.875em) {
          #header ul.submenu li a {
            background-color: #fff;
            padding-left: 0.5em;
            text-align: left;
            width: 12em; } }
  #header ul li.active > a {
    color: #E40028; }

#footer {
  margin: 1.875em 0; }
  #footer .inside {
    max-width: 68.125em;
    margin-left: auto;
    margin-right: auto; }
    #footer .inside::after {
      clear: both;
      content: "";
      display: table; }
    #footer .inside div {
      float: left;
      display: block;
      margin-right: 0.78125%;
      width: 100%; }
      #footer .inside div:last-child {
        margin-right: 0; }
      #footer .inside div:nth-of-type(n+3) {
        margin-top: 1.875em; }
      @media screen and (min-width: 48.75em) {
        #footer .inside div {
          float: left;
          display: block;
          margin-right: 0.78125%;
          width: 24.41406%; }
          #footer .inside div:nth-child(2n) {
            margin-right: 0.78125%; }
          #footer .inside div:nth-child(2n+1) {
            clear: none; }
          #footer .inside div:last-child {
            margin-right: 0; }
          #footer .inside div:nth-of-type(n+3) {
            margin-top: 0; } }
      #footer .inside div #js-mobile-menu {
        display: none; }
      #footer .inside div h2 {
        font-family: 1em;
        font-size: 1em;
        margin: 0 0 0.3125em 0;
        line-height: 1em;
        font-weight: bold;
        color: #000; }
    #footer .inside .disclaimer-only {
      white-space: nowrap;
      padding-left: 0 !important; }


    .cookiebar__button {
  background-color: #E40028;
}

.cookiebar__button:hover {
  background-color: #a7001d;
}

.nested-list > ol {
  margin-left: -2px;
}

.nested-list ol {
  counter-reset: item;
}

.nested-list ol li {
  margin-left: 30px;
  font-weight: normal;
}

.nested-list ol li:before {
  content: counters(item, ".") " ";
  counter-increment: item;
  margin-left: -28px;
}

.nested-list > ol > li {
  margin-top: 30px;
  font-weight: bold;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3ZlbmRvci9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fYm94LXNpemluZy5zY3NzIiwiYmFzZS9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJiYXNlL192YXJpYWJsZXMuc2NzcyIsImJhc2UvX2Zvcm1zLnNjc3MiLCJiYXNlL19saXN0cy5zY3NzIiwiYmFzZS9fdGFibGVzLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJlbGVtZW50cy9fZ2xvYmFscy5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19tZWRpYS5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19vdXRlci1jb250YWluZXIuc2NzcyIsImJhc2UvX2dyaWQtc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19zcGFuLWNvbHVtbnMuc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb21lZ2Euc2NzcyIsImVsZW1lbnRzL19ib2R5LnNjc3MiLCJiYXNlL19vd24tbWl4aW5zLnNjc3MiLCJlbGVtZW50cy9faGVhZGVyLnNjc3MiLCJlbGVtZW50cy9fZm9vdGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0U7RUFDRSx1QkFBc0IsRUFBQTs7QUFJdEI7RUFHRSxvQkFBbUIsRUFBQTs7QUNYekI7O0VDbUNRLHlCRGpDa0I7RUNxQ2xCLHNCRHJDa0I7RUN5Q2xCLHFCRHpDa0I7RUM2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QkFBMEIsRUFBQSIsImZpbGUiOiJhcHBzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gdHJ1ZSB7XG4gIGh0bWwgeyAvLyBodHRwOi8vYml0Lmx5LzFxazJ0VlJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgKiB7XG4gICAgJixcbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cbiIsIiN7JGFsbC1idXR0b24taW5wdXRzfSxcbmJ1dHRvbiB7XG4gIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYmFzZS1ib3JkZXItcmFkaXVzO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRhY3Rpb24tY29sb3IsIDE1JSk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBtaXhpbiBmb3IgZ2VuZXJhdGluZyB2ZW5kb3IgcHJlZml4ZXMgb24gbm9uLXN0YW5kYXJkaXplZCBwcm9wZXJ0aWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eVxuLy8vICAgUHJvcGVydHkgdG8gcHJlZml4XG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZVxuLy8vICAgVmFsdWUgdG8gdXNlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRwcmVmaXhlc1xuLy8vICAgUHJlZml4ZXMgdG8gZGVmaW5lXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXJhZGl1cywgMTBweCwgd2Via2l0IG1zIHNwZWMpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itd2Via2l0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1tb3ppbGxhXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1taWNyb3NvZnRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW9wZXJhXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1zcGVjXG5cbkBtaXhpbiBwcmVmaXhlcigkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICBAaWYgJHByZWZpeCA9PSB3ZWJraXQge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgICAgIC13ZWJraXQtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG8ge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW9wZXJhIHtcbiAgICAgICAgLW8tI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuJGJhc2UtZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4kaDEtZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuJGgyLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiRoMy1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4kaDQtZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuJGg1LWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiRoNi1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cbi8vIEZvbnQgU2l6ZXNcbiRiYXNlLWZvbnQtc2l6ZTogZW0oMTYpO1xuJG5hdi1mb250LXNpemU6IGVtKDI1KTtcbiRob21lLWZvbnQtc2l6ZTogZW0oMjUpO1xuJGgzLWZvbnQtc2l6ZTogZW0oMjUpO1xuXG4vLyBMaW5lIGhlaWdodFxuJGJhc2UtbGluZS1oZWlnaHQ6IDEuNTtcbiRoZWFkaW5nLWxpbmUtaGVpZ2h0OiAxLjI7XG5cbi8vIE90aGVyIFNpemVzXG4kYmFzZS1ib3JkZXItcmFkaXVzOiAzcHg7XG4kYmFzZS1zcGFjaW5nOiAkYmFzZS1saW5lLWhlaWdodCAqIDFlbTtcbiRzbWFsbC1zcGFjaW5nOiAkYmFzZS1zcGFjaW5nIC8gMjtcbiRiYXNlLXotaW5kZXg6IDA7XG5cbi8vIENvbG9yc1xuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuJGJsYWNrLXRyYW5zcGFyZW50OiByZ2JhKCRibGFjaywgMC44KTtcbiRibGFjay1icm93bjogIzNBMzkzODtcbiRyZWQ6ICNFNDAwMjg7XG4kZ3JlZW46ICMxNTk5MGY7XG4kYmx1ZTogIzI5NDVmZjtcbiR5ZWxsb3c6ICNmZmRhM2E7XG4kZ3JheTogI0UyRTJFMjtcblxuLy8gRGlzdGFuY2VcbiRkZWZhdWx0LWRpc3Q6IGVtKDMwKTtcbiRvdXRlci1wYWRkaW5nOiBlbSg0KTtcblxuLy8gRm9udCBDb2xvcnNcbiRiYXNlLWJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiRiYXNlLWZvbnQtY29sb3I6ICRibGFjaztcbiRhY3Rpb24tY29sb3I6ICRyZWQ7XG5cbi8vIEJvcmRlclxuJGJhc2UtYm9yZGVyLWNvbG9yOiAkYmxhY2stYnJvd247XG4kYmFzZS1ib3JkZXI6IDFweCBzb2xpZCAkYmFzZS1ib3JkZXItY29sb3I7XG5cbi8vIEZvcm1zXG4kZm9ybS1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggcmdiYSgjMDAwLCAwLjA2KTtcbiRmb3JtLWJveC1zaGFkb3ctZm9jdXM6ICRmb3JtLWJveC1zaGFkb3csIDAgMCA1cHggYWRqdXN0LWNvbG9yKCRhY3Rpb24tY29sb3IsICRsaWdodG5lc3M6IC01JSwgJGFscGhhOiAtMC4zKTtcblxuLy8gTmF2aWdhdGlvblxuJG5hdmlnYXRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJHN1Ym5hdmlnYXRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJG5hdmlnYXRpb24tY29sb3I6ICRibGFjaztcbiRzdWJuYXZpZ2F0aW9uLWNvbG9yOiAkYmxhY2s7XG4kbmF2aWdhdGlvbi1jb2xvci1ob3ZlcjogJHJlZDtcbiRsYXJnZS1zY3JlZW46ICRtZC1zY3JlZW4tdXAgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbi1oZWlnaHQ6IGVtKDEwMCk7XG4kbmF2aWdhdGlvbi1wYWRkaW5nOiBlbSgxNik7XG4kbmF2aWdhdGlvbi1hY3RpdmUtbGluay1jb2xvcjogJHJlZDtcbiRuYXZpZ2F0aW9uLXN1Ym1lbnUtcGFkZGluZzogZW0oOCk7XG4kbmF2aWdhdGlvbi1zdWJtZW51LXdpZHRoOiAxMmVtO1xuJGhvcml6b250YWwtYmFyLW1vZGU6ICRsYXJnZS1zY3JlZW47IiwiZmllbGRzZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRiYXNlLWJvcmRlci1jb2xvciwgMTAlKTtcbiAgYm9yZGVyOiAkYmFzZS1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRzbWFsbC1zcGFjaW5nO1xuICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nO1xufVxuXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG59XG5cbmxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbi8vICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZyAvIDI7XG5cbiAgJi5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiKlwiO1xuICB9XG5cbiAgYWJiciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jeyRhbGwtdGV4dC1pbnB1dHN9LFxuc2VsZWN0W211bHRpcGxlPW11bHRpcGxlXSxcbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgYm9yZGVyOiAkYmFzZS1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRiYXNlLWJvcmRlci1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICRmb3JtLWJveC1zaGFkb3c7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcgLyAyO1xuICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nIC8gMztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yO1xuICB3aWR0aDogMTAwJTtcblxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYmFzZS1ib3JkZXItY29sb3IsIDEwJSk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRhY3Rpb24tY29sb3I7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tYm94LXNoYWRvdy1mb2N1cztcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4vLyAgZGlzcGxheTogaW5saW5lO1xuLy8gIG1hcmdpbi1yaWdodDogJHNtYWxsLXNwYWNpbmcgLyAyO1xufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIHBhZGRpbmctYm90dG9tOiAkc21hbGwtc3BhY2luZztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmc7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG59XG4iLCJ1bCxcbm9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJiVkZWZhdWx0LXVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkYmFzZS1zcGFjaW5nO1xuICB9XG5cbiAgJiVkZWZhdWx0LW9sIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkYmFzZS1zcGFjaW5nO1xuICB9XG59XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG5cbiAgZHQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi10b3A6ICRzbWFsbC1zcGFjaW5nO1xuICB9XG5cbiAgZGQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwidGFibGUge1xuICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJrZXJuXCIsIFwibGlnYVwiLCBcInRudW1cIik7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIG1hcmdpbjogJHNtYWxsLXNwYWNpbmcgMDtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnRoIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbigkYmFzZS1ib3JkZXItY29sb3IsIDE1JSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6ICRzbWFsbC1zcGFjaW5nIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRkIHtcbiAgYm9yZGVyLWJvdHRvbTogJGJhc2UtYm9yZGVyO1xuICBwYWRkaW5nOiAkc21hbGwtc3BhY2luZyAwO1xufVxuXG50cixcbnRkLFxudGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuIiwiYm9keSB7XG4gICAgY29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDtcbn1cblxuaDEge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xufVxuXG5oMiB7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJG5hdi1mb250LXNpemU7XG4gICAgY29sb3I6ICRuYXZpZ2F0aW9uLWFjdGl2ZS1saW5rLWNvbG9yO1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiAkaDItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgKiAxLjM3NTtcbiAgICBtYXJnaW46IDAgMCBlbSg1KSAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1mb250LXNpemU7XG59XG5cbi5zcGVjaWFsIGgzLCBoMy5zcGVjaWFsIHtcbiAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1kaXN0KjAuNTtcbn1cblxucCB7XG4gICAgbWFyZ2luOiAwIDAgJHNtYWxsLXNwYWNpbmc7XG59XG5cbmEge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyLFxuICAgICYudHJhaWwge1xuICAgICAgICBjb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLFxuICAgICYudHJhaWwge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuc3Bhbi5hY3RpdmUsIHNwYW4udHJhaWwge1xuICAgIGNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbmltZyxcbnBpY3R1cmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG5ociB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBib3JkZXItYm90dG9tOiAxcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBtYXJnaW46IDEwcHggMCAyM3B4IDA7XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gZGVmYXVsdCBzdHlsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5pbnZpc2libGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHhcbn1cblxuLmNlX3RleHQge1xuICAgIC8vaDEge1xuICAgIC8vICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIC8vfVxuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxufVxuXG5oMyB7XG4gICAgZm9udC1mYW1pbHk6ICRoMy1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRoMy1mb250LXNpemU7XG59XG5cbnAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmNlX2ltYWdlLCAuY2VfaHlwZXJsaW5rIHtcbiAgICBmaWd1cmUge1xuICAgICAgICAvL21heC1oZWlnaHQ6IGVtKDUzKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgZW0oOCkgMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cbmltZyB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xufVxuXG4jd3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAkZGVmYXVsdC1kaXN0O1xuICAgIEBpbmNsdWRlIG1lZGlhKCRzcGVjaWFsLXBvaW50KSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4jY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAkbmF2aWdhdGlvbi1oZWlnaHQ7XG4gICAgLmluc2lkZSB7XG4gICAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuICAgIH1cbn1cblxuLmNlX3RleHQsIC5kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtZGlzdDtcbn1cblxuLmltYWdlLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICAuY2VfaW1hZ2UsIC5jZV9oeXBlcmxpbmsge1xuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhhbGYge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgQGluY2x1ZGUgbWVkaWEoJHNtLXNjcmVlbi11cCkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICB9XG59XG5cbi5jZV9oeXBlcmxpbmsge1xuICAgIGEge1xuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgLy9tYXgtd2lkdGg6IDUzMnB4O1xuICAgICAgICB9XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5jYXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLXRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBlbSgzKTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy9tYXgtd2lkdGg6IDUzMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGhvbWUtZm9udC1zaXplO1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogZW0oLTEyKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogZW0oMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcHRpb24sIHNwYW4ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuY2FwdGlvbiwgc3BhbiB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNlX2ltYWdlLCAuY2VfaHlwZXJsaW5rLCAubW9kX3RlYW0sICNoZWFkZXIgLmluc2lkZSwgI2Zvb3RlciAuaW5zaWRlLCAubW9kX3JlZmVyZW5jZV9kZXRhaWwsIC5jZV90ZXh0LCAuZGVzY3JpcHRpb24sIC5jZV9kbGhfZ29vZ2xlbWFwcywgLmNlX2Zvcm0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRvdXRlci1wYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJG91dGVyLXBhZGRpbmc7XG59XG5cbi5oYWxmIHtcbiAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGlzb3RvcGUgc3R5bGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uZ3JpZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtZGlzdDtcbn1cblxuLmdyaWQgLml0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7XG4gICAgbWFyZ2luOiAwIDRweCA4cHg7XG4gICAgJi5yZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIH1cbiAgICAmLmdyZWVuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIH1cbiAgICAmLmJsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICB9XG4gICAgJi55ZWxsb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAwIGVtKDUpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc20tc2NyZWVuLXVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRob21lLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmaWd1cmUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZpZ2NhcHRpb24sIHNwYW4ge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCBlbSg1KTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay10cmFuc3BhcmVudDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRzbS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRob21lLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC04cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogZW0oMik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHNtLXNjcmVlbi11cCkge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogODBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ncmlkIC5pdGVtLXcyIHtcbiAgICB3aWR0aDogNTAlO1xufVxuXG4uaXNvdG9wZSAuaXNvdG9wZS1pdGVtIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuOHM7XG4gICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjhzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuOHM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNjcm9sbCB0byB0b3Agc3R5bGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uc2Nyb2xsLXRvLXRvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiBlbSgxMCk7XG4gICAgcmlnaHQ6IGVtKDEwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIGhlaWdodDogZW0oNDApO1xuICAgIHdpZHRoOiBlbSg0MCk7XG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIH1cbn1cblxuLmFuY2hvciB7XG4gICAgLmNlX3RleHQge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNlX2Rvd25sb2FkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZW0oMzApO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmEuYW5jaG9yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtNjBweDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5hbmNob3ItbWVudSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMS4xNztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBhOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwM0FcIjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMS4xODg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gT3V0cHV0cyBhIG1lZGlhLXF1ZXJ5IGJsb2NrIHdpdGggYW4gb3B0aW9uYWwgZ3JpZCBjb250ZXh0ICh0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZCkuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMsIHdoZXJlIGVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy8gICBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGAkdmFsdWVgIGluIGAkcXVlcnlgLCBgJGRlZmF1bHQtZmVhdHVyZWAgaXMgZ29pbmcgdG8gYmUgdXNlZC5cbi8vL1xuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS5cbi8vL1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKDc2OXB4KSB7XG4vLy8gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDMyMHB4IG1heC13aWR0aCA0ODBweCwgNikge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG5cbkBtaXhpbiBtZWRpYSgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgJG1lZGlhLXF1ZXJ5OiBcInNjcmVlbiBhbmQgXCI7XG4gICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG5cbiAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAkbG9vcC10bykgIWdsb2JhbDtcbiAgICAgICRsb29wLXRvOiAkbG9vcC10byAtIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcbiAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCIoXCIgKyBudGgoJHF1ZXJ5LCAkaSkgKyBcIjogXCIgKyBudGgoJHF1ZXJ5LCAkaSArIDEpICsgXCIpIFwiO1xuXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiYW5kIFwiO1xuICAgICAgfVxuXG4gICAgICAkaTogJGkgKyAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpYS1xdWVyeX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgYSBvdXRlciBjb250YWluZXIgYnkgY2VudHJpbmcgaXQgaW4gdGhlIHZpZXdwb3J0LCBjbGVhcmluZyBpdHMgZmxvYXRzLCBhbmQgc2V0dGluZyBpdHMgYG1heC13aWR0aGAuXG4vLy8gQWx0aG91Z2ggb3B0aW9uYWwsIHVzaW5nIGBvdXRlci1jb250YWluZXJgIGlzIHJlY29tbWVuZGVkLiBUaGUgbWl4aW4gY2FuIGJlIGNhbGxlZCBvbiBtb3JlIHRoYW4gb25lIGVsZW1lbnQgcGVyIHBhZ2UsIGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IG5lc3RlZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIFt1bml0XX0gJGxvY2FsLW1heC13aWR0aCBbJG1heC13aWR0aF1cbi8vLyAgIE1heCB3aWR0aCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50LiBDYW4gYmUgYSBwZXJjZW50YWdlIG9yIGEgbWVhc3VyZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICp6b29tOiAxO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OmJlZm9yZSwgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjb250ZW50OiBcIiBcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICB9XG5cbkBtaXhpbiBvdXRlci1jb250YWluZXIoJGxvY2FsLW1heC13aWR0aDogJG1heC13aWR0aCkge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWF4LXdpZHRoOiAkbG9jYWwtbWF4LXdpZHRoO1xuICBtYXJnaW46IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vdmVuZG9yL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9uZWF0LWhlbHBlcnNcIjsgLy8gb3IgXCIuLi9uZWF0L25lYXQtaGVscGVyc1wiIHdoZW4gbm90IGluIFJhaWxzXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBPdmVycmlkZSBOZWF0J3MgZ3JpZCBzZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8kY29sdW1uOiBnb2xkZW4tcmF0aW8oMWVtLCAzKSAhZGVmYXVsdDsgLy8gQ29sdW1uIHdpZHRoXG4vLyRndXR0ZXI6IGdvbGRlbi1yYXRpbygwLjVlbSwgMSkgIWdsb2JhbDtcbiRjb2x1bW46ICBnb2xkZW4tcmF0aW8oZW0oNzgpLCAxKSAhZ2xvYmFsO1xuJGd1dHRlcjogIGdvbGRlbi1yYXRpbyhlbSg4KSwgMSkgIWdsb2JhbDtcbiRtYXgtd2lkdGg6IGVtKDEwOTApICFnbG9iYWw7XG4kZ3JpZC1jb2x1bW5zOiAxMiAhZ2xvYmFsO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gTmVhdCBCcmVha3BvaW50c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuJHhzLXNjcmVlbjogZW0oNDgwKTtcbiRzbS1zY3JlZW46IGVtKDc4MCk7XG4kbWQtc2NyZWVuOiBlbSg5OTApO1xuJGxnLXNjcmVlbjogZW0oMTIwMCk7XG5cbiR4cy1zY3JlZW4tdXA6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCAkeHMtc2NyZWVuICRncmlkLWNvbHVtbnMpO1xuJHNtLXNjcmVlbi11cDogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoICRzbS1zY3JlZW4gJGdyaWQtY29sdW1ucyk7XG4kbWQtc2NyZWVuLXVwOiBuZXctYnJlYWtwb2ludChtaW4td2lkdGggJG1kLXNjcmVlbiAkZ3JpZC1jb2x1bW5zKTtcbiRsZy1zY3JlZW4tdXA6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCAkbGctc2NyZWVuICRncmlkLWNvbHVtbnMpO1xuJHNwZWNpYWwtcG9pbnQ6bmV3LWJyZWFrcG9pbnQobWluLXdpZHRoICRtYXgtd2lkdGggJGdyaWQtY29sdW1ucyk7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBldmVsb3BtZW50IHNldHRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyR2aXN1YWwtZ3JpZDogeWVzICFnbG9iYWw7XG4kdmlzdWFsLWdyaWQtY29sb3I6ICM1ZmZmZmMgIWdsb2JhbDtcbiR2aXN1YWwtZ3JpZC1vcGFjaXR5OiAwLjQgIWdsb2JhbDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNldCBCb3VyYm9uJ3MgZmxleC1ncmlkIHZhcmlhYmxlcyB0byBtYXRjaCB3aGF0IE5lYXQgaXMgZG9pbmdcbi8vIGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MvI2ZsZXgtZ3JpZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuJGZnLWNvbHVtbjogJGNvbHVtbjtcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gaW5jbHVkZSBhIGNsZWFyZml4IGZvciBjb250YWluaW5nIGZsb2F0cy5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9jc3Ntb2pvLmNvbS9sYXRlc3RfbmV3X2NsZWFyZml4X3NvX2Zhci9cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW4gZWxlbWVudCBzaG91bGQgc3Bhbi4gSWYgdGhlIHNlbGVjdG9yIGlzIG5lc3RlZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgaXRzIHBhcmVudCBlbGVtZW50IHNob3VsZCBiZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQgYXMgd2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNwYW5cbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIGAkY29sdW1uc2AsIHRoZSB1bml0bGVzcyBudW1iZXIgb2YgY29sdW1ucyB0aGUgZWxlbWVudCBzcGFucyAocmVxdWlyZWQpLCBhbmQgYCRjb250YWluZXItY29sdW1uc2AsIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGUgcGFyZW50IGVsZW1lbnQgc3BhbnMgKG9wdGlvbmFsKS5cbi8vL1xuLy8vICAgSWYgb25seSBvbmUgdmFsdWUgaXMgcGFzc2VkLCBpdCBpcyBhc3N1bWVkIHRoYXQgaXQncyBgJGNvbHVtbnNgIGFuZCB0aGF0IHRoYXQgYCRjb250YWluZXItY29sdW1uc2AgaXMgZXF1YWwgdG8gYCRncmlkLWNvbHVtbnNgLCB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4vLy9cbi8vLyAgIFRoZSB2YWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCB3aXRoIGFueSBzdHJpbmcgc3VjaCBhcyBgb2ZgLCBgL2AsIGV0Yy5cbi8vL1xuLy8vICAgYCRjb2x1bW5zYCBhbHNvIGFjY2VwdHMgZGVjaW1hbHMgZm9yIHdoZW4gaXQncyBuZWNlc3NhcnkgdG8gYnJlYWsgb3V0IG9mIHRoZSBzdGFuZGFyZCBncmlkLiBFLmcuIFBhc3NpbmcgYDIuNGAgaW4gYSBzdGFuZGFyZCAxMiBjb2x1bW4gZ3JpZCB3aWxsIGRpdmlkZSB0aGUgcm93IGludG8gNSBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtibG9ja11cbi8vLyAgIFNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuIEJ5IGRlZmF1bHQgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0IG9mIHRoZSBlbGVtZW50IHRvIGBibG9ja2AuXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgYmxvY2stY29sbGFwc2VgLCBpdCBhbHNvIHJlbW92ZXMgdGhlIG1hcmdpbiBndXR0ZXIgYnkgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50IHdpZHRoLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYHRhYmxlYCwgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSB0byBgdGFibGUtY2VsbGAgYW5kIGNhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50IHdpdGhvdXQgdGFraW5nIGd1dHRlcnMgaW50byBjb25zaWRlcmF0aW9uLiBUaGUgcmVzdWx0IGRvZXMgbm90IGFsaWduIHdpdGggdGhlIGJsb2NrLWJhc2VkIGdyaWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vXG4vLy8gICAgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyIG9mIDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgd2lkdGg6IDMwLjExMzg5JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG5cbkBtaXhpbiBzcGFuLWNvbHVtbnMoJHNwYW46ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucywgJGRpc3BsYXk6IGJsb2NrKSB7XG4gICRjb2x1bW5zOiBudGgoJHNwYW4sIDEpO1xuICAkY29udGFpbmVyLWNvbHVtbnM6IGNvbnRhaW5lci1zcGFuKCRzcGFuKTtcblxuICAkcGFyZW50LWNvbHVtbnM6IGdldC1wYXJlbnQtY29sdW1ucygkY29udGFpbmVyLWNvbHVtbnMpICFnbG9iYWw7XG5cbiAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJGRpc3BsYXktdGFibGU6IGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSk7XG5cbiAgQGlmICRkaXNwbGF5LXRhYmxlICB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRjb250YWluZXItY29sdW1ucyk7XG4gIH0gQGVsc2Uge1xuICAgIGZsb2F0OiAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259O1xuXG4gICAgQGlmICRkaXNwbGF5ICE9IG5vLWRpc3BsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJ2NvbGxhcHNlJyBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQuIFVzZSAnYmxvY2stY29sbGFwc2UnIGluc3RlYWQuXCIpO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSBvciAkZGlzcGxheSA9PSBibG9jay1jb2xsYXBzZSB7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpICsgZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIH1cblxuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFJlbW92ZXMgdGhlIGVsZW1lbnQncyBndXR0ZXIgbWFyZ2luLCByZWdhcmRsZXNzIG9mIGl0cyBwb3NpdGlvbiBpbiB0aGUgZ3JpZCBoaWVyYXJjaHkgb3IgZGlzcGxheSBwcm9wZXJ0eS4gSXQgY2FuIHRhcmdldCBhIHNwZWNpZmljIGVsZW1lbnQsIG9yIGV2ZXJ5IGBudGgtY2hpbGRgIG9jY3VycmVuY2UuIFdvcmtzIG9ubHkgd2l0aCBgYmxvY2tgIGxheW91dHMuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeSBbYmxvY2tdXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50cy4gU3VwcG9ydGVkIGFyZ3VtZW50cyBhcmUgYG50aC1jaGlsZGAgc2VsZWN0b3JzICh0YXJnZXRzIGEgc3BlY2lmaWMgcHNldWRvIGVsZW1lbnQpIGFuZCBgYXV0b2AgKHRhcmdldHMgYGxhc3QtY2hpbGRgKS5cbi8vL1xuLy8vICAgV2hlbiBwYXNzZWQgYW4gYG50aC1jaGlsZGAgYXJndW1lbnQgb2YgdHlwZSBgKm5gIHdpdGggYGJsb2NrYCBkaXNwbGF5LCB0aGUgb21lZ2EgbWl4aW4gYXV0b21hdGljYWxseSBhZGRzIGEgY2xlYXIgdG8gdGhlIGAqbisxYCB0aCBlbGVtZW50LiBOb3RlIHRoYXQgY29tcG9zaXRlIGFyZ3VtZW50cyBzdWNoIGFzIGAybisxYCBkbyBub3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUuXG4vLy9cbi8vLyAgICoqRGVwcmVjYXRpb24gd2FybmluZyoqOiBUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhIGAkZGlyZWN0aW9uYCBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgYHJvdygkZGlyZWN0aW9uKWAgb3Igc2V0IGAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uYCBpbnN0ZWFkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYSg0bik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bikge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4rMSkge1xuLy8vICAgICBjbGVhcjogbGVmdDtcbi8vLyAgIH1cblxuQG1peGluIG9tZWdhKCRxdWVyeTogYmxvY2ssICRkaXJlY3Rpb246IGRlZmF1bHQpIHtcbiAgJHRhYmxlOiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpO1xuICAkYXV0bzogYmVsb25ncy10byhhdXRvLCAkcXVlcnkpO1xuXG4gIEBpZiAkZGlyZWN0aW9uICE9IGRlZmF1bHQge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhICRkaXJlY3Rpb24gYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIHRoZSBkaXJlY3Rpb24oKXsuLi59IG1peGluLlwiKTtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gIH1cblxuICBAaWYgJHRhYmxlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIG5vIGxvbmdlciByZW1vdmVzIHBhZGRpbmcgaW4gdGFibGUgbGF5b3V0cy5cIik7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSBhbmQgJHRhYmxlID09IGZhbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQobnRoKCRxdWVyeSwgMSksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRvbyBtYW55IGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIG9tZWdhKCkgbWl4aW4uXCIpO1xuICB9XG59XG5cbkBtaXhpbiBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKSB7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJjpudGgtY2hpbGQoI3skcXVlcnl9KSB7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkcXVlcnkpID09IG51bWJlciBhbmQgdW5pdCgkcXVlcnkpID09IFwiblwiIHtcbiAgICAmOm50aC1jaGlsZCgjeyRxdWVyeX0rMSkge1xuICAgICAgY2xlYXI6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG4gICAgfVxuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gdGVhbVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLm1vZF90ZWFtIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgIC5tZW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDMwKTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHhzLXNjcmVlbi11cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoMm4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRzbS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDNuKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbiAgICAgICAgfVxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGVtKDE1KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgJi5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGhvbWUtZm9udC1zaXplKjAuNztcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRzbS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRob21lLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmdyYWR1YXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUqMC43NTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vQGluY2x1ZGUgbWVkaWEoJHNtLXNjcmVlbi11cCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUvNCozO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy99XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyByZWZlcmVuY2UgZGV0YWlsXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4ubW9kX3JlZmVyZW5jZV9kZXRhaWwge1xuICAgIC5yZWZfZ2FsbGVyeSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LWRpc3Q7XG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCBlbSg4KSAwO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmxhbmRzY2FwZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgICB9XG4gICAgICAgIC5jdWJlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgICAgICYuc2Vjb25kIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNsb3NlLXJlZiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGVtKDQwKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGVtKDEwMyk7XG4gICAgICAgIHdpZHRoOiBlbSg0MCk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkeHMtc2NyZWVuLXVwKSB7XG4gICAgICAgICAgICByaWdodDogZW0oNSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHNtLXNjcmVlbi11cCkge1xuICAgICAgICAgICAgcmlnaHQ6IGVtKDEwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbWQtc2NyZWVuLXVwKSB7XG4gICAgICAgICAgICByaWdodDogZW0oMCk7XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByZS1yZWYsIC5uZXh0LXJlZiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBlbSgxNzApO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR4cy1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgIHRvcDogZW0oMTkwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc20tc2NyZWVuLXVwKSB7XG4gICAgICAgICAgICB0b3A6IGVtKDI1MCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1kLXNjcmVlbi11cCkge1xuICAgICAgICAgICAgdG9wOiBlbSgzMDApO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsZy1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgIHRvcDogZW0oMzUwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJlLXJlZiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR4cy1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgIGxlZnQ6IGVtKDUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRzbS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgIGxlZnQ6IGVtKDEwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbWQtc2NyZWVuLXVwKSB7XG4gICAgICAgICAgICBsZWZ0OiBlbSgwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubmV4dC1yZWYge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHhzLXNjcmVlbi11cCkge1xuICAgICAgICAgICAgcmlnaHQ6IGVtKDUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRzbS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgIHJpZ2h0OiBlbSgxMCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1kLXNjcmVlbi11cCkge1xuICAgICAgICAgICAgcmlnaHQ6IGVtKDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcmUtcmVmLCAubmV4dC1yZWYsIC5jbG9zZS1yZWYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGtvbnRha3Rcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uY29udGFjdCB7XG4gICAgLmNlX2ltYWdlIHtcbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNlX2RsaF9nb29nbGVtYXBzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtZGlzdDtcbiAgICB9XG4gICAgLmNlX2Zvcm0ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc20tc2NyZWVuLXVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtZGlzdDtcbiAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGVmYXVsdC1kaXN0LzI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICB9XG4gICAgICAgIC53aWRnZXQge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDBweCBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1kaXN0LzI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLndpZGdldC1jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkZGVmYXVsdC1kaXN0IDAgJGRlZmF1bHQtZGlzdC8zKjIgMDtcbiAgICAgICAgICAgICAgICBmaWVsZHNldCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDBweCBub25lO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGVtKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBlbSgzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZGVmYXVsdC1kaXN0LzI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lLCBzZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEt1bmRlbnp1ZnJpZWRlbmhlaXQgRm9ybVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5rdW5kZW56dWZyaWVkZW5oZWl0Rm9ybSB7XG4gICAgZmllbGRzZXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAud2lkZ2V0LWV4cGxhbmF0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LWRpc3QvMjtcbiAgICAgICAgfVxuICAgICAgICAud2lkZ2V0LXRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRzbS1zY3JlZW4tdXApe1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLndpZGdldC1yYWRpbyB7XG4gICAgICAgICAgICBmaWVsZHNldCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGVnZW5kIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc20tc2NyZWVuLXVwKXtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc20tc2NyZWVuLXVwKXtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDpiZWZvcmUsIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzEnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDpiZWZvcmUsIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzInO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDpiZWZvcmUsIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzMnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoNCkge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDpiZWZvcmUsIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzQnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoNSkge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDpiZWZvcmUsIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzUnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoNikge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDpiZWZvcmUsIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzYnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGVtKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogZW0oMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGRlZmF1bHQtZGlzdC8yO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBib3JkZXI6IDBweCBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jYWt0dWVsbCB7XG4gICAgLmNlX3RleHQgaDIge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBmb250LXNpemU6IDAuODNlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgIH1cbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE9tZWdhIFJlc2V0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG9tZWdhLXJlc2V0KCRudGgpIHtcbiAgICAmOm50aC1jaGlsZCgjeyRudGh9KSB7IG1hcmdpbi1yaWdodDogZmxleC1ndXR0ZXIoKTsgfVxuICAgICY6bnRoLWNoaWxkKCN7JG50aH0rMSkgeyBjbGVhcjogbm9uZSB9XG59IiwiI2hlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmlnYXRpb24tYmFja2dyb3VuZDtcbi8vICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJG5hdmlnYXRpb24tYmFja2dyb3VuZCwgMTApO1xuICAgIG1pbi1oZWlnaHQ6ICRuYXZpZ2F0aW9uLWhlaWdodDtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcblxuICAgIC5pbnNpZGUge1xuICAgICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb24td3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICAgIGhlaWdodDogMTAzcHg7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1KTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IGVtKDE1KSAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDNweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGVtKDY0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtZC1zY3JlZW4tdXApe1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc3BlY2lhbC1wb2ludCl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTW9iaWxlIHZpZXdcblxuICAgIC5uYXZpZ2F0aW9uLW1lbnUtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uLWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbmF2aWdhdGlvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogMDtcbi8vICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJGhvcml6b250YWwtYmFyLW1vZGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbi1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5hdiBtZW51XG5cbiAgICBuYXYge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWluLWhlaWdodDogJG5hdmlnYXRpb24taGVpZ2h0O1xuICAgICAgICB6LWluZGV4OiA5OTk5OTk5O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhICgkaG9yaXpvbnRhbC1iYXItbW9kZSkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bC5uYXZpZ2F0aW9uLW1lbnUge1xuICAgICAgICAvLy13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgLy8gc3RvcCB3ZWJraXQgZmxpY2tlclxuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogOTk5OTtcblxuICAgICAgICAmLnNob3cge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJGhvcml6b250YWwtYmFyLW1vZGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGUgbmF2IGl0ZW1zXG5cbiAgICB1bCBsaS5uYXYtbGluayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuYXZpZ2F0aW9uLWJhY2tncm91bmQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgICAgIGxpbmUtaGVpZ2h0OiAkbmF2aWdhdGlvbi1oZWlnaHQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLyAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjhlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCRob3Jpem9udGFsLWJhci1tb2RlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbmF2aWdhdGlvbi1oZWlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbmF2LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhICgkaG9yaXpvbnRhbC1iYXItbW9kZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbmF2LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbi1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3RpdmUtbmF2LWl0ZW0gYSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2aWdhdGlvbi1hY3RpdmUtbGluay1jb2xvcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICB9XG5cbiAgICAvLyBTdWIgbWVudXNcblxuICAgIGxpLm1vcmUubmF2LWxpbmsge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRob3Jpem9udGFsLWJhci1tb2RlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2aWdhdGlvbi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJG5hdmlnYXRpb24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNmVtO1xuICAgICAgICB9XG5cbi8vICAgICAgICA+IGE6YWZ0ZXIge1xuLy8gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgYXV0byAtMC40ZW0gYXV0byBhdXRvKTtcbi8vICAgICAgICAgICAgY29udGVudDogJ1xcMjVCRSc7XG4vLyAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbi1jb2xvcjtcbi8vICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkubW9yZSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC44ZW07XG4gICAgICAgIH1cblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS42ZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRob3Jpem9udGFsLWJhci1tb2RlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbmF2aWdhdGlvbi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICAgICAgICB9XG5cbi8vICAgICAgICAgICAgJjphZnRlciB7XG4vLyAgICAgICAgICAgICAgICBjb250ZW50OiAn4oC6Jztcbi8vICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4vLyAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgICAgICAgICAgICByaWdodDogJG5hdmlnYXRpb24tc3VibWVudS1wYWRkaW5nIC8gMjtcbi8vICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyA+IC5zdWJtZW51LFxuICAgICAgICAmOmhvdmVyID4gLnN1Ym1lbnUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkaG9yaXpvbnRhbC1iYXItbW9kZSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC44ZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bC5zdWJtZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2aWdhdGlvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB3ZWJraXQtYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwwLDAsMC4yNSk7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwwLDAsMC4yNSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IDBweCByZ2JhKDAsMCwwLDAuMjUpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRob3Jpem9udGFsLWJhci1tb2RlKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGVtKDMwKTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4vLyAgICAgICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LWRpc3QvNSAwIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRob3Jpem9udGFsLWJhci1tb2RlKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogJG5hdmlnYXRpb24tc3VibWVudS13aWR0aCAtIDAuMmVtO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGhvcml6b250YWwtYmFyLW1vZGUpIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMzApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHN1Ym5hdmlnYXRpb24tY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdmlnYXRpb24tYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC40ZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IGVtKDUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBlbSg1KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRob3Jpem9udGFsLWJhci1tb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXZpZ2F0aW9uLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmlnYXRpb24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJG5hdmlnYXRpb24tc3VibWVudS13aWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bCBsaS5hY3RpdmU+YSB7XG4gICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbi1hY3RpdmUtbGluay1jb2xvcjtcbiAgICB9XG59IiwiI2Zvb3RlciB7XG4gICAgbWFyZ2luOiAkZGVmYXVsdC1kaXN0IDA7XG4gICAgLmluc2lkZSB7XG4gICAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuXG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShuKzMpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1kaXN0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHNtLXNjcmVlbi11cCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDJuKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZShuKzMpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjanMtbW9iaWxlLW1lbnUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCBlbSg1KSAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZGlzY2xhaW1lci1vbmx5IHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== */
